kynjal-cli 4.0.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (502) hide show
  1. package/dist/src/appliance/gguf-engine.d.ts +91 -0
  2. package/dist/src/appliance/gguf-engine.d.ts.map +1 -0
  3. package/dist/src/appliance/gguf-engine.js +286 -525
  4. package/dist/src/appliance/gguf-engine.js.map +1 -1
  5. package/dist/src/appliance/ruvllm-bridge.d.ts +102 -0
  6. package/dist/src/appliance/ruvllm-bridge.d.ts.map +1 -0
  7. package/dist/src/appliance/ruvllm-bridge.js +203 -403
  8. package/dist/src/appliance/ruvllm-bridge.js.map +1 -1
  9. package/dist/src/appliance/rvfa-builder.d.ts +44 -0
  10. package/dist/src/appliance/rvfa-builder.d.ts.map +1 -0
  11. package/dist/src/appliance/rvfa-builder.js +154 -208
  12. package/dist/src/appliance/rvfa-builder.js.map +1 -1
  13. package/dist/src/appliance/rvfa-distribution.d.ts +97 -0
  14. package/dist/src/appliance/rvfa-distribution.d.ts.map +1 -0
  15. package/dist/src/appliance/rvfa-distribution.js +260 -423
  16. package/dist/src/appliance/rvfa-distribution.js.map +1 -1
  17. package/dist/src/appliance/rvfa-format.d.ts +111 -0
  18. package/dist/src/appliance/rvfa-format.d.ts.map +1 -0
  19. package/dist/src/appliance/rvfa-format.js +128 -200
  20. package/dist/src/appliance/rvfa-format.js.map +1 -1
  21. package/dist/src/appliance/rvfa-runner.d.ts +69 -0
  22. package/dist/src/appliance/rvfa-runner.d.ts.map +1 -0
  23. package/dist/src/appliance/rvfa-runner.js +168 -304
  24. package/dist/src/appliance/rvfa-runner.js.map +1 -1
  25. package/dist/src/appliance/rvfa-signing.d.ts +123 -0
  26. package/dist/src/appliance/rvfa-signing.d.ts.map +1 -0
  27. package/dist/src/appliance/rvfa-signing.js +173 -295
  28. package/dist/src/appliance/rvfa-signing.js.map +1 -1
  29. package/dist/src/benchmarks/pretrain/index.d.ts +58 -0
  30. package/dist/src/benchmarks/pretrain/index.d.ts.map +1 -0
  31. package/dist/src/benchmarks/pretrain/index.js +331 -542
  32. package/dist/src/benchmarks/pretrain/index.js.map +1 -1
  33. package/dist/src/commands/agent.js +574 -697
  34. package/dist/src/commands/agent.js.map +1 -1
  35. package/dist/src/commands/analyze.js +1218 -1548
  36. package/dist/src/commands/analyze.js.map +1 -1
  37. package/dist/src/commands/appliance-advanced.js +158 -267
  38. package/dist/src/commands/appliance-advanced.js.map +1 -1
  39. package/dist/src/commands/appliance.js +318 -493
  40. package/dist/src/commands/appliance.js.map +1 -1
  41. package/dist/src/commands/benchmark.js +372 -523
  42. package/dist/src/commands/benchmark.js.map +1 -1
  43. package/dist/src/commands/claims.js +274 -364
  44. package/dist/src/commands/claims.js.map +1 -1
  45. package/dist/src/commands/cleanup.js +113 -157
  46. package/dist/src/commands/cleanup.js.map +1 -1
  47. package/dist/src/commands/completions.js +477 -118
  48. package/dist/src/commands/completions.js.map +1 -1
  49. package/dist/src/commands/config.js +237 -303
  50. package/dist/src/commands/config.js.map +1 -1
  51. package/dist/src/commands/daemon.js +487 -596
  52. package/dist/src/commands/daemon.js.map +1 -1
  53. package/dist/src/commands/deployment.js +194 -275
  54. package/dist/src/commands/deployment.js.map +1 -1
  55. package/dist/src/commands/doctor.js +504 -686
  56. package/dist/src/commands/doctor.js.map +1 -1
  57. package/dist/src/commands/embeddings.js +1293 -1543
  58. package/dist/src/commands/embeddings.js.map +1 -1
  59. package/dist/src/commands/guidance.js +449 -596
  60. package/dist/src/commands/guidance.js.map +1 -1
  61. package/dist/src/commands/hive-mind.js +854 -938
  62. package/dist/src/commands/hive-mind.js.map +1 -1
  63. package/dist/src/commands/hooks.js +3112 -3519
  64. package/dist/src/commands/hooks.js.map +1 -1
  65. package/dist/src/commands/index.d.ts +115 -0
  66. package/dist/src/commands/index.d.ts.map +1 -0
  67. package/dist/src/commands/index.js +126 -308
  68. package/dist/src/commands/index.js.map +1 -1
  69. package/dist/src/commands/init.js +788 -940
  70. package/dist/src/commands/init.js.map +1 -1
  71. package/dist/src/commands/issues.js +383 -558
  72. package/dist/src/commands/issues.js.map +1 -1
  73. package/dist/src/commands/mcp.js +493 -605
  74. package/dist/src/commands/mcp.js.map +1 -1
  75. package/dist/src/commands/memory.js +833 -1026
  76. package/dist/src/commands/memory.js.map +1 -1
  77. package/dist/src/commands/migrate.js +282 -347
  78. package/dist/src/commands/migrate.js.map +1 -1
  79. package/dist/src/commands/neural.js +1289 -1563
  80. package/dist/src/commands/neural.js.map +1 -1
  81. package/dist/src/commands/performance.js +497 -643
  82. package/dist/src/commands/performance.js.map +1 -1
  83. package/dist/src/commands/plugins.js +668 -841
  84. package/dist/src/commands/plugins.js.map +1 -1
  85. package/dist/src/commands/process.js +392 -447
  86. package/dist/src/commands/process.js.map +1 -1
  87. package/dist/src/commands/progress.js +162 -256
  88. package/dist/src/commands/progress.js.map +1 -1
  89. package/dist/src/commands/providers.js +150 -220
  90. package/dist/src/commands/providers.js.map +1 -1
  91. package/dist/src/commands/route.js +520 -665
  92. package/dist/src/commands/route.js.map +1 -1
  93. package/dist/src/commands/ruvector/backup.js +505 -651
  94. package/dist/src/commands/ruvector/backup.js.map +1 -1
  95. package/dist/src/commands/ruvector/benchmark.js +349 -401
  96. package/dist/src/commands/ruvector/benchmark.js.map +1 -1
  97. package/dist/src/commands/ruvector/import.js +224 -266
  98. package/dist/src/commands/ruvector/import.js.map +1 -1
  99. package/dist/src/commands/ruvector/index.js +37 -75
  100. package/dist/src/commands/ruvector/index.js.map +1 -1
  101. package/dist/src/commands/ruvector/init.js +336 -359
  102. package/dist/src/commands/ruvector/init.js.map +1 -1
  103. package/dist/src/commands/ruvector/migrate.js +335 -322
  104. package/dist/src/commands/ruvector/migrate.js.map +1 -1
  105. package/dist/src/commands/ruvector/optimize.js +375 -431
  106. package/dist/src/commands/ruvector/optimize.js.map +1 -1
  107. package/dist/src/commands/ruvector/setup.js +703 -117
  108. package/dist/src/commands/ruvector/setup.js.map +1 -1
  109. package/dist/src/commands/ruvector/status.js +364 -419
  110. package/dist/src/commands/ruvector/status.js.map +1 -1
  111. package/dist/src/commands/security.js +485 -608
  112. package/dist/src/commands/security.js.map +1 -1
  113. package/dist/src/commands/session.js +504 -626
  114. package/dist/src/commands/session.js.map +1 -1
  115. package/dist/src/commands/start.js +267 -364
  116. package/dist/src/commands/start.js.map +1 -1
  117. package/dist/src/commands/status.js +380 -486
  118. package/dist/src/commands/status.js.map +1 -1
  119. package/dist/src/commands/swarm.js +408 -488
  120. package/dist/src/commands/swarm.js.map +1 -1
  121. package/dist/src/commands/task.js +423 -538
  122. package/dist/src/commands/task.js.map +1 -1
  123. package/dist/src/commands/transfer-store.js +322 -412
  124. package/dist/src/commands/transfer-store.js.map +1 -1
  125. package/dist/src/commands/update.js +196 -291
  126. package/dist/src/commands/update.js.map +1 -1
  127. package/dist/src/commands/workflow.js +386 -486
  128. package/dist/src/commands/workflow.js.map +1 -1
  129. package/dist/src/config-adapter.d.ts +15 -0
  130. package/dist/src/config-adapter.d.ts.map +1 -0
  131. package/dist/src/config-adapter.js +38 -39
  132. package/dist/src/config-adapter.js.map +1 -1
  133. package/dist/src/index.d.ts +77 -0
  134. package/dist/src/index.d.ts.map +1 -0
  135. package/dist/src/index.js +309 -411
  136. package/dist/src/index.js.map +1 -1
  137. package/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
  138. package/dist/src/infrastructure/in-memory-repositories.d.ts.map +1 -0
  139. package/dist/src/infrastructure/in-memory-repositories.js +246 -507
  140. package/dist/src/infrastructure/in-memory-repositories.js.map +1 -1
  141. package/dist/src/init/claudemd-generator.d.ts +25 -0
  142. package/dist/src/init/claudemd-generator.d.ts.map +1 -0
  143. package/dist/src/init/claudemd-generator.js +368 -78
  144. package/dist/src/init/claudemd-generator.js.map +1 -1
  145. package/dist/src/init/executor.d.ts +41 -0
  146. package/dist/src/init/executor.d.ts.map +1 -0
  147. package/dist/src/init/executor.js +1307 -996
  148. package/dist/src/init/executor.js.map +1 -1
  149. package/dist/src/init/helpers-generator.d.ts +60 -0
  150. package/dist/src/init/helpers-generator.d.ts.map +1 -0
  151. package/dist/src/init/helpers-generator.js +657 -12
  152. package/dist/src/init/helpers-generator.js.map +1 -1
  153. package/dist/src/init/index.d.ts +1 -1
  154. package/dist/src/init/index.d.ts.map +1 -1
  155. package/dist/src/init/index.js +1 -1
  156. package/dist/src/init/index.js.map +1 -1
  157. package/dist/src/init/mcp-generator.js +33 -37
  158. package/dist/src/init/mcp-generator.js.map +1 -1
  159. package/dist/src/init/settings-generator.js +76 -77
  160. package/dist/src/init/settings-generator.js.map +1 -1
  161. package/dist/src/init/statusline-generator.js +801 -3
  162. package/dist/src/init/statusline-generator.js.map +1 -1
  163. package/dist/src/init/types.d.ts +1 -1
  164. package/dist/src/init/types.d.ts.map +1 -1
  165. package/dist/src/init/types.js +76 -59
  166. package/dist/src/init/types.js.map +1 -1
  167. package/dist/src/mcp-client.d.ts +92 -0
  168. package/dist/src/mcp-client.d.ts.map +1 -0
  169. package/dist/src/mcp-client.js +81 -125
  170. package/dist/src/mcp-client.js.map +1 -1
  171. package/dist/src/mcp-server.d.ts +161 -0
  172. package/dist/src/mcp-server.d.ts.map +1 -0
  173. package/dist/src/mcp-server.js +470 -757
  174. package/dist/src/mcp-server.js.map +1 -1
  175. package/dist/src/mcp-tools/agent-tools.js +391 -492
  176. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  177. package/dist/src/mcp-tools/agentdb-tools.js +332 -533
  178. package/dist/src/mcp-tools/agentdb-tools.js.map +1 -1
  179. package/dist/src/mcp-tools/analyze-tools.js +172 -236
  180. package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
  181. package/dist/src/mcp-tools/auto-install.d.ts +83 -0
  182. package/dist/src/mcp-tools/auto-install.d.ts.map +1 -0
  183. package/dist/src/mcp-tools/auto-install.js +80 -142
  184. package/dist/src/mcp-tools/auto-install.js.map +1 -1
  185. package/dist/src/mcp-tools/browser-tools.js +252 -375
  186. package/dist/src/mcp-tools/browser-tools.js.map +1 -1
  187. package/dist/src/mcp-tools/claims-tools.js +473 -565
  188. package/dist/src/mcp-tools/claims-tools.js.map +1 -1
  189. package/dist/src/mcp-tools/config-tools.js +197 -272
  190. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  191. package/dist/src/mcp-tools/coordination-tools.js +500 -572
  192. package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
  193. package/dist/src/mcp-tools/daa-tools.js +286 -364
  194. package/dist/src/mcp-tools/daa-tools.js.map +1 -1
  195. package/dist/src/mcp-tools/embeddings-tools.js +582 -693
  196. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  197. package/dist/src/mcp-tools/github-tools.js +260 -311
  198. package/dist/src/mcp-tools/github-tools.js.map +1 -1
  199. package/dist/src/mcp-tools/hive-mind-tools.js +573 -640
  200. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
  201. package/dist/src/mcp-tools/hooks-tools.js +2215 -2648
  202. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  203. package/dist/src/mcp-tools/memory-tools.js +350 -505
  204. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  205. package/dist/src/mcp-tools/neural-tools.js +315 -412
  206. package/dist/src/mcp-tools/neural-tools.js.map +1 -1
  207. package/dist/src/mcp-tools/performance-tools.js +420 -480
  208. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  209. package/dist/src/mcp-tools/progress-tools.js +204 -278
  210. package/dist/src/mcp-tools/progress-tools.js.map +1 -1
  211. package/dist/src/mcp-tools/ruvllm-tools.js +163 -279
  212. package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -1
  213. package/dist/src/mcp-tools/security-tools.js +297 -429
  214. package/dist/src/mcp-tools/security-tools.js.map +1 -1
  215. package/dist/src/mcp-tools/session-tools.js +185 -234
  216. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  217. package/dist/src/mcp-tools/swarm-tools.js +207 -260
  218. package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
  219. package/dist/src/mcp-tools/system-tools.js +276 -325
  220. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  221. package/dist/src/mcp-tools/task-tools.js +270 -336
  222. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  223. package/dist/src/mcp-tools/terminal-tools.js +148 -196
  224. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  225. package/dist/src/mcp-tools/transfer-tools.js +186 -333
  226. package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
  227. package/dist/src/mcp-tools/types.d.ts +31 -0
  228. package/dist/src/mcp-tools/types.d.ts.map +1 -0
  229. package/dist/src/mcp-tools/wasm-agent-tools.js +133 -280
  230. package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -1
  231. package/dist/src/mcp-tools/workflow-tools.js +405 -450
  232. package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
  233. package/dist/src/memory/ewc-consolidation.d.ts +295 -0
  234. package/dist/src/memory/ewc-consolidation.d.ts.map +1 -0
  235. package/dist/src/memory/ewc-consolidation.js +190 -303
  236. package/dist/src/memory/ewc-consolidation.js.map +1 -1
  237. package/dist/src/memory/intelligence.d.ts +338 -0
  238. package/dist/src/memory/intelligence.d.ts.map +1 -0
  239. package/dist/src/memory/intelligence.js +569 -794
  240. package/dist/src/memory/intelligence.js.map +1 -1
  241. package/dist/src/memory/memory-bridge.d.ts +407 -0
  242. package/dist/src/memory/memory-bridge.d.ts.map +1 -0
  243. package/dist/src/memory/memory-bridge.js +1170 -1640
  244. package/dist/src/memory/memory-bridge.js.map +1 -1
  245. package/dist/src/memory/memory-initializer.d.ts +412 -0
  246. package/dist/src/memory/memory-initializer.d.ts.map +1 -0
  247. package/dist/src/memory/memory-initializer.js +1836 -1851
  248. package/dist/src/memory/memory-initializer.js.map +1 -1
  249. package/dist/src/memory/sona-optimizer.d.ts +227 -0
  250. package/dist/src/memory/sona-optimizer.d.ts.map +1 -0
  251. package/dist/src/memory/sona-optimizer.js +199 -329
  252. package/dist/src/memory/sona-optimizer.js.map +1 -1
  253. package/dist/src/output.d.ts +2 -2
  254. package/dist/src/output.d.ts.map +1 -1
  255. package/dist/src/output.js +242 -272
  256. package/dist/src/output.js.map +1 -1
  257. package/dist/src/parser.d.ts +51 -0
  258. package/dist/src/parser.d.ts.map +1 -0
  259. package/dist/src/parser.js +140 -187
  260. package/dist/src/parser.js.map +1 -1
  261. package/dist/src/plugins/manager.d.ts +133 -0
  262. package/dist/src/plugins/manager.d.ts.map +1 -0
  263. package/dist/src/plugins/manager.js +285 -521
  264. package/dist/src/plugins/manager.js.map +1 -1
  265. package/dist/src/plugins/store/discovery.d.ts +88 -0
  266. package/dist/src/plugins/store/discovery.d.ts.map +1 -0
  267. package/dist/src/plugins/store/discovery.js +271 -358
  268. package/dist/src/plugins/store/discovery.js.map +1 -1
  269. package/dist/src/plugins/store/index.d.ts +76 -0
  270. package/dist/src/plugins/store/index.d.ts.map +1 -0
  271. package/dist/src/plugins/store/index.js +48 -105
  272. package/dist/src/plugins/store/index.js.map +1 -1
  273. package/dist/src/plugins/store/search.d.ts +46 -0
  274. package/dist/src/plugins/store/search.d.ts.map +1 -0
  275. package/dist/src/plugins/store/search.js +69 -107
  276. package/dist/src/plugins/store/search.js.map +1 -1
  277. package/dist/src/plugins/store/types.d.ts +274 -0
  278. package/dist/src/plugins/store/types.d.ts.map +1 -0
  279. package/dist/src/plugins/tests/demo-plugin-store.js +113 -160
  280. package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -1
  281. package/dist/src/plugins/tests/standalone-test.js +172 -223
  282. package/dist/src/plugins/tests/standalone-test.js.map +1 -1
  283. package/dist/src/plugins/tests/test-plugin-store.js +190 -228
  284. package/dist/src/plugins/tests/test-plugin-store.js.map +1 -1
  285. package/dist/src/production/circuit-breaker.d.ts +101 -0
  286. package/dist/src/production/circuit-breaker.d.ts.map +1 -0
  287. package/dist/src/production/circuit-breaker.js +62 -126
  288. package/dist/src/production/circuit-breaker.js.map +1 -1
  289. package/dist/src/production/error-handler.d.ts +92 -0
  290. package/dist/src/production/error-handler.d.ts.map +1 -0
  291. package/dist/src/production/error-handler.js +86 -156
  292. package/dist/src/production/error-handler.js.map +1 -1
  293. package/dist/src/production/monitoring.d.ts +161 -0
  294. package/dist/src/production/monitoring.d.ts.map +1 -0
  295. package/dist/src/production/monitoring.js +139 -220
  296. package/dist/src/production/monitoring.js.map +1 -1
  297. package/dist/src/production/rate-limiter.d.ts +80 -0
  298. package/dist/src/production/rate-limiter.d.ts.map +1 -0
  299. package/dist/src/production/rate-limiter.js +74 -93
  300. package/dist/src/production/rate-limiter.js.map +1 -1
  301. package/dist/src/production/retry.d.ts +48 -0
  302. package/dist/src/production/retry.d.ts.map +1 -0
  303. package/dist/src/production/retry.js +75 -167
  304. package/dist/src/production/retry.js.map +1 -1
  305. package/dist/src/prompt.d.ts +44 -0
  306. package/dist/src/prompt.d.ts.map +1 -0
  307. package/dist/src/prompt.js +436 -560
  308. package/dist/src/prompt.js.map +1 -1
  309. package/dist/src/runtime/headless.d.ts +60 -0
  310. package/dist/src/runtime/headless.d.ts.map +1 -0
  311. package/dist/src/runtime/headless.js +197 -286
  312. package/dist/src/runtime/headless.js.map +1 -1
  313. package/dist/src/ruvector/agent-wasm.d.ts +182 -0
  314. package/dist/src/ruvector/agent-wasm.d.ts.map +1 -0
  315. package/dist/src/ruvector/agent-wasm.js +156 -351
  316. package/dist/src/ruvector/agent-wasm.js.map +1 -1
  317. package/dist/src/ruvector/ast-analyzer.d.ts +67 -0
  318. package/dist/src/ruvector/ast-analyzer.d.ts.map +1 -0
  319. package/dist/src/ruvector/ast-analyzer.js +145 -232
  320. package/dist/src/ruvector/ast-analyzer.js.map +1 -1
  321. package/dist/src/ruvector/coverage-router.d.ts +160 -0
  322. package/dist/src/ruvector/coverage-router.d.ts.map +1 -0
  323. package/dist/src/ruvector/coverage-router.js +287 -419
  324. package/dist/src/ruvector/coverage-router.js.map +1 -1
  325. package/dist/src/ruvector/coverage-tools.js +56 -101
  326. package/dist/src/ruvector/coverage-tools.js.map +1 -1
  327. package/dist/src/ruvector/diff-classifier.d.ts +175 -0
  328. package/dist/src/ruvector/diff-classifier.d.ts.map +1 -0
  329. package/dist/src/ruvector/diff-classifier.js +324 -451
  330. package/dist/src/ruvector/diff-classifier.js.map +1 -1
  331. package/dist/src/ruvector/enhanced-model-router.d.ts +146 -0
  332. package/dist/src/ruvector/enhanced-model-router.d.ts.map +1 -0
  333. package/dist/src/ruvector/enhanced-model-router.js +260 -336
  334. package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
  335. package/dist/src/ruvector/flash-attention.d.ts +195 -0
  336. package/dist/src/ruvector/flash-attention.d.ts.map +1 -0
  337. package/dist/src/ruvector/flash-attention.js +223 -254
  338. package/dist/src/ruvector/flash-attention.js.map +1 -1
  339. package/dist/src/ruvector/graph-analyzer.d.ts +187 -0
  340. package/dist/src/ruvector/graph-analyzer.d.ts.map +1 -0
  341. package/dist/src/ruvector/graph-analyzer.js +486 -680
  342. package/dist/src/ruvector/graph-analyzer.js.map +1 -1
  343. package/dist/src/ruvector/index.d.ts +40 -0
  344. package/dist/src/ruvector/index.d.ts.map +1 -0
  345. package/dist/src/ruvector/index.js +36 -106
  346. package/dist/src/ruvector/index.js.map +1 -1
  347. package/dist/src/ruvector/lora-adapter.d.ts +218 -0
  348. package/dist/src/ruvector/lora-adapter.d.ts.map +1 -0
  349. package/dist/src/ruvector/lora-adapter.js +155 -248
  350. package/dist/src/ruvector/lora-adapter.js.map +1 -1
  351. package/dist/src/ruvector/model-router.d.ts +220 -0
  352. package/dist/src/ruvector/model-router.d.ts.map +1 -0
  353. package/dist/src/ruvector/model-router.js +175 -248
  354. package/dist/src/ruvector/model-router.js.map +1 -1
  355. package/dist/src/ruvector/moe-router.d.ts +206 -0
  356. package/dist/src/ruvector/moe-router.d.ts.map +1 -0
  357. package/dist/src/ruvector/moe-router.js +228 -286
  358. package/dist/src/ruvector/moe-router.js.map +1 -1
  359. package/dist/src/ruvector/q-learning-router.d.ts +211 -0
  360. package/dist/src/ruvector/q-learning-router.d.ts.map +1 -0
  361. package/dist/src/ruvector/q-learning-router.js +257 -338
  362. package/dist/src/ruvector/q-learning-router.js.map +1 -1
  363. package/dist/src/ruvector/ruvllm-wasm.d.ts +179 -0
  364. package/dist/src/ruvector/ruvllm-wasm.d.ts.map +1 -0
  365. package/dist/src/ruvector/ruvllm-wasm.js +270 -434
  366. package/dist/src/ruvector/ruvllm-wasm.js.map +1 -1
  367. package/dist/src/ruvector/semantic-router.d.ts +77 -0
  368. package/dist/src/ruvector/semantic-router.d.ts.map +1 -0
  369. package/dist/src/ruvector/semantic-router.js +60 -67
  370. package/dist/src/ruvector/semantic-router.js.map +1 -1
  371. package/dist/src/ruvector/vector-db.d.ts +69 -0
  372. package/dist/src/ruvector/vector-db.d.ts.map +1 -0
  373. package/dist/src/ruvector/vector-db.js +119 -205
  374. package/dist/src/ruvector/vector-db.js.map +1 -1
  375. package/dist/src/services/agentic-flow-bridge.d.ts +50 -0
  376. package/dist/src/services/agentic-flow-bridge.d.ts.map +1 -0
  377. package/dist/src/services/agentic-flow-bridge.js +32 -105
  378. package/dist/src/services/agentic-flow-bridge.js.map +1 -1
  379. package/dist/src/services/claim-service.d.ts +204 -0
  380. package/dist/src/services/claim-service.d.ts.map +1 -0
  381. package/dist/src/services/claim-service.js +615 -940
  382. package/dist/src/services/claim-service.js.map +1 -1
  383. package/dist/src/services/container-worker-pool.d.ts +197 -0
  384. package/dist/src/services/container-worker-pool.d.ts.map +1 -0
  385. package/dist/src/services/container-worker-pool.js +398 -666
  386. package/dist/src/services/container-worker-pool.js.map +1 -1
  387. package/dist/src/services/headless-worker-executor.d.ts +304 -0
  388. package/dist/src/services/headless-worker-executor.d.ts.map +1 -0
  389. package/dist/src/services/headless-worker-executor.js +441 -467
  390. package/dist/src/services/headless-worker-executor.js.map +1 -1
  391. package/dist/src/services/index.d.ts +4 -4
  392. package/dist/src/services/index.d.ts.map +1 -1
  393. package/dist/src/services/index.js +4 -4
  394. package/dist/src/services/index.js.map +1 -1
  395. package/dist/src/services/registry-api.d.ts +58 -0
  396. package/dist/src/services/registry-api.d.ts.map +1 -0
  397. package/dist/src/services/registry-api.js +92 -200
  398. package/dist/src/services/registry-api.js.map +1 -1
  399. package/dist/src/services/ruvector-training.d.ts +222 -0
  400. package/dist/src/services/ruvector-training.d.ts.map +1 -0
  401. package/dist/src/services/ruvector-training.js +257 -337
  402. package/dist/src/services/ruvector-training.js.map +1 -1
  403. package/dist/src/services/worker-daemon.d.ts +228 -0
  404. package/dist/src/services/worker-daemon.d.ts.map +1 -0
  405. package/dist/src/services/worker-daemon.js +591 -849
  406. package/dist/src/services/worker-daemon.js.map +1 -1
  407. package/dist/src/services/worker-queue.d.ts +194 -0
  408. package/dist/src/services/worker-queue.d.ts.map +1 -0
  409. package/dist/src/services/worker-queue.js +331 -548
  410. package/dist/src/services/worker-queue.js.map +1 -1
  411. package/dist/src/suggest.d.ts +53 -0
  412. package/dist/src/suggest.d.ts.map +1 -0
  413. package/dist/src/suggest.js +45 -55
  414. package/dist/src/suggest.js.map +1 -1
  415. package/dist/src/transfer/anonymization/index.js +29 -37
  416. package/dist/src/transfer/anonymization/index.js.map +1 -1
  417. package/dist/src/transfer/deploy-seraphine.js +128 -155
  418. package/dist/src/transfer/deploy-seraphine.js.map +1 -1
  419. package/dist/src/transfer/export.d.ts +25 -0
  420. package/dist/src/transfer/export.d.ts.map +1 -0
  421. package/dist/src/transfer/export.js +84 -142
  422. package/dist/src/transfer/export.js.map +1 -1
  423. package/dist/src/transfer/index.d.ts +1 -1
  424. package/dist/src/transfer/index.d.ts.map +1 -1
  425. package/dist/src/transfer/index.js +0 -2
  426. package/dist/src/transfer/index.js.map +1 -1
  427. package/dist/src/transfer/ipfs/client.d.ts +109 -0
  428. package/dist/src/transfer/ipfs/client.d.ts.map +1 -0
  429. package/dist/src/transfer/ipfs/client.js +187 -337
  430. package/dist/src/transfer/ipfs/client.js.map +1 -1
  431. package/dist/src/transfer/ipfs/upload.d.ts +95 -0
  432. package/dist/src/transfer/ipfs/upload.d.ts.map +1 -0
  433. package/dist/src/transfer/ipfs/upload.js +288 -434
  434. package/dist/src/transfer/ipfs/upload.js.map +1 -1
  435. package/dist/src/transfer/models/seraphine.d.ts +72 -0
  436. package/dist/src/transfer/models/seraphine.d.ts.map +1 -0
  437. package/dist/src/transfer/models/seraphine.js +55 -55
  438. package/dist/src/transfer/models/seraphine.js.map +1 -1
  439. package/dist/src/transfer/serialization/cfp.d.ts +49 -0
  440. package/dist/src/transfer/serialization/cfp.d.ts.map +1 -0
  441. package/dist/src/transfer/serialization/cfp.js +30 -31
  442. package/dist/src/transfer/serialization/cfp.js.map +1 -1
  443. package/dist/src/transfer/storage/gcs.d.ts +82 -0
  444. package/dist/src/transfer/storage/gcs.d.ts.map +1 -0
  445. package/dist/src/transfer/storage/gcs.js +165 -232
  446. package/dist/src/transfer/storage/gcs.js.map +1 -1
  447. package/dist/src/transfer/store/discovery.d.ts +84 -0
  448. package/dist/src/transfer/store/discovery.d.ts.map +1 -0
  449. package/dist/src/transfer/store/discovery.js +239 -349
  450. package/dist/src/transfer/store/discovery.js.map +1 -1
  451. package/dist/src/transfer/store/download.d.ts +70 -0
  452. package/dist/src/transfer/store/download.d.ts.map +1 -0
  453. package/dist/src/transfer/store/download.js +243 -365
  454. package/dist/src/transfer/store/download.js.map +1 -1
  455. package/dist/src/transfer/store/index.d.ts +84 -0
  456. package/dist/src/transfer/store/index.d.ts.map +1 -0
  457. package/dist/src/transfer/store/index.js +63 -130
  458. package/dist/src/transfer/store/index.js.map +1 -1
  459. package/dist/src/transfer/store/publish.d.ts +76 -0
  460. package/dist/src/transfer/store/publish.d.ts.map +1 -0
  461. package/dist/src/transfer/store/publish.js +184 -258
  462. package/dist/src/transfer/store/publish.js.map +1 -1
  463. package/dist/src/transfer/store/registry.js +50 -72
  464. package/dist/src/transfer/store/registry.js.map +1 -1
  465. package/dist/src/transfer/store/search.d.ts +54 -0
  466. package/dist/src/transfer/store/search.d.ts.map +1 -0
  467. package/dist/src/transfer/store/search.js +64 -96
  468. package/dist/src/transfer/store/search.js.map +1 -1
  469. package/dist/src/transfer/store/tests/standalone-test.js +174 -231
  470. package/dist/src/transfer/store/tests/standalone-test.js.map +1 -1
  471. package/dist/src/transfer/test-seraphine.js +95 -130
  472. package/dist/src/transfer/test-seraphine.js.map +1 -1
  473. package/dist/src/transfer/tests/test-store.js +194 -239
  474. package/dist/src/transfer/tests/test-store.js.map +1 -1
  475. package/dist/src/transfer/types.d.ts +245 -0
  476. package/dist/src/transfer/types.d.ts.map +1 -0
  477. package/dist/src/types.d.ts +198 -0
  478. package/dist/src/types.d.ts.map +1 -0
  479. package/dist/src/types.js +26 -55
  480. package/dist/src/types.js.map +1 -1
  481. package/dist/src/update/checker.d.ts +34 -0
  482. package/dist/src/update/checker.d.ts.map +1 -0
  483. package/dist/src/update/checker.js +106 -183
  484. package/dist/src/update/checker.js.map +1 -1
  485. package/dist/src/update/executor.d.ts +32 -0
  486. package/dist/src/update/executor.d.ts.map +1 -0
  487. package/dist/src/update/executor.js +135 -198
  488. package/dist/src/update/executor.js.map +1 -1
  489. package/dist/src/update/index.d.ts +33 -0
  490. package/dist/src/update/index.d.ts.map +1 -0
  491. package/dist/src/update/index.js +38 -85
  492. package/dist/src/update/index.js.map +1 -1
  493. package/dist/src/update/rate-limiter.d.ts +20 -0
  494. package/dist/src/update/rate-limiter.d.ts.map +1 -0
  495. package/dist/src/update/rate-limiter.js +19 -31
  496. package/dist/src/update/rate-limiter.js.map +1 -1
  497. package/dist/src/update/validator.d.ts +17 -0
  498. package/dist/src/update/validator.d.ts.map +1 -0
  499. package/dist/src/update/validator.js +38 -64
  500. package/dist/src/update/validator.js.map +1 -1
  501. package/dist/tsconfig.tsbuildinfo +1 -1
  502. package/package.json +1 -1
@@ -5,48 +5,12 @@
5
5
  * @module @claude-flow/cli/commands/mcp
6
6
  * @version 3.0.0
7
7
  */
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
- var __generator = (this && this.__generator) || function (thisArg, body) {
18
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
19
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
20
- function verb(n) { return function (v) { return step([n, v]); }; }
21
- function step(op) {
22
- if (f) throw new TypeError("Generator is already executing.");
23
- while (_) try {
24
- 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;
25
- if (y = 0, t) op = [op[0] & 2, t.value];
26
- switch (op[0]) {
27
- case 0: case 1: t = op; break;
28
- case 4: _.label++; return { value: op[1], done: false };
29
- case 5: _.label++; y = op[1]; op = [0]; continue;
30
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
31
- default:
32
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
33
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
34
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
35
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
36
- if (t[2]) _.ops.pop();
37
- _.trys.pop(); continue;
38
- }
39
- op = body.call(thisArg, _);
40
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
41
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
42
- }
43
- };
44
8
  import { output } from '../output.js';
45
9
  import { confirm } from '../prompt.js';
46
10
  import { getServerManager, getMCPServerStatus, } from '../mcp-server.js';
47
11
  import { listMCPTools, callMCPTool, hasTool } from '../mcp-client.js';
48
12
  // MCP tools categories
49
- var TOOL_CATEGORIES = [
13
+ const TOOL_CATEGORIES = [
50
14
  { value: 'coordination', label: 'Coordination', hint: 'Swarm and agent coordination tools' },
51
15
  { value: 'monitoring', label: 'Monitoring', hint: 'Status and metrics monitoring' },
52
16
  { value: 'memory', label: 'Memory', hint: 'Memory and neural features' },
@@ -58,19 +22,19 @@ var TOOL_CATEGORIES = [
58
22
  */
59
23
  function formatUptime(seconds) {
60
24
  if (seconds < 60) {
61
- return seconds + "s";
25
+ return `${seconds}s`;
62
26
  }
63
27
  if (seconds < 3600) {
64
- var mins_1 = Math.floor(seconds / 60);
65
- var secs = seconds % 60;
66
- return mins_1 + "m " + secs + "s";
28
+ const mins = Math.floor(seconds / 60);
29
+ const secs = seconds % 60;
30
+ return `${mins}m ${secs}s`;
67
31
  }
68
- var hours = Math.floor(seconds / 3600);
69
- var mins = Math.floor((seconds % 3600) / 60);
70
- return hours + "h " + mins + "m";
32
+ const hours = Math.floor(seconds / 3600);
33
+ const mins = Math.floor((seconds % 3600) / 60);
34
+ return `${hours}h ${mins}m`;
71
35
  }
72
36
  // Start MCP server
73
- var startCommand = {
37
+ const startCommand = {
74
38
  name: 'start',
75
39
  description: 'Start MCP server',
76
40
  options: [
@@ -79,42 +43,42 @@ var startCommand = {
79
43
  short: 'p',
80
44
  description: 'Server port',
81
45
  type: 'number',
82
- "default": 3000
46
+ default: 3000
83
47
  },
84
48
  {
85
49
  name: 'host',
86
50
  short: 'h',
87
51
  description: 'Server host',
88
52
  type: 'string',
89
- "default": 'localhost'
53
+ default: 'localhost'
90
54
  },
91
55
  {
92
56
  name: 'transport',
93
57
  short: 't',
94
58
  description: 'Transport type (stdio, http, websocket)',
95
59
  type: 'string',
96
- "default": 'stdio',
60
+ default: 'stdio',
97
61
  choices: ['stdio', 'http', 'websocket']
98
62
  },
99
63
  {
100
64
  name: 'tools',
101
65
  description: 'Tools to enable (comma-separated or "all")',
102
66
  type: 'string',
103
- "default": 'all'
67
+ default: 'all'
104
68
  },
105
69
  {
106
70
  name: 'daemon',
107
71
  short: 'd',
108
72
  description: 'Run as background daemon',
109
73
  type: 'boolean',
110
- "default": false
74
+ default: false
111
75
  },
112
76
  {
113
77
  name: 'force',
114
78
  short: 'f',
115
79
  description: 'Force restart (kill existing server first)',
116
80
  type: 'boolean',
117
- "default": false
81
+ default: false
118
82
  }
119
83
  ],
120
84
  examples: [
@@ -123,130 +87,116 @@ var startCommand = {
123
87
  { command: 'claude-flow mcp start -d', description: 'Start as daemon' },
124
88
  { command: 'claude-flow mcp start -f', description: 'Force restart (kill existing)' }
125
89
  ],
126
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
127
- var port, host, transport, tools, daemon, force, existingStatus, isSelfDetected, shouldForceRestart, manager, health, manager, _a, options, manager, status, error_1;
128
- var _b, _c, _d, _e, _f;
129
- return __generator(this, function (_g) {
130
- switch (_g.label) {
131
- case 0:
132
- port = (_b = ctx.flags.port) !== null && _b !== void 0 ? _b : 3000;
133
- host = (_c = ctx.flags.host) !== null && _c !== void 0 ? _c : 'localhost';
134
- transport = (_d = ctx.flags.transport) !== null && _d !== void 0 ? _d : 'stdio';
135
- tools = ctx.flags.tools || 'all';
136
- daemon = (_e = ctx.flags.daemon) !== null && _e !== void 0 ? _e : false;
137
- force = (_f = ctx.flags.force) !== null && _f !== void 0 ? _f : false;
138
- output.writeln();
139
- output.printInfo('Starting MCP Server...');
140
- output.writeln();
141
- return [4 /*yield*/, getMCPServerStatus()];
142
- case 1:
143
- existingStatus = _g.sent();
144
- isSelfDetected = existingStatus.pid === process.pid;
145
- if (!(existingStatus.running && !isSelfDetected)) return [3 /*break*/, 7];
146
- shouldForceRestart = force || transport === 'stdio';
147
- if (!!shouldForceRestart) return [3 /*break*/, 3];
148
- manager = getServerManager();
149
- return [4 /*yield*/, manager.checkHealth()];
150
- case 2:
151
- health = _g.sent();
152
- if (health.healthy) {
153
- output.printWarning("MCP Server already running (PID: " + existingStatus.pid + ")");
154
- output.writeln(output.dim('Use "claude-flow mcp stop" to stop the server first, or use --force'));
155
- return [2 /*return*/, { success: false, exitCode: 1 }];
156
- }
157
- _g.label = 3;
158
- case 3:
159
- // Force restart or unresponsive - auto-recover
160
- output.printWarning("MCP Server (PID: " + existingStatus.pid + ") - restarting...");
161
- _g.label = 4;
162
- case 4:
163
- _g.trys.push([4, 6, , 7]);
164
- // Force kill the existing process
165
- if (existingStatus.pid) {
166
- try {
167
- process.kill(existingStatus.pid, 'SIGKILL');
168
- }
169
- catch (_h) {
170
- // Process may already be dead
171
- }
172
- }
173
- manager = getServerManager();
174
- return [4 /*yield*/, manager.stop()];
175
- case 5:
176
- _g.sent();
177
- output.writeln(output.dim(' Cleaned up existing server'));
178
- return [3 /*break*/, 7];
179
- case 6:
180
- _a = _g.sent();
181
- return [3 /*break*/, 7];
182
- case 7:
183
- options = {
184
- transport: transport,
185
- host: host,
186
- port: port,
187
- tools: !tools || tools === 'all' ? 'all' : tools.split(','),
188
- daemonize: daemon
189
- };
190
- _g.label = 8;
191
- case 8:
192
- _g.trys.push([8, 10, , 11]);
193
- output.writeln(output.dim(' Initializing server...'));
194
- manager = getServerManager(options);
195
- // Setup event handlers for progress display
196
- manager.on('starting', function () {
197
- output.writeln(output.dim(' Loading tool registry...'));
198
- });
199
- manager.on('started', function (data) {
200
- var _a;
201
- output.writeln(output.dim(" Server started in " + (((_a = data.startupTime) === null || _a === void 0 ? void 0 : _a.toFixed(2)) || 0) + "ms"));
202
- });
203
- manager.on('log', function (log) {
204
- if (ctx.flags.verbose) {
205
- output.writeln(output.dim(" [" + log.level + "] " + log.msg));
206
- }
207
- });
208
- return [4 /*yield*/, manager.start()];
209
- case 9:
210
- status = _g.sent();
211
- output.writeln();
212
- output.printTable({
213
- columns: [
214
- { key: 'property', header: 'Property', width: 15 },
215
- { key: 'value', header: 'Value', width: 30 }
216
- ],
217
- data: [
218
- { property: 'Server PID', value: status.pid || process.pid },
219
- { property: 'Transport', value: transport },
220
- { property: 'Host', value: host },
221
- { property: 'Port', value: port },
222
- { property: 'Tools', value: !tools || tools === 'all' ? '27 enabled' : tools.split(',').length + " enabled" },
223
- { property: 'Status', value: output.success('Running') }
224
- ]
225
- });
226
- output.writeln();
227
- output.printSuccess('MCP Server started');
228
- if (transport === 'http') {
229
- output.writeln(output.dim(" Health: http://" + host + ":" + port + "/health"));
230
- output.writeln(output.dim(" RPC: http://" + host + ":" + port + "/rpc"));
231
- }
232
- else if (transport === 'websocket') {
233
- output.writeln(output.dim(" WebSocket: ws://" + host + ":" + port + "/ws"));
90
+ action: async (ctx) => {
91
+ const port = ctx.flags.port ?? 3000;
92
+ const host = ctx.flags.host ?? 'localhost';
93
+ const transport = ctx.flags.transport ?? 'stdio';
94
+ const tools = ctx.flags.tools || 'all';
95
+ const daemon = ctx.flags.daemon ?? false;
96
+ const force = ctx.flags.force ?? false;
97
+ output.writeln();
98
+ output.printInfo('Starting MCP Server...');
99
+ output.writeln();
100
+ // Check if already running (skip self-detection for stdio getStatus()
101
+ // reports the current process as "running" when transport=stdio and no
102
+ // PID file exists, which would cause us to SIGKILL ourselves)
103
+ const existingStatus = await getMCPServerStatus();
104
+ const isSelfDetected = existingStatus.pid === process.pid;
105
+ if (existingStatus.running && !isSelfDetected) {
106
+ // For stdio transport, always force restart since we can't health check it
107
+ // For other transports, check health unless --force is specified
108
+ const shouldForceRestart = force || transport === 'stdio';
109
+ if (!shouldForceRestart) {
110
+ // Verify the server is actually healthy/responsive
111
+ const manager = getServerManager();
112
+ const health = await manager.checkHealth();
113
+ if (health.healthy) {
114
+ output.printWarning(`MCP Server already running (PID: ${existingStatus.pid})`);
115
+ output.writeln(output.dim('Use "claude-flow mcp stop" to stop the server first, or use --force'));
116
+ return { success: false, exitCode: 1 };
117
+ }
118
+ }
119
+ // Force restart or unresponsive - auto-recover
120
+ output.printWarning(`MCP Server (PID: ${existingStatus.pid}) - restarting...`);
121
+ try {
122
+ // Force kill the existing process
123
+ if (existingStatus.pid) {
124
+ try {
125
+ process.kill(existingStatus.pid, 'SIGKILL');
234
126
  }
235
- if (daemon) {
236
- output.writeln(output.dim(' Running in background mode'));
127
+ catch {
128
+ // Process may already be dead
237
129
  }
238
- return [2 /*return*/, { success: true, data: status }];
239
- case 10:
240
- error_1 = _g.sent();
241
- output.printError("Failed to start MCP server: " + error_1.message);
242
- return [2 /*return*/, { success: false, exitCode: 1 }];
243
- case 11: return [2 /*return*/];
130
+ }
131
+ const manager = getServerManager();
132
+ await manager.stop();
133
+ output.writeln(output.dim(' Cleaned up existing server'));
134
+ }
135
+ catch {
136
+ // Continue anyway - the stop/cleanup may partially fail
137
+ }
138
+ }
139
+ const options = {
140
+ transport,
141
+ host,
142
+ port,
143
+ tools: !tools || tools === 'all' ? 'all' : tools.split(','),
144
+ daemonize: daemon,
145
+ };
146
+ try {
147
+ output.writeln(output.dim(' Initializing server...'));
148
+ const manager = getServerManager(options);
149
+ // Setup event handlers for progress display
150
+ manager.on('starting', () => {
151
+ output.writeln(output.dim(' Loading tool registry...'));
152
+ });
153
+ manager.on('started', (data) => {
154
+ output.writeln(output.dim(` Server started in ${data.startupTime?.toFixed(2) || 0}ms`));
155
+ });
156
+ manager.on('log', (log) => {
157
+ if (ctx.flags.verbose) {
158
+ output.writeln(output.dim(` [${log.level}] ${log.msg}`));
159
+ }
160
+ });
161
+ // Start the server
162
+ const status = await manager.start();
163
+ output.writeln();
164
+ output.printTable({
165
+ columns: [
166
+ { key: 'property', header: 'Property', width: 15 },
167
+ { key: 'value', header: 'Value', width: 30 }
168
+ ],
169
+ data: [
170
+ { property: 'Server PID', value: status.pid || process.pid },
171
+ { property: 'Transport', value: transport },
172
+ { property: 'Host', value: host },
173
+ { property: 'Port', value: port },
174
+ { property: 'Tools', value: !tools || tools === 'all' ? '27 enabled' : `${tools.split(',').length} enabled` },
175
+ { property: 'Status', value: output.success('Running') }
176
+ ]
177
+ });
178
+ output.writeln();
179
+ output.printSuccess('MCP Server started');
180
+ if (transport === 'http') {
181
+ output.writeln(output.dim(` Health: http://${host}:${port}/health`));
182
+ output.writeln(output.dim(` RPC: http://${host}:${port}/rpc`));
183
+ }
184
+ else if (transport === 'websocket') {
185
+ output.writeln(output.dim(` WebSocket: ws://${host}:${port}/ws`));
186
+ }
187
+ if (daemon) {
188
+ output.writeln(output.dim(' Running in background mode'));
244
189
  }
245
- });
246
- }); }
190
+ return { success: true, data: status };
191
+ }
192
+ catch (error) {
193
+ output.printError(`Failed to start MCP server: ${error.message}`);
194
+ return { success: false, exitCode: 1 };
195
+ }
196
+ }
247
197
  };
248
198
  // Stop MCP server
249
- var stopCommand = {
199
+ const stopCommand = {
250
200
  name: 'stop',
251
201
  description: 'Stop MCP server',
252
202
  options: [
@@ -255,157 +205,134 @@ var stopCommand = {
255
205
  short: 'f',
256
206
  description: 'Force stop without graceful shutdown',
257
207
  type: 'boolean',
258
- "default": false
208
+ default: false
259
209
  }
260
210
  ],
261
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
262
- var force, status, confirmed, manager, error_2;
263
- return __generator(this, function (_a) {
264
- switch (_a.label) {
265
- case 0:
266
- force = ctx.flags.force;
267
- return [4 /*yield*/, getMCPServerStatus()];
268
- case 1:
269
- status = _a.sent();
270
- if (!status.running) {
271
- output.printInfo('MCP Server is not running');
272
- return [2 /*return*/, { success: true }];
273
- }
274
- if (!(!force && ctx.interactive)) return [3 /*break*/, 3];
275
- return [4 /*yield*/, confirm({
276
- message: "Stop MCP server (PID: " + status.pid + ")?",
277
- "default": false
278
- })];
279
- case 2:
280
- confirmed = _a.sent();
281
- if (!confirmed) {
282
- output.printInfo('Operation cancelled');
283
- return [2 /*return*/, { success: true }];
284
- }
285
- _a.label = 3;
286
- case 3:
287
- output.printInfo('Stopping MCP Server...');
288
- _a.label = 4;
289
- case 4:
290
- _a.trys.push([4, 6, , 7]);
291
- manager = getServerManager();
292
- if (!force) {
293
- output.writeln(output.dim(' Completing pending requests...'));
294
- output.writeln(output.dim(' Closing connections...'));
295
- }
296
- return [4 /*yield*/, manager.stop(force)];
297
- case 5:
298
- _a.sent();
299
- output.writeln(output.dim(' Releasing resources...'));
300
- output.printSuccess('MCP Server stopped');
301
- return [2 /*return*/, { success: true, data: { stopped: true, force: force } }];
302
- case 6:
303
- error_2 = _a.sent();
304
- output.printError("Failed to stop MCP server: " + error_2.message);
305
- return [2 /*return*/, { success: false, exitCode: 1 }];
306
- case 7: return [2 /*return*/];
211
+ action: async (ctx) => {
212
+ const force = ctx.flags.force;
213
+ // Check if server is running
214
+ const status = await getMCPServerStatus();
215
+ if (!status.running) {
216
+ output.printInfo('MCP Server is not running');
217
+ return { success: true };
218
+ }
219
+ if (!force && ctx.interactive) {
220
+ const confirmed = await confirm({
221
+ message: `Stop MCP server (PID: ${status.pid})?`,
222
+ default: false
223
+ });
224
+ if (!confirmed) {
225
+ output.printInfo('Operation cancelled');
226
+ return { success: true };
227
+ }
228
+ }
229
+ output.printInfo('Stopping MCP Server...');
230
+ try {
231
+ const manager = getServerManager();
232
+ if (!force) {
233
+ output.writeln(output.dim(' Completing pending requests...'));
234
+ output.writeln(output.dim(' Closing connections...'));
307
235
  }
308
- });
309
- }); }
236
+ await manager.stop(force);
237
+ output.writeln(output.dim(' Releasing resources...'));
238
+ output.printSuccess('MCP Server stopped');
239
+ return { success: true, data: { stopped: true, force } };
240
+ }
241
+ catch (error) {
242
+ output.printError(`Failed to stop MCP server: ${error.message}`);
243
+ return { success: false, exitCode: 1 };
244
+ }
245
+ }
310
246
  };
311
247
  // MCP status
312
- var statusCommand = {
248
+ const statusCommand = {
313
249
  name: 'status',
314
250
  description: 'Show MCP server status',
315
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
316
- var status, isStdio, envTransport, displayData, _i, _a, _b, key, value, error_3;
317
- return __generator(this, function (_c) {
318
- switch (_c.label) {
319
- case 0:
320
- _c.trys.push([0, 2, , 3]);
321
- return [4 /*yield*/, getMCPServerStatus()];
322
- case 1:
323
- status = _c.sent();
324
- // If PID-based check says not running, detect stdio mode
325
- if (!status.running) {
326
- isStdio = !process.stdin.isTTY;
327
- envTransport = process.env.CLAUDE_FLOW_MCP_TRANSPORT;
328
- if (isStdio || envTransport === 'stdio') {
329
- status = {
330
- running: true,
331
- pid: process.pid,
332
- transport: 'stdio'
333
- };
334
- }
335
- }
336
- if (ctx.flags.format === 'json') {
337
- output.printJson(status);
338
- return [2 /*return*/, { success: true, data: status }];
339
- }
340
- output.writeln();
341
- output.writeln(output.bold('MCP Server Status'));
342
- output.writeln();
343
- if (!status.running) {
344
- output.printTable({
345
- columns: [
346
- { key: 'metric', header: 'Metric', width: 20 },
347
- { key: 'value', header: 'Value', width: 20, align: 'right' }
348
- ],
349
- data: [
350
- { metric: 'Status', value: output.error('Stopped') }
351
- ]
352
- });
353
- output.writeln();
354
- output.writeln(output.dim('Run "claude-flow mcp start" to start the server'));
355
- return [2 /*return*/, { success: true, data: status }];
356
- }
357
- displayData = [
358
- { metric: 'Status', value: output.success('Running') },
359
- { metric: 'PID', value: status.pid },
360
- { metric: 'Transport', value: status.transport },
361
- ];
362
- // Only show host/port for non-stdio transports
363
- if (status.transport !== 'stdio') {
364
- displayData.push({ metric: 'Host', value: status.host });
365
- displayData.push({ metric: 'Port', value: status.port });
366
- }
367
- if (status.uptime !== undefined) {
368
- displayData.push({ metric: 'Uptime', value: formatUptime(status.uptime) });
369
- }
370
- if (status.startedAt) {
371
- displayData.push({ metric: 'Started At', value: status.startedAt });
372
- }
373
- if (status.health) {
251
+ action: async (ctx) => {
252
+ try {
253
+ let status = await getMCPServerStatus();
254
+ // If PID-based check says not running, detect stdio mode
255
+ if (!status.running) {
256
+ const isStdio = !process.stdin.isTTY;
257
+ const envTransport = process.env.CLAUDE_FLOW_MCP_TRANSPORT;
258
+ if (isStdio || envTransport === 'stdio') {
259
+ status = {
260
+ running: true,
261
+ pid: process.pid,
262
+ transport: 'stdio',
263
+ };
264
+ }
265
+ }
266
+ if (ctx.flags.format === 'json') {
267
+ output.printJson(status);
268
+ return { success: true, data: status };
269
+ }
270
+ output.writeln();
271
+ output.writeln(output.bold('MCP Server Status'));
272
+ output.writeln();
273
+ if (!status.running) {
274
+ output.printTable({
275
+ columns: [
276
+ { key: 'metric', header: 'Metric', width: 20 },
277
+ { key: 'value', header: 'Value', width: 20, align: 'right' }
278
+ ],
279
+ data: [
280
+ { metric: 'Status', value: output.error('Stopped') }
281
+ ]
282
+ });
283
+ output.writeln();
284
+ output.writeln(output.dim('Run "claude-flow mcp start" to start the server'));
285
+ return { success: true, data: status };
286
+ }
287
+ const displayData = [
288
+ { metric: 'Status', value: output.success('Running') },
289
+ { metric: 'PID', value: status.pid },
290
+ { metric: 'Transport', value: status.transport },
291
+ ];
292
+ // Only show host/port for non-stdio transports
293
+ if (status.transport !== 'stdio') {
294
+ displayData.push({ metric: 'Host', value: status.host });
295
+ displayData.push({ metric: 'Port', value: status.port });
296
+ }
297
+ if (status.uptime !== undefined) {
298
+ displayData.push({ metric: 'Uptime', value: formatUptime(status.uptime) });
299
+ }
300
+ if (status.startedAt) {
301
+ displayData.push({ metric: 'Started At', value: status.startedAt });
302
+ }
303
+ if (status.health) {
304
+ displayData.push({
305
+ metric: 'Health',
306
+ value: status.health.healthy
307
+ ? output.success('Healthy')
308
+ : output.error(status.health.error || 'Unhealthy')
309
+ });
310
+ if (status.health.metrics) {
311
+ for (const [key, value] of Object.entries(status.health.metrics)) {
374
312
  displayData.push({
375
- metric: 'Health',
376
- value: status.health.healthy
377
- ? output.success('Healthy')
378
- : output.error(status.health.error || 'Unhealthy')
313
+ metric: ` ${key}`,
314
+ value: String(value)
379
315
  });
380
- if (status.health.metrics) {
381
- for (_i = 0, _a = Object.entries(status.health.metrics); _i < _a.length; _i++) {
382
- _b = _a[_i], key = _b[0], value = _b[1];
383
- displayData.push({
384
- metric: " " + key,
385
- value: String(value)
386
- });
387
- }
388
- }
389
316
  }
390
- output.printTable({
391
- columns: [
392
- { key: 'metric', header: 'Metric', width: 20 },
393
- { key: 'value', header: 'Value', width: 25, align: 'right' }
394
- ],
395
- data: displayData
396
- });
397
- return [2 /*return*/, { success: true, data: status }];
398
- case 2:
399
- error_3 = _c.sent();
400
- output.printError("Failed to get status: " + error_3.message);
401
- return [2 /*return*/, { success: false, exitCode: 1 }];
402
- case 3: return [2 /*return*/];
317
+ }
403
318
  }
404
- });
405
- }); }
319
+ output.printTable({
320
+ columns: [
321
+ { key: 'metric', header: 'Metric', width: 20 },
322
+ { key: 'value', header: 'Value', width: 25, align: 'right' }
323
+ ],
324
+ data: displayData
325
+ });
326
+ return { success: true, data: status };
327
+ }
328
+ catch (error) {
329
+ output.printError(`Failed to get status: ${error.message}`);
330
+ return { success: false, exitCode: 1 };
331
+ }
332
+ }
406
333
  };
407
334
  // List tools
408
- var toolsCommand = {
335
+ const toolsCommand = {
409
336
  name: 'tools',
410
337
  description: 'List available MCP tools',
411
338
  options: [
@@ -414,98 +341,98 @@ var toolsCommand = {
414
341
  short: 'c',
415
342
  description: 'Filter by category',
416
343
  type: 'string',
417
- choices: TOOL_CATEGORIES.map(function (c) { return c.value; })
344
+ choices: TOOL_CATEGORIES.map(c => c.value)
418
345
  },
419
346
  {
420
347
  name: 'enabled',
421
348
  description: 'Show only enabled tools',
422
349
  type: 'boolean',
423
- "default": false
350
+ default: false
424
351
  }
425
352
  ],
426
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
427
- var category, tools, registeredTools, grouped, _i, _a, _b, cat, catTools;
428
- return __generator(this, function (_c) {
429
- category = ctx.flags.category;
430
- registeredTools = listMCPTools(category);
431
- if (registeredTools.length > 0) {
432
- tools = registeredTools.map(function (tool) { return ({
433
- name: tool.name,
434
- category: tool.category || 'uncategorized',
435
- description: tool.description,
436
- enabled: true
437
- }); });
438
- }
439
- else {
440
- // Fallback to static tool list
441
- tools = [
442
- // Agent tools
443
- { name: 'agent_spawn', category: 'agent', description: 'Spawn a new agent', enabled: true },
444
- { name: 'agent_list', category: 'agent', description: 'List all agents', enabled: true },
445
- { name: 'agent_terminate', category: 'agent', description: 'Terminate an agent', enabled: true },
446
- { name: 'agent_status', category: 'agent', description: 'Get agent status', enabled: true },
447
- // Swarm tools
448
- { name: 'swarm_init', category: 'swarm', description: 'Initialize swarm topology', enabled: true },
449
- { name: 'swarm_status', category: 'swarm', description: 'Get swarm status', enabled: true },
450
- { name: 'swarm_scale', category: 'swarm', description: 'Scale swarm size', enabled: true },
451
- // Memory tools
452
- { name: 'memory_store', category: 'memory', description: 'Store in memory', enabled: true },
453
- { name: 'memory_search', category: 'memory', description: 'Search memory', enabled: true },
454
- { name: 'memory_list', category: 'memory', description: 'List memory entries', enabled: true },
455
- // Config tools
456
- { name: 'config_load', category: 'config', description: 'Load configuration', enabled: true },
457
- { name: 'config_save', category: 'config', description: 'Save configuration', enabled: true },
458
- { name: 'config_validate', category: 'config', description: 'Validate configuration', enabled: true },
459
- // Hooks tools
460
- { name: 'hooks_pre-edit', category: 'hooks', description: 'Pre-edit hook', enabled: true },
461
- { name: 'hooks_post-edit', category: 'hooks', description: 'Post-edit hook', enabled: true },
462
- { name: 'hooks_pre-command', category: 'hooks', description: 'Pre-command hook', enabled: true },
463
- { name: 'hooks_post-command', category: 'hooks', description: 'Post-command hook', enabled: true },
464
- { name: 'hooks_route', category: 'hooks', description: 'Route task to agent', enabled: true },
465
- { name: 'hooks_explain', category: 'hooks', description: 'Explain routing', enabled: true },
466
- { name: 'hooks_pretrain', category: 'hooks', description: 'Pretrain from repo', enabled: true },
467
- { name: 'hooks_metrics', category: 'hooks', description: 'Learning metrics', enabled: true },
468
- { name: 'hooks_list', category: 'hooks', description: 'List hooks', enabled: true },
469
- // System tools
470
- { name: 'system_info', category: 'system', description: 'System information', enabled: true },
471
- { name: 'system_health', category: 'system', description: 'Health status', enabled: true },
472
- { name: 'system_metrics', category: 'system', description: 'Server metrics', enabled: true },
473
- ].filter(function (t) { return !category || t.category === category; });
474
- }
475
- if (ctx.flags.format === 'json') {
476
- output.printJson(tools);
477
- return [2 /*return*/, { success: true, data: tools }];
478
- }
479
- output.writeln();
480
- output.writeln(output.bold('Available MCP Tools'));
353
+ action: async (ctx) => {
354
+ const category = ctx.flags.category;
355
+ // Use local tool registry
356
+ let tools;
357
+ // Get tools from local registry
358
+ const registeredTools = listMCPTools(category);
359
+ if (registeredTools.length > 0) {
360
+ tools = registeredTools.map(tool => ({
361
+ name: tool.name,
362
+ category: tool.category || 'uncategorized',
363
+ description: tool.description,
364
+ enabled: true
365
+ }));
366
+ }
367
+ else {
368
+ // Fallback to static tool list
369
+ tools = [
370
+ // Agent tools
371
+ { name: 'agent_spawn', category: 'agent', description: 'Spawn a new agent', enabled: true },
372
+ { name: 'agent_list', category: 'agent', description: 'List all agents', enabled: true },
373
+ { name: 'agent_terminate', category: 'agent', description: 'Terminate an agent', enabled: true },
374
+ { name: 'agent_status', category: 'agent', description: 'Get agent status', enabled: true },
375
+ // Swarm tools
376
+ { name: 'swarm_init', category: 'swarm', description: 'Initialize swarm topology', enabled: true },
377
+ { name: 'swarm_status', category: 'swarm', description: 'Get swarm status', enabled: true },
378
+ { name: 'swarm_scale', category: 'swarm', description: 'Scale swarm size', enabled: true },
379
+ // Memory tools
380
+ { name: 'memory_store', category: 'memory', description: 'Store in memory', enabled: true },
381
+ { name: 'memory_search', category: 'memory', description: 'Search memory', enabled: true },
382
+ { name: 'memory_list', category: 'memory', description: 'List memory entries', enabled: true },
383
+ // Config tools
384
+ { name: 'config_load', category: 'config', description: 'Load configuration', enabled: true },
385
+ { name: 'config_save', category: 'config', description: 'Save configuration', enabled: true },
386
+ { name: 'config_validate', category: 'config', description: 'Validate configuration', enabled: true },
387
+ // Hooks tools
388
+ { name: 'hooks_pre-edit', category: 'hooks', description: 'Pre-edit hook', enabled: true },
389
+ { name: 'hooks_post-edit', category: 'hooks', description: 'Post-edit hook', enabled: true },
390
+ { name: 'hooks_pre-command', category: 'hooks', description: 'Pre-command hook', enabled: true },
391
+ { name: 'hooks_post-command', category: 'hooks', description: 'Post-command hook', enabled: true },
392
+ { name: 'hooks_route', category: 'hooks', description: 'Route task to agent', enabled: true },
393
+ { name: 'hooks_explain', category: 'hooks', description: 'Explain routing', enabled: true },
394
+ { name: 'hooks_pretrain', category: 'hooks', description: 'Pretrain from repo', enabled: true },
395
+ { name: 'hooks_metrics', category: 'hooks', description: 'Learning metrics', enabled: true },
396
+ { name: 'hooks_list', category: 'hooks', description: 'List hooks', enabled: true },
397
+ // System tools
398
+ { name: 'system_info', category: 'system', description: 'System information', enabled: true },
399
+ { name: 'system_health', category: 'system', description: 'Health status', enabled: true },
400
+ { name: 'system_metrics', category: 'system', description: 'Server metrics', enabled: true },
401
+ ].filter(t => !category || t.category === category);
402
+ }
403
+ if (ctx.flags.format === 'json') {
404
+ output.printJson(tools);
405
+ return { success: true, data: tools };
406
+ }
407
+ output.writeln();
408
+ output.writeln(output.bold('Available MCP Tools'));
409
+ output.writeln();
410
+ // Group by category
411
+ const grouped = tools.reduce((acc, tool) => {
412
+ if (!acc[tool.category])
413
+ acc[tool.category] = [];
414
+ acc[tool.category].push(tool);
415
+ return acc;
416
+ }, {});
417
+ for (const [cat, catTools] of Object.entries(grouped)) {
418
+ output.writeln(output.highlight(cat.charAt(0).toUpperCase() + cat.slice(1)));
419
+ output.printTable({
420
+ columns: [
421
+ { key: 'name', header: 'Tool', width: 25 },
422
+ { key: 'description', header: 'Description', width: 35 },
423
+ { key: 'enabled', header: 'Status', width: 10, format: (v) => v ? output.success('Enabled') : output.dim('Disabled') }
424
+ ],
425
+ data: catTools,
426
+ border: false
427
+ });
481
428
  output.writeln();
482
- grouped = tools.reduce(function (acc, tool) {
483
- if (!acc[tool.category])
484
- acc[tool.category] = [];
485
- acc[tool.category].push(tool);
486
- return acc;
487
- }, {});
488
- for (_i = 0, _a = Object.entries(grouped); _i < _a.length; _i++) {
489
- _b = _a[_i], cat = _b[0], catTools = _b[1];
490
- output.writeln(output.highlight(cat.charAt(0).toUpperCase() + cat.slice(1)));
491
- output.printTable({
492
- columns: [
493
- { key: 'name', header: 'Tool', width: 25 },
494
- { key: 'description', header: 'Description', width: 35 },
495
- { key: 'enabled', header: 'Status', width: 10, format: function (v) { return v ? output.success('Enabled') : output.dim('Disabled'); } }
496
- ],
497
- data: catTools,
498
- border: false
499
- });
500
- output.writeln();
501
- }
502
- output.printInfo("Total: " + tools.length + " tools");
503
- return [2 /*return*/, { success: true, data: tools }];
504
- });
505
- }); }
429
+ }
430
+ output.printInfo(`Total: ${tools.length} tools`);
431
+ return { success: true, data: tools };
432
+ }
506
433
  };
507
434
  // Enable/disable tools
508
- var toggleCommand = {
435
+ const toggleCommand = {
509
436
  name: 'toggle',
510
437
  description: 'Enable or disable MCP tools',
511
438
  options: [
@@ -522,31 +449,28 @@ var toggleCommand = {
522
449
  type: 'string'
523
450
  }
524
451
  ],
525
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
526
- var toEnable, toDisable, tools, tools;
527
- return __generator(this, function (_a) {
528
- toEnable = ctx.flags.enable;
529
- toDisable = ctx.flags.disable;
530
- if (toEnable) {
531
- tools = toEnable.split(',');
532
- output.printInfo("Enabling tools: " + tools.join(', '));
533
- output.printSuccess("Enabled " + tools.length + " tools");
534
- }
535
- if (toDisable) {
536
- tools = toDisable.split(',');
537
- output.printInfo("Disabling tools: " + tools.join(', '));
538
- output.printSuccess("Disabled " + tools.length + " tools");
539
- }
540
- if (!toEnable && !toDisable) {
541
- output.printError('Use --enable or --disable with comma-separated tool names');
542
- return [2 /*return*/, { success: false, exitCode: 1 }];
543
- }
544
- return [2 /*return*/, { success: true }];
545
- });
546
- }); }
452
+ action: async (ctx) => {
453
+ const toEnable = ctx.flags.enable;
454
+ const toDisable = ctx.flags.disable;
455
+ if (toEnable) {
456
+ const tools = toEnable.split(',');
457
+ output.printInfo(`Enabling tools: ${tools.join(', ')}`);
458
+ output.printSuccess(`Enabled ${tools.length} tools`);
459
+ }
460
+ if (toDisable) {
461
+ const tools = toDisable.split(',');
462
+ output.printInfo(`Disabling tools: ${tools.join(', ')}`);
463
+ output.printSuccess(`Disabled ${tools.length} tools`);
464
+ }
465
+ if (!toEnable && !toDisable) {
466
+ output.printError('Use --enable or --disable with comma-separated tool names');
467
+ return { success: false, exitCode: 1 };
468
+ }
469
+ return { success: true };
470
+ }
547
471
  };
548
472
  // Execute tool
549
- var execCommand = {
473
+ const execCommand = {
550
474
  name: 'exec',
551
475
  description: 'Execute an MCP tool',
552
476
  options: [
@@ -567,121 +491,100 @@ var execCommand = {
567
491
  examples: [
568
492
  { command: 'claude-flow mcp exec -t swarm_init -p \'{"topology":"mesh"}\'', description: 'Execute tool' }
569
493
  ],
570
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
571
- var tool, paramsStr, params, startTime, result, duration, error_4;
572
- return __generator(this, function (_a) {
573
- switch (_a.label) {
574
- case 0:
575
- tool = ctx.flags.tool || ctx.args[0];
576
- paramsStr = ctx.flags.params;
577
- if (!tool) {
578
- output.printError('Tool name is required. Use --tool or -t');
579
- return [2 /*return*/, { success: false, exitCode: 1 }];
580
- }
581
- params = {};
582
- if (paramsStr) {
583
- try {
584
- params = JSON.parse(paramsStr);
585
- }
586
- catch (e) {
587
- output.printError('Invalid JSON parameters');
588
- return [2 /*return*/, { success: false, exitCode: 1 }];
589
- }
590
- }
591
- output.printInfo("Executing tool: " + tool);
592
- if (Object.keys(params).length > 0) {
593
- output.writeln(output.dim(" Parameters: " + JSON.stringify(params)));
594
- }
595
- _a.label = 1;
596
- case 1:
597
- _a.trys.push([1, 3, , 4]);
598
- // Execute through local MCP tool registry
599
- if (!hasTool(tool)) {
600
- output.printError("Tool not found: " + tool);
601
- return [2 /*return*/, { success: false, exitCode: 1 }];
602
- }
603
- startTime = performance.now();
604
- return [4 /*yield*/, callMCPTool(tool, params, {
605
- sessionId: "cli-" + Date.now().toString(36),
606
- requestId: "exec-" + Date.now()
607
- })];
608
- case 2:
609
- result = _a.sent();
610
- duration = performance.now() - startTime;
611
- output.writeln();
612
- output.printSuccess("Tool executed in " + duration.toFixed(2) + "ms");
613
- if (ctx.flags.format === 'json') {
614
- output.printJson({ tool: tool, params: params, result: result, duration: duration });
615
- }
616
- else {
617
- output.writeln();
618
- output.writeln(output.bold('Result:'));
619
- output.printJson(result);
620
- }
621
- return [2 /*return*/, { success: true, data: { tool: tool, params: params, result: result, duration: duration } }];
622
- case 3:
623
- error_4 = _a.sent();
624
- output.printError("Tool execution failed: " + error_4.message);
625
- return [2 /*return*/, { success: false, exitCode: 1 }];
626
- case 4: return [2 /*return*/];
494
+ action: async (ctx) => {
495
+ const tool = ctx.flags.tool || ctx.args[0];
496
+ const paramsStr = ctx.flags.params;
497
+ if (!tool) {
498
+ output.printError('Tool name is required. Use --tool or -t');
499
+ return { success: false, exitCode: 1 };
500
+ }
501
+ let params = {};
502
+ if (paramsStr) {
503
+ try {
504
+ params = JSON.parse(paramsStr);
505
+ }
506
+ catch (e) {
507
+ output.printError('Invalid JSON parameters');
508
+ return { success: false, exitCode: 1 };
627
509
  }
628
- });
629
- }); }
510
+ }
511
+ output.printInfo(`Executing tool: ${tool}`);
512
+ if (Object.keys(params).length > 0) {
513
+ output.writeln(output.dim(` Parameters: ${JSON.stringify(params)}`));
514
+ }
515
+ try {
516
+ // Execute through local MCP tool registry
517
+ if (!hasTool(tool)) {
518
+ output.printError(`Tool not found: ${tool}`);
519
+ return { success: false, exitCode: 1 };
520
+ }
521
+ const startTime = performance.now();
522
+ const result = await callMCPTool(tool, params, {
523
+ sessionId: `cli-${Date.now().toString(36)}`,
524
+ requestId: `exec-${Date.now()}`,
525
+ });
526
+ const duration = performance.now() - startTime;
527
+ output.writeln();
528
+ output.printSuccess(`Tool executed in ${duration.toFixed(2)}ms`);
529
+ if (ctx.flags.format === 'json') {
530
+ output.printJson({ tool, params, result, duration });
531
+ }
532
+ else {
533
+ output.writeln();
534
+ output.writeln(output.bold('Result:'));
535
+ output.printJson(result);
536
+ }
537
+ return { success: true, data: { tool, params, result, duration } };
538
+ }
539
+ catch (error) {
540
+ output.printError(`Tool execution failed: ${error.message}`);
541
+ return { success: false, exitCode: 1 };
542
+ }
543
+ }
630
544
  };
631
545
  // Health check command
632
- var healthCommand = {
546
+ const healthCommand = {
633
547
  name: 'health',
634
548
  description: 'Check MCP server health',
635
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
636
- var status, manager, health, _i, _a, _b, key, value, error_5;
637
- return __generator(this, function (_c) {
638
- switch (_c.label) {
639
- case 0:
640
- _c.trys.push([0, 3, , 4]);
641
- return [4 /*yield*/, getMCPServerStatus()];
642
- case 1:
643
- status = _c.sent();
644
- if (!status.running) {
645
- output.printError('MCP Server is not running');
646
- return [2 /*return*/, { success: false, exitCode: 1 }];
647
- }
648
- manager = getServerManager();
649
- return [4 /*yield*/, manager.checkHealth()];
650
- case 2:
651
- health = _c.sent();
652
- if (ctx.flags.format === 'json') {
653
- output.printJson(health);
654
- return [2 /*return*/, { success: true, data: health }];
655
- }
656
- output.writeln();
657
- output.writeln(output.bold('MCP Server Health'));
658
- output.writeln();
659
- if (health.healthy) {
660
- output.printSuccess('Server is healthy');
661
- }
662
- else {
663
- output.printError("Server is unhealthy: " + (health.error || 'Unknown error'));
664
- }
665
- if (health.metrics) {
666
- output.writeln();
667
- output.writeln(output.bold('Metrics:'));
668
- for (_i = 0, _a = Object.entries(health.metrics); _i < _a.length; _i++) {
669
- _b = _a[_i], key = _b[0], value = _b[1];
670
- output.writeln(" " + key + ": " + value);
671
- }
672
- }
673
- return [2 /*return*/, { success: health.healthy, data: health }];
674
- case 3:
675
- error_5 = _c.sent();
676
- output.printError("Health check failed: " + error_5.message);
677
- return [2 /*return*/, { success: false, exitCode: 1 }];
678
- case 4: return [2 /*return*/];
549
+ action: async (ctx) => {
550
+ try {
551
+ const status = await getMCPServerStatus();
552
+ if (!status.running) {
553
+ output.printError('MCP Server is not running');
554
+ return { success: false, exitCode: 1 };
555
+ }
556
+ const manager = getServerManager();
557
+ const health = await manager.checkHealth();
558
+ if (ctx.flags.format === 'json') {
559
+ output.printJson(health);
560
+ return { success: true, data: health };
561
+ }
562
+ output.writeln();
563
+ output.writeln(output.bold('MCP Server Health'));
564
+ output.writeln();
565
+ if (health.healthy) {
566
+ output.printSuccess('Server is healthy');
567
+ }
568
+ else {
569
+ output.printError(`Server is unhealthy: ${health.error || 'Unknown error'}`);
570
+ }
571
+ if (health.metrics) {
572
+ output.writeln();
573
+ output.writeln(output.bold('Metrics:'));
574
+ for (const [key, value] of Object.entries(health.metrics)) {
575
+ output.writeln(` ${key}: ${value}`);
576
+ }
679
577
  }
680
- });
681
- }); }
578
+ return { success: health.healthy, data: health };
579
+ }
580
+ catch (error) {
581
+ output.printError(`Health check failed: ${error.message}`);
582
+ return { success: false, exitCode: 1 };
583
+ }
584
+ }
682
585
  };
683
586
  // Logs command
684
- var logsCommand = {
587
+ const logsCommand = {
685
588
  name: 'logs',
686
589
  description: 'Show MCP server logs',
687
590
  options: [
@@ -690,14 +593,14 @@ var logsCommand = {
690
593
  short: 'n',
691
594
  description: 'Number of lines',
692
595
  type: 'number',
693
- "default": 20
596
+ default: 20
694
597
  },
695
598
  {
696
599
  name: 'follow',
697
600
  short: 'f',
698
601
  description: 'Follow log output',
699
602
  type: 'boolean',
700
- "default": false
603
+ default: false
701
604
  },
702
605
  {
703
606
  name: 'level',
@@ -706,43 +609,40 @@ var logsCommand = {
706
609
  choices: ['debug', 'info', 'warn', 'error']
707
610
  }
708
611
  ],
709
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
710
- var lines, logs, _i, logs_1, log, levelStr;
711
- return __generator(this, function (_a) {
712
- lines = ctx.flags.lines;
713
- logs = [
714
- { time: new Date().toISOString(), level: 'info', message: 'MCP Server started on stdio' },
715
- { time: new Date().toISOString(), level: 'info', message: 'Registered 27 tools' },
716
- { time: new Date().toISOString(), level: 'debug', message: 'Received request: tools/list' },
717
- { time: new Date().toISOString(), level: 'info', message: 'Session initialized' },
718
- ].slice(-lines);
719
- output.writeln();
720
- output.writeln(output.bold('MCP Server Logs'));
721
- output.writeln();
722
- for (_i = 0, logs_1 = logs; _i < logs_1.length; _i++) {
723
- log = logs_1[_i];
724
- levelStr = void 0;
725
- switch (log.level) {
726
- case 'error':
727
- levelStr = output.error(log.level.toUpperCase().padEnd(5));
728
- break;
729
- case 'warn':
730
- levelStr = output.warning(log.level.toUpperCase().padEnd(5));
731
- break;
732
- case 'debug':
733
- levelStr = output.dim(log.level.toUpperCase().padEnd(5));
734
- break;
735
- default:
736
- levelStr = output.info(log.level.toUpperCase().padEnd(5));
737
- }
738
- output.writeln(output.dim(log.time) + " " + levelStr + " " + log.message);
612
+ action: async (ctx) => {
613
+ const lines = ctx.flags.lines;
614
+ // Default logs (loaded from actual log file when available)
615
+ const logs = [
616
+ { time: new Date().toISOString(), level: 'info', message: 'MCP Server started on stdio' },
617
+ { time: new Date().toISOString(), level: 'info', message: 'Registered 27 tools' },
618
+ { time: new Date().toISOString(), level: 'debug', message: 'Received request: tools/list' },
619
+ { time: new Date().toISOString(), level: 'info', message: 'Session initialized' },
620
+ ].slice(-lines);
621
+ output.writeln();
622
+ output.writeln(output.bold('MCP Server Logs'));
623
+ output.writeln();
624
+ for (const log of logs) {
625
+ let levelStr;
626
+ switch (log.level) {
627
+ case 'error':
628
+ levelStr = output.error(log.level.toUpperCase().padEnd(5));
629
+ break;
630
+ case 'warn':
631
+ levelStr = output.warning(log.level.toUpperCase().padEnd(5));
632
+ break;
633
+ case 'debug':
634
+ levelStr = output.dim(log.level.toUpperCase().padEnd(5));
635
+ break;
636
+ default:
637
+ levelStr = output.info(log.level.toUpperCase().padEnd(5));
739
638
  }
740
- return [2 /*return*/, { success: true, data: logs }];
741
- });
742
- }); }
639
+ output.writeln(`${output.dim(log.time)} ${levelStr} ${log.message}`);
640
+ }
641
+ return { success: true, data: logs };
642
+ }
743
643
  };
744
644
  // Restart command
745
- var restartCommand = {
645
+ const restartCommand = {
746
646
  name: 'restart',
747
647
  description: 'Restart MCP server',
748
648
  options: [
@@ -751,37 +651,27 @@ var restartCommand = {
751
651
  short: 'f',
752
652
  description: 'Force restart without graceful shutdown',
753
653
  type: 'boolean',
754
- "default": false
654
+ default: false
755
655
  }
756
656
  ],
757
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
758
- var force, manager, status, error_6;
759
- return __generator(this, function (_a) {
760
- switch (_a.label) {
761
- case 0:
762
- force = ctx.flags.force;
763
- output.printInfo('Restarting MCP Server...');
764
- _a.label = 1;
765
- case 1:
766
- _a.trys.push([1, 3, , 4]);
767
- manager = getServerManager();
768
- return [4 /*yield*/, manager.restart()];
769
- case 2:
770
- status = _a.sent();
771
- output.printSuccess('MCP Server restarted');
772
- output.writeln(output.dim(" PID: " + status.pid));
773
- return [2 /*return*/, { success: true, data: status }];
774
- case 3:
775
- error_6 = _a.sent();
776
- output.printError("Failed to restart: " + error_6.message);
777
- return [2 /*return*/, { success: false, exitCode: 1 }];
778
- case 4: return [2 /*return*/];
779
- }
780
- });
781
- }); }
657
+ action: async (ctx) => {
658
+ const force = ctx.flags.force;
659
+ output.printInfo('Restarting MCP Server...');
660
+ try {
661
+ const manager = getServerManager();
662
+ const status = await manager.restart();
663
+ output.printSuccess('MCP Server restarted');
664
+ output.writeln(output.dim(` PID: ${status.pid}`));
665
+ return { success: true, data: status };
666
+ }
667
+ catch (error) {
668
+ output.printError(`Failed to restart: ${error.message}`);
669
+ return { success: false, exitCode: 1 };
670
+ }
671
+ }
782
672
  };
783
673
  // Main MCP command
784
- export var mcpCommand = {
674
+ export const mcpCommand = {
785
675
  name: 'mcp',
786
676
  description: 'MCP server management',
787
677
  subcommands: [
@@ -803,28 +693,26 @@ export var mcpCommand = {
803
693
  { command: 'claude-flow mcp tools', description: 'List tools' },
804
694
  { command: 'claude-flow mcp stop', description: 'Stop the server' }
805
695
  ],
806
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
807
- return __generator(this, function (_a) {
808
- output.writeln();
809
- output.writeln(output.bold('MCP Server Management'));
810
- output.writeln();
811
- output.writeln('Usage: claude-flow mcp <subcommand> [options]');
812
- output.writeln();
813
- output.writeln('Subcommands:');
814
- output.printList([
815
- output.highlight('start') + " - Start MCP server",
816
- output.highlight('stop') + " - Stop MCP server",
817
- output.highlight('status') + " - Show server status",
818
- output.highlight('health') + " - Check server health",
819
- output.highlight('restart') + " - Restart MCP server",
820
- output.highlight('tools') + " - List available tools",
821
- output.highlight('toggle') + " - Enable/disable tools",
822
- output.highlight('exec') + " - Execute a tool",
823
- output.highlight('logs') + " - Show server logs"
824
- ]);
825
- return [2 /*return*/, { success: true }];
826
- });
827
- }); }
696
+ action: async (ctx) => {
697
+ output.writeln();
698
+ output.writeln(output.bold('MCP Server Management'));
699
+ output.writeln();
700
+ output.writeln('Usage: claude-flow mcp <subcommand> [options]');
701
+ output.writeln();
702
+ output.writeln('Subcommands:');
703
+ output.printList([
704
+ `${output.highlight('start')} - Start MCP server`,
705
+ `${output.highlight('stop')} - Stop MCP server`,
706
+ `${output.highlight('status')} - Show server status`,
707
+ `${output.highlight('health')} - Check server health`,
708
+ `${output.highlight('restart')} - Restart MCP server`,
709
+ `${output.highlight('tools')} - List available tools`,
710
+ `${output.highlight('toggle')} - Enable/disable tools`,
711
+ `${output.highlight('exec')} - Execute a tool`,
712
+ `${output.highlight('logs')} - Show server logs`
713
+ ]);
714
+ return { success: true };
715
+ }
828
716
  };
829
717
  export default mcpCommand;
830
718
  //# sourceMappingURL=mcp.js.map