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.
- package/dist/src/appliance/gguf-engine.d.ts +91 -0
- package/dist/src/appliance/gguf-engine.d.ts.map +1 -0
- package/dist/src/appliance/gguf-engine.js +286 -525
- package/dist/src/appliance/gguf-engine.js.map +1 -1
- package/dist/src/appliance/ruvllm-bridge.d.ts +102 -0
- package/dist/src/appliance/ruvllm-bridge.d.ts.map +1 -0
- package/dist/src/appliance/ruvllm-bridge.js +203 -403
- package/dist/src/appliance/ruvllm-bridge.js.map +1 -1
- package/dist/src/appliance/rvfa-builder.d.ts +44 -0
- package/dist/src/appliance/rvfa-builder.d.ts.map +1 -0
- package/dist/src/appliance/rvfa-builder.js +154 -208
- package/dist/src/appliance/rvfa-builder.js.map +1 -1
- package/dist/src/appliance/rvfa-distribution.d.ts +97 -0
- package/dist/src/appliance/rvfa-distribution.d.ts.map +1 -0
- package/dist/src/appliance/rvfa-distribution.js +260 -423
- package/dist/src/appliance/rvfa-distribution.js.map +1 -1
- package/dist/src/appliance/rvfa-format.d.ts +111 -0
- package/dist/src/appliance/rvfa-format.d.ts.map +1 -0
- package/dist/src/appliance/rvfa-format.js +128 -200
- package/dist/src/appliance/rvfa-format.js.map +1 -1
- package/dist/src/appliance/rvfa-runner.d.ts +69 -0
- package/dist/src/appliance/rvfa-runner.d.ts.map +1 -0
- package/dist/src/appliance/rvfa-runner.js +168 -304
- package/dist/src/appliance/rvfa-runner.js.map +1 -1
- package/dist/src/appliance/rvfa-signing.d.ts +123 -0
- package/dist/src/appliance/rvfa-signing.d.ts.map +1 -0
- package/dist/src/appliance/rvfa-signing.js +173 -295
- package/dist/src/appliance/rvfa-signing.js.map +1 -1
- package/dist/src/benchmarks/pretrain/index.d.ts +58 -0
- package/dist/src/benchmarks/pretrain/index.d.ts.map +1 -0
- package/dist/src/benchmarks/pretrain/index.js +331 -542
- package/dist/src/benchmarks/pretrain/index.js.map +1 -1
- package/dist/src/commands/agent.js +574 -697
- package/dist/src/commands/agent.js.map +1 -1
- package/dist/src/commands/analyze.js +1218 -1548
- package/dist/src/commands/analyze.js.map +1 -1
- package/dist/src/commands/appliance-advanced.js +158 -267
- package/dist/src/commands/appliance-advanced.js.map +1 -1
- package/dist/src/commands/appliance.js +318 -493
- package/dist/src/commands/appliance.js.map +1 -1
- package/dist/src/commands/benchmark.js +372 -523
- package/dist/src/commands/benchmark.js.map +1 -1
- package/dist/src/commands/claims.js +274 -364
- package/dist/src/commands/claims.js.map +1 -1
- package/dist/src/commands/cleanup.js +113 -157
- package/dist/src/commands/cleanup.js.map +1 -1
- package/dist/src/commands/completions.js +477 -118
- package/dist/src/commands/completions.js.map +1 -1
- package/dist/src/commands/config.js +237 -303
- package/dist/src/commands/config.js.map +1 -1
- package/dist/src/commands/daemon.js +487 -596
- package/dist/src/commands/daemon.js.map +1 -1
- package/dist/src/commands/deployment.js +194 -275
- package/dist/src/commands/deployment.js.map +1 -1
- package/dist/src/commands/doctor.js +504 -686
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/embeddings.js +1293 -1543
- package/dist/src/commands/embeddings.js.map +1 -1
- package/dist/src/commands/guidance.js +449 -596
- package/dist/src/commands/guidance.js.map +1 -1
- package/dist/src/commands/hive-mind.js +854 -938
- package/dist/src/commands/hive-mind.js.map +1 -1
- package/dist/src/commands/hooks.js +3112 -3519
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/index.d.ts +115 -0
- package/dist/src/commands/index.d.ts.map +1 -0
- package/dist/src/commands/index.js +126 -308
- package/dist/src/commands/index.js.map +1 -1
- package/dist/src/commands/init.js +788 -940
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/issues.js +383 -558
- package/dist/src/commands/issues.js.map +1 -1
- package/dist/src/commands/mcp.js +493 -605
- package/dist/src/commands/mcp.js.map +1 -1
- package/dist/src/commands/memory.js +833 -1026
- package/dist/src/commands/memory.js.map +1 -1
- package/dist/src/commands/migrate.js +282 -347
- package/dist/src/commands/migrate.js.map +1 -1
- package/dist/src/commands/neural.js +1289 -1563
- package/dist/src/commands/neural.js.map +1 -1
- package/dist/src/commands/performance.js +497 -643
- package/dist/src/commands/performance.js.map +1 -1
- package/dist/src/commands/plugins.js +668 -841
- package/dist/src/commands/plugins.js.map +1 -1
- package/dist/src/commands/process.js +392 -447
- package/dist/src/commands/process.js.map +1 -1
- package/dist/src/commands/progress.js +162 -256
- package/dist/src/commands/progress.js.map +1 -1
- package/dist/src/commands/providers.js +150 -220
- package/dist/src/commands/providers.js.map +1 -1
- package/dist/src/commands/route.js +520 -665
- package/dist/src/commands/route.js.map +1 -1
- package/dist/src/commands/ruvector/backup.js +505 -651
- package/dist/src/commands/ruvector/backup.js.map +1 -1
- package/dist/src/commands/ruvector/benchmark.js +349 -401
- package/dist/src/commands/ruvector/benchmark.js.map +1 -1
- package/dist/src/commands/ruvector/import.js +224 -266
- package/dist/src/commands/ruvector/import.js.map +1 -1
- package/dist/src/commands/ruvector/index.js +37 -75
- package/dist/src/commands/ruvector/index.js.map +1 -1
- package/dist/src/commands/ruvector/init.js +336 -359
- package/dist/src/commands/ruvector/init.js.map +1 -1
- package/dist/src/commands/ruvector/migrate.js +335 -322
- package/dist/src/commands/ruvector/migrate.js.map +1 -1
- package/dist/src/commands/ruvector/optimize.js +375 -431
- package/dist/src/commands/ruvector/optimize.js.map +1 -1
- package/dist/src/commands/ruvector/setup.js +703 -117
- package/dist/src/commands/ruvector/setup.js.map +1 -1
- package/dist/src/commands/ruvector/status.js +364 -419
- package/dist/src/commands/ruvector/status.js.map +1 -1
- package/dist/src/commands/security.js +485 -608
- package/dist/src/commands/security.js.map +1 -1
- package/dist/src/commands/session.js +504 -626
- package/dist/src/commands/session.js.map +1 -1
- package/dist/src/commands/start.js +267 -364
- package/dist/src/commands/start.js.map +1 -1
- package/dist/src/commands/status.js +380 -486
- package/dist/src/commands/status.js.map +1 -1
- package/dist/src/commands/swarm.js +408 -488
- package/dist/src/commands/swarm.js.map +1 -1
- package/dist/src/commands/task.js +423 -538
- package/dist/src/commands/task.js.map +1 -1
- package/dist/src/commands/transfer-store.js +322 -412
- package/dist/src/commands/transfer-store.js.map +1 -1
- package/dist/src/commands/update.js +196 -291
- package/dist/src/commands/update.js.map +1 -1
- package/dist/src/commands/workflow.js +386 -486
- package/dist/src/commands/workflow.js.map +1 -1
- package/dist/src/config-adapter.d.ts +15 -0
- package/dist/src/config-adapter.d.ts.map +1 -0
- package/dist/src/config-adapter.js +38 -39
- package/dist/src/config-adapter.js.map +1 -1
- package/dist/src/index.d.ts +77 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +309 -411
- package/dist/src/index.js.map +1 -1
- package/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
- package/dist/src/infrastructure/in-memory-repositories.d.ts.map +1 -0
- package/dist/src/infrastructure/in-memory-repositories.js +246 -507
- package/dist/src/infrastructure/in-memory-repositories.js.map +1 -1
- package/dist/src/init/claudemd-generator.d.ts +25 -0
- package/dist/src/init/claudemd-generator.d.ts.map +1 -0
- package/dist/src/init/claudemd-generator.js +368 -78
- package/dist/src/init/claudemd-generator.js.map +1 -1
- package/dist/src/init/executor.d.ts +41 -0
- package/dist/src/init/executor.d.ts.map +1 -0
- package/dist/src/init/executor.js +1307 -996
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/helpers-generator.d.ts +60 -0
- package/dist/src/init/helpers-generator.d.ts.map +1 -0
- package/dist/src/init/helpers-generator.js +657 -12
- package/dist/src/init/helpers-generator.js.map +1 -1
- package/dist/src/init/index.d.ts +1 -1
- package/dist/src/init/index.d.ts.map +1 -1
- package/dist/src/init/index.js +1 -1
- package/dist/src/init/index.js.map +1 -1
- package/dist/src/init/mcp-generator.js +33 -37
- package/dist/src/init/mcp-generator.js.map +1 -1
- package/dist/src/init/settings-generator.js +76 -77
- package/dist/src/init/settings-generator.js.map +1 -1
- package/dist/src/init/statusline-generator.js +801 -3
- package/dist/src/init/statusline-generator.js.map +1 -1
- package/dist/src/init/types.d.ts +1 -1
- package/dist/src/init/types.d.ts.map +1 -1
- package/dist/src/init/types.js +76 -59
- package/dist/src/init/types.js.map +1 -1
- package/dist/src/mcp-client.d.ts +92 -0
- package/dist/src/mcp-client.d.ts.map +1 -0
- package/dist/src/mcp-client.js +81 -125
- package/dist/src/mcp-client.js.map +1 -1
- package/dist/src/mcp-server.d.ts +161 -0
- package/dist/src/mcp-server.d.ts.map +1 -0
- package/dist/src/mcp-server.js +470 -757
- package/dist/src/mcp-server.js.map +1 -1
- package/dist/src/mcp-tools/agent-tools.js +391 -492
- package/dist/src/mcp-tools/agent-tools.js.map +1 -1
- package/dist/src/mcp-tools/agentdb-tools.js +332 -533
- package/dist/src/mcp-tools/agentdb-tools.js.map +1 -1
- package/dist/src/mcp-tools/analyze-tools.js +172 -236
- package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
- package/dist/src/mcp-tools/auto-install.d.ts +83 -0
- package/dist/src/mcp-tools/auto-install.d.ts.map +1 -0
- package/dist/src/mcp-tools/auto-install.js +80 -142
- package/dist/src/mcp-tools/auto-install.js.map +1 -1
- package/dist/src/mcp-tools/browser-tools.js +252 -375
- package/dist/src/mcp-tools/browser-tools.js.map +1 -1
- package/dist/src/mcp-tools/claims-tools.js +473 -565
- package/dist/src/mcp-tools/claims-tools.js.map +1 -1
- package/dist/src/mcp-tools/config-tools.js +197 -272
- package/dist/src/mcp-tools/config-tools.js.map +1 -1
- package/dist/src/mcp-tools/coordination-tools.js +500 -572
- package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
- package/dist/src/mcp-tools/daa-tools.js +286 -364
- package/dist/src/mcp-tools/daa-tools.js.map +1 -1
- package/dist/src/mcp-tools/embeddings-tools.js +582 -693
- package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
- package/dist/src/mcp-tools/github-tools.js +260 -311
- package/dist/src/mcp-tools/github-tools.js.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.js +573 -640
- package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.js +2215 -2648
- package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
- package/dist/src/mcp-tools/memory-tools.js +350 -505
- package/dist/src/mcp-tools/memory-tools.js.map +1 -1
- package/dist/src/mcp-tools/neural-tools.js +315 -412
- package/dist/src/mcp-tools/neural-tools.js.map +1 -1
- package/dist/src/mcp-tools/performance-tools.js +420 -480
- package/dist/src/mcp-tools/performance-tools.js.map +1 -1
- package/dist/src/mcp-tools/progress-tools.js +204 -278
- package/dist/src/mcp-tools/progress-tools.js.map +1 -1
- package/dist/src/mcp-tools/ruvllm-tools.js +163 -279
- package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -1
- package/dist/src/mcp-tools/security-tools.js +297 -429
- package/dist/src/mcp-tools/security-tools.js.map +1 -1
- package/dist/src/mcp-tools/session-tools.js +185 -234
- package/dist/src/mcp-tools/session-tools.js.map +1 -1
- package/dist/src/mcp-tools/swarm-tools.js +207 -260
- package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
- package/dist/src/mcp-tools/system-tools.js +276 -325
- package/dist/src/mcp-tools/system-tools.js.map +1 -1
- package/dist/src/mcp-tools/task-tools.js +270 -336
- package/dist/src/mcp-tools/task-tools.js.map +1 -1
- package/dist/src/mcp-tools/terminal-tools.js +148 -196
- package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
- package/dist/src/mcp-tools/transfer-tools.js +186 -333
- package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
- package/dist/src/mcp-tools/types.d.ts +31 -0
- package/dist/src/mcp-tools/types.d.ts.map +1 -0
- package/dist/src/mcp-tools/wasm-agent-tools.js +133 -280
- package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -1
- package/dist/src/mcp-tools/workflow-tools.js +405 -450
- package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
- package/dist/src/memory/ewc-consolidation.d.ts +295 -0
- package/dist/src/memory/ewc-consolidation.d.ts.map +1 -0
- package/dist/src/memory/ewc-consolidation.js +190 -303
- package/dist/src/memory/ewc-consolidation.js.map +1 -1
- package/dist/src/memory/intelligence.d.ts +338 -0
- package/dist/src/memory/intelligence.d.ts.map +1 -0
- package/dist/src/memory/intelligence.js +569 -794
- package/dist/src/memory/intelligence.js.map +1 -1
- package/dist/src/memory/memory-bridge.d.ts +407 -0
- package/dist/src/memory/memory-bridge.d.ts.map +1 -0
- package/dist/src/memory/memory-bridge.js +1170 -1640
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/src/memory/memory-initializer.d.ts +412 -0
- package/dist/src/memory/memory-initializer.d.ts.map +1 -0
- package/dist/src/memory/memory-initializer.js +1836 -1851
- package/dist/src/memory/memory-initializer.js.map +1 -1
- package/dist/src/memory/sona-optimizer.d.ts +227 -0
- package/dist/src/memory/sona-optimizer.d.ts.map +1 -0
- package/dist/src/memory/sona-optimizer.js +199 -329
- package/dist/src/memory/sona-optimizer.js.map +1 -1
- package/dist/src/output.d.ts +2 -2
- package/dist/src/output.d.ts.map +1 -1
- package/dist/src/output.js +242 -272
- package/dist/src/output.js.map +1 -1
- package/dist/src/parser.d.ts +51 -0
- package/dist/src/parser.d.ts.map +1 -0
- package/dist/src/parser.js +140 -187
- package/dist/src/parser.js.map +1 -1
- package/dist/src/plugins/manager.d.ts +133 -0
- package/dist/src/plugins/manager.d.ts.map +1 -0
- package/dist/src/plugins/manager.js +285 -521
- package/dist/src/plugins/manager.js.map +1 -1
- package/dist/src/plugins/store/discovery.d.ts +88 -0
- package/dist/src/plugins/store/discovery.d.ts.map +1 -0
- package/dist/src/plugins/store/discovery.js +271 -358
- package/dist/src/plugins/store/discovery.js.map +1 -1
- package/dist/src/plugins/store/index.d.ts +76 -0
- package/dist/src/plugins/store/index.d.ts.map +1 -0
- package/dist/src/plugins/store/index.js +48 -105
- package/dist/src/plugins/store/index.js.map +1 -1
- package/dist/src/plugins/store/search.d.ts +46 -0
- package/dist/src/plugins/store/search.d.ts.map +1 -0
- package/dist/src/plugins/store/search.js +69 -107
- package/dist/src/plugins/store/search.js.map +1 -1
- package/dist/src/plugins/store/types.d.ts +274 -0
- package/dist/src/plugins/store/types.d.ts.map +1 -0
- package/dist/src/plugins/tests/demo-plugin-store.js +113 -160
- package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -1
- package/dist/src/plugins/tests/standalone-test.js +172 -223
- package/dist/src/plugins/tests/standalone-test.js.map +1 -1
- package/dist/src/plugins/tests/test-plugin-store.js +190 -228
- package/dist/src/plugins/tests/test-plugin-store.js.map +1 -1
- package/dist/src/production/circuit-breaker.d.ts +101 -0
- package/dist/src/production/circuit-breaker.d.ts.map +1 -0
- package/dist/src/production/circuit-breaker.js +62 -126
- package/dist/src/production/circuit-breaker.js.map +1 -1
- package/dist/src/production/error-handler.d.ts +92 -0
- package/dist/src/production/error-handler.d.ts.map +1 -0
- package/dist/src/production/error-handler.js +86 -156
- package/dist/src/production/error-handler.js.map +1 -1
- package/dist/src/production/monitoring.d.ts +161 -0
- package/dist/src/production/monitoring.d.ts.map +1 -0
- package/dist/src/production/monitoring.js +139 -220
- package/dist/src/production/monitoring.js.map +1 -1
- package/dist/src/production/rate-limiter.d.ts +80 -0
- package/dist/src/production/rate-limiter.d.ts.map +1 -0
- package/dist/src/production/rate-limiter.js +74 -93
- package/dist/src/production/rate-limiter.js.map +1 -1
- package/dist/src/production/retry.d.ts +48 -0
- package/dist/src/production/retry.d.ts.map +1 -0
- package/dist/src/production/retry.js +75 -167
- package/dist/src/production/retry.js.map +1 -1
- package/dist/src/prompt.d.ts +44 -0
- package/dist/src/prompt.d.ts.map +1 -0
- package/dist/src/prompt.js +436 -560
- package/dist/src/prompt.js.map +1 -1
- package/dist/src/runtime/headless.d.ts +60 -0
- package/dist/src/runtime/headless.d.ts.map +1 -0
- package/dist/src/runtime/headless.js +197 -286
- package/dist/src/runtime/headless.js.map +1 -1
- package/dist/src/ruvector/agent-wasm.d.ts +182 -0
- package/dist/src/ruvector/agent-wasm.d.ts.map +1 -0
- package/dist/src/ruvector/agent-wasm.js +156 -351
- package/dist/src/ruvector/agent-wasm.js.map +1 -1
- package/dist/src/ruvector/ast-analyzer.d.ts +67 -0
- package/dist/src/ruvector/ast-analyzer.d.ts.map +1 -0
- package/dist/src/ruvector/ast-analyzer.js +145 -232
- package/dist/src/ruvector/ast-analyzer.js.map +1 -1
- package/dist/src/ruvector/coverage-router.d.ts +160 -0
- package/dist/src/ruvector/coverage-router.d.ts.map +1 -0
- package/dist/src/ruvector/coverage-router.js +287 -419
- package/dist/src/ruvector/coverage-router.js.map +1 -1
- package/dist/src/ruvector/coverage-tools.js +56 -101
- package/dist/src/ruvector/coverage-tools.js.map +1 -1
- package/dist/src/ruvector/diff-classifier.d.ts +175 -0
- package/dist/src/ruvector/diff-classifier.d.ts.map +1 -0
- package/dist/src/ruvector/diff-classifier.js +324 -451
- package/dist/src/ruvector/diff-classifier.js.map +1 -1
- package/dist/src/ruvector/enhanced-model-router.d.ts +146 -0
- package/dist/src/ruvector/enhanced-model-router.d.ts.map +1 -0
- package/dist/src/ruvector/enhanced-model-router.js +260 -336
- package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
- package/dist/src/ruvector/flash-attention.d.ts +195 -0
- package/dist/src/ruvector/flash-attention.d.ts.map +1 -0
- package/dist/src/ruvector/flash-attention.js +223 -254
- package/dist/src/ruvector/flash-attention.js.map +1 -1
- package/dist/src/ruvector/graph-analyzer.d.ts +187 -0
- package/dist/src/ruvector/graph-analyzer.d.ts.map +1 -0
- package/dist/src/ruvector/graph-analyzer.js +486 -680
- package/dist/src/ruvector/graph-analyzer.js.map +1 -1
- package/dist/src/ruvector/index.d.ts +40 -0
- package/dist/src/ruvector/index.d.ts.map +1 -0
- package/dist/src/ruvector/index.js +36 -106
- package/dist/src/ruvector/index.js.map +1 -1
- package/dist/src/ruvector/lora-adapter.d.ts +218 -0
- package/dist/src/ruvector/lora-adapter.d.ts.map +1 -0
- package/dist/src/ruvector/lora-adapter.js +155 -248
- package/dist/src/ruvector/lora-adapter.js.map +1 -1
- package/dist/src/ruvector/model-router.d.ts +220 -0
- package/dist/src/ruvector/model-router.d.ts.map +1 -0
- package/dist/src/ruvector/model-router.js +175 -248
- package/dist/src/ruvector/model-router.js.map +1 -1
- package/dist/src/ruvector/moe-router.d.ts +206 -0
- package/dist/src/ruvector/moe-router.d.ts.map +1 -0
- package/dist/src/ruvector/moe-router.js +228 -286
- package/dist/src/ruvector/moe-router.js.map +1 -1
- package/dist/src/ruvector/q-learning-router.d.ts +211 -0
- package/dist/src/ruvector/q-learning-router.d.ts.map +1 -0
- package/dist/src/ruvector/q-learning-router.js +257 -338
- package/dist/src/ruvector/q-learning-router.js.map +1 -1
- package/dist/src/ruvector/ruvllm-wasm.d.ts +179 -0
- package/dist/src/ruvector/ruvllm-wasm.d.ts.map +1 -0
- package/dist/src/ruvector/ruvllm-wasm.js +270 -434
- package/dist/src/ruvector/ruvllm-wasm.js.map +1 -1
- package/dist/src/ruvector/semantic-router.d.ts +77 -0
- package/dist/src/ruvector/semantic-router.d.ts.map +1 -0
- package/dist/src/ruvector/semantic-router.js +60 -67
- package/dist/src/ruvector/semantic-router.js.map +1 -1
- package/dist/src/ruvector/vector-db.d.ts +69 -0
- package/dist/src/ruvector/vector-db.d.ts.map +1 -0
- package/dist/src/ruvector/vector-db.js +119 -205
- package/dist/src/ruvector/vector-db.js.map +1 -1
- package/dist/src/services/agentic-flow-bridge.d.ts +50 -0
- package/dist/src/services/agentic-flow-bridge.d.ts.map +1 -0
- package/dist/src/services/agentic-flow-bridge.js +32 -105
- package/dist/src/services/agentic-flow-bridge.js.map +1 -1
- package/dist/src/services/claim-service.d.ts +204 -0
- package/dist/src/services/claim-service.d.ts.map +1 -0
- package/dist/src/services/claim-service.js +615 -940
- package/dist/src/services/claim-service.js.map +1 -1
- package/dist/src/services/container-worker-pool.d.ts +197 -0
- package/dist/src/services/container-worker-pool.d.ts.map +1 -0
- package/dist/src/services/container-worker-pool.js +398 -666
- package/dist/src/services/container-worker-pool.js.map +1 -1
- package/dist/src/services/headless-worker-executor.d.ts +304 -0
- package/dist/src/services/headless-worker-executor.d.ts.map +1 -0
- package/dist/src/services/headless-worker-executor.js +441 -467
- package/dist/src/services/headless-worker-executor.js.map +1 -1
- package/dist/src/services/index.d.ts +4 -4
- package/dist/src/services/index.d.ts.map +1 -1
- package/dist/src/services/index.js +4 -4
- package/dist/src/services/index.js.map +1 -1
- package/dist/src/services/registry-api.d.ts +58 -0
- package/dist/src/services/registry-api.d.ts.map +1 -0
- package/dist/src/services/registry-api.js +92 -200
- package/dist/src/services/registry-api.js.map +1 -1
- package/dist/src/services/ruvector-training.d.ts +222 -0
- package/dist/src/services/ruvector-training.d.ts.map +1 -0
- package/dist/src/services/ruvector-training.js +257 -337
- package/dist/src/services/ruvector-training.js.map +1 -1
- package/dist/src/services/worker-daemon.d.ts +228 -0
- package/dist/src/services/worker-daemon.d.ts.map +1 -0
- package/dist/src/services/worker-daemon.js +591 -849
- package/dist/src/services/worker-daemon.js.map +1 -1
- package/dist/src/services/worker-queue.d.ts +194 -0
- package/dist/src/services/worker-queue.d.ts.map +1 -0
- package/dist/src/services/worker-queue.js +331 -548
- package/dist/src/services/worker-queue.js.map +1 -1
- package/dist/src/suggest.d.ts +53 -0
- package/dist/src/suggest.d.ts.map +1 -0
- package/dist/src/suggest.js +45 -55
- package/dist/src/suggest.js.map +1 -1
- package/dist/src/transfer/anonymization/index.js +29 -37
- package/dist/src/transfer/anonymization/index.js.map +1 -1
- package/dist/src/transfer/deploy-seraphine.js +128 -155
- package/dist/src/transfer/deploy-seraphine.js.map +1 -1
- package/dist/src/transfer/export.d.ts +25 -0
- package/dist/src/transfer/export.d.ts.map +1 -0
- package/dist/src/transfer/export.js +84 -142
- package/dist/src/transfer/export.js.map +1 -1
- package/dist/src/transfer/index.d.ts +1 -1
- package/dist/src/transfer/index.d.ts.map +1 -1
- package/dist/src/transfer/index.js +0 -2
- package/dist/src/transfer/index.js.map +1 -1
- package/dist/src/transfer/ipfs/client.d.ts +109 -0
- package/dist/src/transfer/ipfs/client.d.ts.map +1 -0
- package/dist/src/transfer/ipfs/client.js +187 -337
- package/dist/src/transfer/ipfs/client.js.map +1 -1
- package/dist/src/transfer/ipfs/upload.d.ts +95 -0
- package/dist/src/transfer/ipfs/upload.d.ts.map +1 -0
- package/dist/src/transfer/ipfs/upload.js +288 -434
- package/dist/src/transfer/ipfs/upload.js.map +1 -1
- package/dist/src/transfer/models/seraphine.d.ts +72 -0
- package/dist/src/transfer/models/seraphine.d.ts.map +1 -0
- package/dist/src/transfer/models/seraphine.js +55 -55
- package/dist/src/transfer/models/seraphine.js.map +1 -1
- package/dist/src/transfer/serialization/cfp.d.ts +49 -0
- package/dist/src/transfer/serialization/cfp.d.ts.map +1 -0
- package/dist/src/transfer/serialization/cfp.js +30 -31
- package/dist/src/transfer/serialization/cfp.js.map +1 -1
- package/dist/src/transfer/storage/gcs.d.ts +82 -0
- package/dist/src/transfer/storage/gcs.d.ts.map +1 -0
- package/dist/src/transfer/storage/gcs.js +165 -232
- package/dist/src/transfer/storage/gcs.js.map +1 -1
- package/dist/src/transfer/store/discovery.d.ts +84 -0
- package/dist/src/transfer/store/discovery.d.ts.map +1 -0
- package/dist/src/transfer/store/discovery.js +239 -349
- package/dist/src/transfer/store/discovery.js.map +1 -1
- package/dist/src/transfer/store/download.d.ts +70 -0
- package/dist/src/transfer/store/download.d.ts.map +1 -0
- package/dist/src/transfer/store/download.js +243 -365
- package/dist/src/transfer/store/download.js.map +1 -1
- package/dist/src/transfer/store/index.d.ts +84 -0
- package/dist/src/transfer/store/index.d.ts.map +1 -0
- package/dist/src/transfer/store/index.js +63 -130
- package/dist/src/transfer/store/index.js.map +1 -1
- package/dist/src/transfer/store/publish.d.ts +76 -0
- package/dist/src/transfer/store/publish.d.ts.map +1 -0
- package/dist/src/transfer/store/publish.js +184 -258
- package/dist/src/transfer/store/publish.js.map +1 -1
- package/dist/src/transfer/store/registry.js +50 -72
- package/dist/src/transfer/store/registry.js.map +1 -1
- package/dist/src/transfer/store/search.d.ts +54 -0
- package/dist/src/transfer/store/search.d.ts.map +1 -0
- package/dist/src/transfer/store/search.js +64 -96
- package/dist/src/transfer/store/search.js.map +1 -1
- package/dist/src/transfer/store/tests/standalone-test.js +174 -231
- package/dist/src/transfer/store/tests/standalone-test.js.map +1 -1
- package/dist/src/transfer/test-seraphine.js +95 -130
- package/dist/src/transfer/test-seraphine.js.map +1 -1
- package/dist/src/transfer/tests/test-store.js +194 -239
- package/dist/src/transfer/tests/test-store.js.map +1 -1
- package/dist/src/transfer/types.d.ts +245 -0
- package/dist/src/transfer/types.d.ts.map +1 -0
- package/dist/src/types.d.ts +198 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +26 -55
- package/dist/src/types.js.map +1 -1
- package/dist/src/update/checker.d.ts +34 -0
- package/dist/src/update/checker.d.ts.map +1 -0
- package/dist/src/update/checker.js +106 -183
- package/dist/src/update/checker.js.map +1 -1
- package/dist/src/update/executor.d.ts +32 -0
- package/dist/src/update/executor.d.ts.map +1 -0
- package/dist/src/update/executor.js +135 -198
- package/dist/src/update/executor.js.map +1 -1
- package/dist/src/update/index.d.ts +33 -0
- package/dist/src/update/index.d.ts.map +1 -0
- package/dist/src/update/index.js +38 -85
- package/dist/src/update/index.js.map +1 -1
- package/dist/src/update/rate-limiter.d.ts +20 -0
- package/dist/src/update/rate-limiter.d.ts.map +1 -0
- package/dist/src/update/rate-limiter.js +19 -31
- package/dist/src/update/rate-limiter.js.map +1 -1
- package/dist/src/update/validator.d.ts +17 -0
- package/dist/src/update/validator.d.ts.map +1 -0
- package/dist/src/update/validator.js +38 -64
- package/dist/src/update/validator.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -2,85 +2,37 @@
|
|
|
2
2
|
* V3 CLI Start Command
|
|
3
3
|
* System startup for Claude Flow orchestration
|
|
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
|
import { confirm } from '../prompt.js';
|
|
54
7
|
import { callMCPTool, MCPClientError } from '../mcp-client.js';
|
|
55
8
|
import * as fs from 'fs';
|
|
56
9
|
import * as path from 'path';
|
|
57
10
|
// Default configuration
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
11
|
+
const DEFAULT_PORT = 3000;
|
|
12
|
+
const DEFAULT_TOPOLOGY = 'hierarchical-mesh';
|
|
13
|
+
const DEFAULT_MAX_AGENTS = 15;
|
|
61
14
|
// Check if project is initialized
|
|
62
15
|
function isInitialized(cwd) {
|
|
63
|
-
|
|
16
|
+
const configPath = path.join(cwd, '.claude-flow', 'config.yaml');
|
|
64
17
|
return fs.existsSync(configPath);
|
|
65
18
|
}
|
|
66
19
|
// Simple YAML parser for config (basic implementation)
|
|
67
20
|
function parseSimpleYaml(content) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
21
|
+
const result = {};
|
|
22
|
+
const lines = content.split('\n');
|
|
23
|
+
const stack = [
|
|
71
24
|
{ indent: -1, obj: result }
|
|
72
25
|
];
|
|
73
|
-
for (
|
|
74
|
-
var line = lines_1[_i];
|
|
26
|
+
for (const line of lines) {
|
|
75
27
|
// Skip comments and empty lines
|
|
76
28
|
if (line.trim().startsWith('#') || line.trim() === '')
|
|
77
29
|
continue;
|
|
78
|
-
|
|
30
|
+
const match = line.match(/^(\s*)(\w+):\s*(.*)$/);
|
|
79
31
|
if (!match)
|
|
80
32
|
continue;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
33
|
+
const indent = match[1].length;
|
|
34
|
+
const key = match[2];
|
|
35
|
+
let value = match[3].trim();
|
|
84
36
|
// Parse value
|
|
85
37
|
if (value === '' || value === undefined) {
|
|
86
38
|
value = {};
|
|
@@ -104,10 +56,10 @@ function parseSimpleYaml(content) {
|
|
|
104
56
|
while (stack.length > 1 && stack[stack.length - 1].indent >= indent) {
|
|
105
57
|
stack.pop();
|
|
106
58
|
}
|
|
107
|
-
|
|
59
|
+
const parent = stack[stack.length - 1].obj;
|
|
108
60
|
if (typeof value === 'object' && value !== null) {
|
|
109
61
|
parent[key] = value;
|
|
110
|
-
stack.push({ indent
|
|
62
|
+
stack.push({ indent, obj: value, key });
|
|
111
63
|
}
|
|
112
64
|
else {
|
|
113
65
|
parent[key] = value;
|
|
@@ -117,179 +69,166 @@ function parseSimpleYaml(content) {
|
|
|
117
69
|
}
|
|
118
70
|
// Load configuration
|
|
119
71
|
function loadConfig(cwd) {
|
|
120
|
-
|
|
72
|
+
const configPath = path.join(cwd, '.claude-flow', 'config.yaml');
|
|
121
73
|
if (!fs.existsSync(configPath))
|
|
122
74
|
return null;
|
|
123
75
|
try {
|
|
124
|
-
|
|
76
|
+
const content = fs.readFileSync(configPath, 'utf-8');
|
|
125
77
|
return parseSimpleYaml(content);
|
|
126
78
|
}
|
|
127
|
-
catch
|
|
79
|
+
catch {
|
|
128
80
|
return null;
|
|
129
81
|
}
|
|
130
82
|
}
|
|
131
83
|
// Main start action
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
spinner.
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
_g.trys.push([3, 5, , 6]);
|
|
182
|
-
return [4 /*yield*/, callMCPTool('mcp_start', {
|
|
183
|
-
port: mcpPort,
|
|
184
|
-
transport: mcpConfig.transportType || 'stdio',
|
|
185
|
-
tools: mcpConfig.tools || ['agent', 'swarm', 'memory', 'task']
|
|
186
|
-
})];
|
|
187
|
-
case 4:
|
|
188
|
-
mcpResult = _g.sent();
|
|
189
|
-
spinner.succeed("MCP server started on port " + mcpPort);
|
|
190
|
-
return [3 /*break*/, 6];
|
|
191
|
-
case 5:
|
|
192
|
-
error_1 = _g.sent();
|
|
84
|
+
const startAction = async (ctx) => {
|
|
85
|
+
const daemon = ctx.flags.daemon;
|
|
86
|
+
const port = ctx.flags.port || DEFAULT_PORT;
|
|
87
|
+
const topology = ctx.flags.topology || DEFAULT_TOPOLOGY;
|
|
88
|
+
const skipMcp = ctx.flags['skip-mcp'];
|
|
89
|
+
const cwd = ctx.cwd;
|
|
90
|
+
// Check initialization
|
|
91
|
+
if (!isInitialized(cwd)) {
|
|
92
|
+
output.printError('RuFlo is not initialized in this directory');
|
|
93
|
+
output.printInfo('Run "ruflo init" first to initialize');
|
|
94
|
+
return { success: false, exitCode: 1 };
|
|
95
|
+
}
|
|
96
|
+
// Load configuration
|
|
97
|
+
const config = loadConfig(cwd);
|
|
98
|
+
const swarmConfig = config?.swarm || {};
|
|
99
|
+
const mcpConfig = config?.mcp || {};
|
|
100
|
+
const finalTopology = topology || swarmConfig.topology || DEFAULT_TOPOLOGY;
|
|
101
|
+
const maxAgents = swarmConfig.maxAgents || DEFAULT_MAX_AGENTS;
|
|
102
|
+
const autoStartMcp = mcpConfig.autoStart !== false && !skipMcp;
|
|
103
|
+
const mcpPort = port || mcpConfig.serverPort || DEFAULT_PORT;
|
|
104
|
+
output.writeln();
|
|
105
|
+
output.writeln(output.bold('Starting RuFlo V3'));
|
|
106
|
+
output.writeln();
|
|
107
|
+
const spinner = output.createSpinner({ text: 'Initializing system...' });
|
|
108
|
+
try {
|
|
109
|
+
// Step 1: Initialize swarm
|
|
110
|
+
spinner.start();
|
|
111
|
+
spinner.setText('Initializing V3 swarm...');
|
|
112
|
+
const swarmResult = await callMCPTool('swarm_init', {
|
|
113
|
+
topology: finalTopology,
|
|
114
|
+
maxAgents,
|
|
115
|
+
autoScaling: swarmConfig.autoScale !== false,
|
|
116
|
+
v3Mode: true
|
|
117
|
+
});
|
|
118
|
+
spinner.succeed(`Swarm initialized (${finalTopology})`);
|
|
119
|
+
// Step 2: Start MCP server if configured
|
|
120
|
+
let mcpResult = null;
|
|
121
|
+
if (autoStartMcp) {
|
|
122
|
+
spinner.setText('Starting MCP server...');
|
|
123
|
+
spinner.start();
|
|
124
|
+
try {
|
|
125
|
+
mcpResult = await callMCPTool('mcp_start', {
|
|
126
|
+
port: mcpPort,
|
|
127
|
+
transport: mcpConfig.transportType || 'stdio',
|
|
128
|
+
tools: mcpConfig.tools || ['agent', 'swarm', 'memory', 'task']
|
|
129
|
+
});
|
|
130
|
+
spinner.succeed(`MCP server started on port ${mcpPort}`);
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
193
133
|
spinner.fail('MCP server failed to start');
|
|
194
|
-
output.printWarning(
|
|
195
|
-
?
|
|
196
|
-
: String(
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
}
|
|
248
|
-
catch (_h) {
|
|
249
|
-
// Ignore errors if streams can't be unref'd
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
keepAlive_1 = setInterval(function () {
|
|
253
|
-
// Heartbeat - check if we should still be running
|
|
254
|
-
if (!fs.existsSync(daemonPidPath_1)) {
|
|
255
|
-
clearInterval(keepAlive_1);
|
|
256
|
-
process.exit(0);
|
|
257
|
-
}
|
|
258
|
-
}, 5000);
|
|
259
|
-
keepAlive_1.unref(); // Don't prevent process from exiting if no other work
|
|
260
|
-
}
|
|
261
|
-
result = {
|
|
262
|
-
swarmId: swarmResult.swarmId,
|
|
263
|
-
topology: finalTopology,
|
|
264
|
-
maxAgents: maxAgents,
|
|
265
|
-
mcp: mcpResult ? {
|
|
266
|
-
port: mcpPort,
|
|
267
|
-
transport: mcpConfig.transportType || 'stdio'
|
|
268
|
-
} : null,
|
|
269
|
-
health: healthResult.status,
|
|
270
|
-
daemon: daemon,
|
|
271
|
-
startedAt: new Date().toISOString()
|
|
272
|
-
};
|
|
273
|
-
if (ctx.flags.format === 'json') {
|
|
274
|
-
output.printJson(result);
|
|
134
|
+
output.printWarning(error instanceof MCPClientError
|
|
135
|
+
? error.message
|
|
136
|
+
: String(error));
|
|
137
|
+
// Continue without MCP
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// Step 3: Run health check
|
|
141
|
+
spinner.setText('Running health checks...');
|
|
142
|
+
spinner.start();
|
|
143
|
+
const healthResult = await callMCPTool('swarm_health', {
|
|
144
|
+
swarmId: swarmResult.swarmId
|
|
145
|
+
});
|
|
146
|
+
if (healthResult.status === 'healthy') {
|
|
147
|
+
spinner.succeed('Health checks passed');
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
spinner.fail(`Health check: ${healthResult.status}`);
|
|
151
|
+
}
|
|
152
|
+
// Success output
|
|
153
|
+
output.writeln();
|
|
154
|
+
output.printSuccess('RuFlo V3 is running!');
|
|
155
|
+
output.writeln();
|
|
156
|
+
// Status display
|
|
157
|
+
output.printBox([
|
|
158
|
+
`Swarm ID: ${swarmResult.swarmId}`,
|
|
159
|
+
`Topology: ${finalTopology}`,
|
|
160
|
+
`Max Agents: ${maxAgents}`,
|
|
161
|
+
`MCP Server: ${autoStartMcp ? `localhost:${mcpPort}` : 'disabled'}`,
|
|
162
|
+
`Mode: ${daemon ? 'Daemon' : 'Foreground'}`,
|
|
163
|
+
`Health: ${healthResult.status}`
|
|
164
|
+
].join('\n'), 'System Status');
|
|
165
|
+
output.writeln();
|
|
166
|
+
output.writeln(output.bold('Quick Commands:'));
|
|
167
|
+
output.printList([
|
|
168
|
+
`${output.highlight('claude-flow status')} - View system status`,
|
|
169
|
+
`${output.highlight('claude-flow agent spawn -t coder')} - Spawn an agent`,
|
|
170
|
+
`${output.highlight('claude-flow swarm status')} - View swarm details`,
|
|
171
|
+
`${output.highlight('claude-flow stop')} - Stop the system`
|
|
172
|
+
]);
|
|
173
|
+
// Daemon mode
|
|
174
|
+
if (daemon) {
|
|
175
|
+
output.writeln();
|
|
176
|
+
output.printInfo('Running in daemon mode. Use "claude-flow stop" to stop.');
|
|
177
|
+
// Store PID for daemon management
|
|
178
|
+
const daemonPidPath = path.join(cwd, '.claude-flow', 'daemon.pid');
|
|
179
|
+
fs.writeFileSync(daemonPidPath, String(process.pid));
|
|
180
|
+
// Detach from parent process for true daemon behavior
|
|
181
|
+
if (process.platform !== 'win32') {
|
|
182
|
+
// Unix-like systems: create new session
|
|
183
|
+
try {
|
|
184
|
+
process.stdin.unref?.();
|
|
185
|
+
process.stdout.unref?.();
|
|
186
|
+
process.stderr.unref?.();
|
|
275
187
|
}
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
error_2 = _g.sent();
|
|
279
|
-
spinner.fail('Startup failed');
|
|
280
|
-
if (error_2 instanceof MCPClientError) {
|
|
281
|
-
output.printError("Failed to start: " + error_2.message);
|
|
188
|
+
catch {
|
|
189
|
+
// Ignore errors if streams can't be unref'd
|
|
282
190
|
}
|
|
283
|
-
|
|
284
|
-
|
|
191
|
+
}
|
|
192
|
+
// Keep process alive in daemon mode
|
|
193
|
+
const keepAlive = setInterval(() => {
|
|
194
|
+
// Heartbeat - check if we should still be running
|
|
195
|
+
if (!fs.existsSync(daemonPidPath)) {
|
|
196
|
+
clearInterval(keepAlive);
|
|
197
|
+
process.exit(0);
|
|
285
198
|
}
|
|
286
|
-
|
|
287
|
-
|
|
199
|
+
}, 5000);
|
|
200
|
+
keepAlive.unref(); // Don't prevent process from exiting if no other work
|
|
201
|
+
}
|
|
202
|
+
const result = {
|
|
203
|
+
swarmId: swarmResult.swarmId,
|
|
204
|
+
topology: finalTopology,
|
|
205
|
+
maxAgents,
|
|
206
|
+
mcp: mcpResult ? {
|
|
207
|
+
port: mcpPort,
|
|
208
|
+
transport: mcpConfig.transportType || 'stdio'
|
|
209
|
+
} : null,
|
|
210
|
+
health: healthResult.status,
|
|
211
|
+
daemon,
|
|
212
|
+
startedAt: new Date().toISOString()
|
|
213
|
+
};
|
|
214
|
+
if (ctx.flags.format === 'json') {
|
|
215
|
+
output.printJson(result);
|
|
288
216
|
}
|
|
289
|
-
|
|
290
|
-
}
|
|
217
|
+
return { success: true, data: result };
|
|
218
|
+
}
|
|
219
|
+
catch (error) {
|
|
220
|
+
spinner.fail('Startup failed');
|
|
221
|
+
if (error instanceof MCPClientError) {
|
|
222
|
+
output.printError(`Failed to start: ${error.message}`);
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
output.printError(`Unexpected error: ${String(error)}`);
|
|
226
|
+
}
|
|
227
|
+
return { success: false, exitCode: 1 };
|
|
228
|
+
}
|
|
229
|
+
};
|
|
291
230
|
// Stop subcommand
|
|
292
|
-
|
|
231
|
+
const stopCommand = {
|
|
293
232
|
name: 'stop',
|
|
294
233
|
description: 'Stop the RuFlo system',
|
|
295
234
|
options: [
|
|
@@ -298,100 +237,78 @@ var stopCommand = {
|
|
|
298
237
|
short: 'f',
|
|
299
238
|
description: 'Force stop without graceful shutdown',
|
|
300
239
|
type: 'boolean',
|
|
301
|
-
|
|
240
|
+
default: false
|
|
302
241
|
},
|
|
303
242
|
{
|
|
304
243
|
name: 'timeout',
|
|
305
244
|
description: 'Shutdown timeout in seconds',
|
|
306
245
|
type: 'number',
|
|
307
|
-
|
|
246
|
+
default: 30
|
|
308
247
|
}
|
|
309
248
|
],
|
|
310
|
-
action:
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
})];
|
|
325
|
-
case 1:
|
|
326
|
-
confirmed = _c.sent();
|
|
327
|
-
if (!confirmed) {
|
|
328
|
-
output.printInfo('Operation cancelled');
|
|
329
|
-
return [2 /*return*/, { success: true }];
|
|
330
|
-
}
|
|
331
|
-
_c.label = 2;
|
|
332
|
-
case 2:
|
|
333
|
-
spinner = output.createSpinner({ text: 'Stopping system...' });
|
|
334
|
-
spinner.start();
|
|
335
|
-
_c.label = 3;
|
|
336
|
-
case 3:
|
|
337
|
-
_c.trys.push([3, 12, , 13]);
|
|
338
|
-
// Stop MCP server
|
|
339
|
-
spinner.setText('Stopping MCP server...');
|
|
340
|
-
_c.label = 4;
|
|
341
|
-
case 4:
|
|
342
|
-
_c.trys.push([4, 6, , 7]);
|
|
343
|
-
return [4 /*yield*/, callMCPTool('mcp_stop', { graceful: !force, timeout: timeout })];
|
|
344
|
-
case 5:
|
|
345
|
-
_c.sent();
|
|
346
|
-
spinner.succeed('MCP server stopped');
|
|
347
|
-
return [3 /*break*/, 7];
|
|
348
|
-
case 6:
|
|
349
|
-
_a = _c.sent();
|
|
350
|
-
spinner.fail('MCP server was not running');
|
|
351
|
-
return [3 /*break*/, 7];
|
|
352
|
-
case 7:
|
|
353
|
-
// Stop swarm
|
|
354
|
-
spinner.setText('Stopping swarm...');
|
|
355
|
-
spinner.start();
|
|
356
|
-
_c.label = 8;
|
|
357
|
-
case 8:
|
|
358
|
-
_c.trys.push([8, 10, , 11]);
|
|
359
|
-
return [4 /*yield*/, callMCPTool('swarm_stop', {
|
|
360
|
-
graceful: !force,
|
|
361
|
-
timeout: timeout,
|
|
362
|
-
saveState: true
|
|
363
|
-
})];
|
|
364
|
-
case 9:
|
|
365
|
-
_c.sent();
|
|
366
|
-
spinner.succeed('Swarm stopped');
|
|
367
|
-
return [3 /*break*/, 11];
|
|
368
|
-
case 10:
|
|
369
|
-
_b = _c.sent();
|
|
370
|
-
spinner.fail('Swarm was not running');
|
|
371
|
-
return [3 /*break*/, 11];
|
|
372
|
-
case 11:
|
|
373
|
-
daemonPidPath = path.join(ctx.cwd, '.claude-flow', 'daemon.pid');
|
|
374
|
-
if (fs.existsSync(daemonPidPath)) {
|
|
375
|
-
fs.unlinkSync(daemonPidPath);
|
|
376
|
-
}
|
|
377
|
-
output.writeln();
|
|
378
|
-
output.printSuccess('RuFlo stopped successfully');
|
|
379
|
-
return [2 /*return*/, {
|
|
380
|
-
success: true,
|
|
381
|
-
data: { stopped: true, force: force, stoppedAt: new Date().toISOString() }
|
|
382
|
-
}];
|
|
383
|
-
case 12:
|
|
384
|
-
error_3 = _c.sent();
|
|
385
|
-
spinner.fail('Stop failed');
|
|
386
|
-
output.printError("Failed to stop: " + (error_3 instanceof Error ? error_3.message : String(error_3)));
|
|
387
|
-
return [2 /*return*/, { success: false, exitCode: 1 }];
|
|
388
|
-
case 13: return [2 /*return*/];
|
|
249
|
+
action: async (ctx) => {
|
|
250
|
+
const force = ctx.flags.force;
|
|
251
|
+
const timeout = ctx.flags.timeout;
|
|
252
|
+
output.writeln();
|
|
253
|
+
output.writeln(output.bold('Stopping RuFlo'));
|
|
254
|
+
output.writeln();
|
|
255
|
+
if (!force && ctx.interactive) {
|
|
256
|
+
const confirmed = await confirm({
|
|
257
|
+
message: 'Are you sure you want to stop RuFlo?',
|
|
258
|
+
default: false
|
|
259
|
+
});
|
|
260
|
+
if (!confirmed) {
|
|
261
|
+
output.printInfo('Operation cancelled');
|
|
262
|
+
return { success: true };
|
|
389
263
|
}
|
|
390
|
-
}
|
|
391
|
-
|
|
264
|
+
}
|
|
265
|
+
const spinner = output.createSpinner({ text: 'Stopping system...' });
|
|
266
|
+
spinner.start();
|
|
267
|
+
try {
|
|
268
|
+
// Stop MCP server
|
|
269
|
+
spinner.setText('Stopping MCP server...');
|
|
270
|
+
try {
|
|
271
|
+
await callMCPTool('mcp_stop', { graceful: !force, timeout });
|
|
272
|
+
spinner.succeed('MCP server stopped');
|
|
273
|
+
}
|
|
274
|
+
catch {
|
|
275
|
+
spinner.fail('MCP server was not running');
|
|
276
|
+
}
|
|
277
|
+
// Stop swarm
|
|
278
|
+
spinner.setText('Stopping swarm...');
|
|
279
|
+
spinner.start();
|
|
280
|
+
try {
|
|
281
|
+
await callMCPTool('swarm_stop', {
|
|
282
|
+
graceful: !force,
|
|
283
|
+
timeout,
|
|
284
|
+
saveState: true
|
|
285
|
+
});
|
|
286
|
+
spinner.succeed('Swarm stopped');
|
|
287
|
+
}
|
|
288
|
+
catch {
|
|
289
|
+
spinner.fail('Swarm was not running');
|
|
290
|
+
}
|
|
291
|
+
// Clean up daemon PID
|
|
292
|
+
const daemonPidPath = path.join(ctx.cwd, '.claude-flow', 'daemon.pid');
|
|
293
|
+
if (fs.existsSync(daemonPidPath)) {
|
|
294
|
+
fs.unlinkSync(daemonPidPath);
|
|
295
|
+
}
|
|
296
|
+
output.writeln();
|
|
297
|
+
output.printSuccess('RuFlo stopped successfully');
|
|
298
|
+
return {
|
|
299
|
+
success: true,
|
|
300
|
+
data: { stopped: true, force, stoppedAt: new Date().toISOString() }
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
catch (error) {
|
|
304
|
+
spinner.fail('Stop failed');
|
|
305
|
+
output.printError(`Failed to stop: ${error instanceof Error ? error.message : String(error)}`);
|
|
306
|
+
return { success: false, exitCode: 1 };
|
|
307
|
+
}
|
|
308
|
+
}
|
|
392
309
|
};
|
|
393
310
|
// Restart subcommand
|
|
394
|
-
|
|
311
|
+
const restartCommand = {
|
|
395
312
|
name: 'restart',
|
|
396
313
|
description: 'Restart the RuFlo system',
|
|
397
314
|
options: [
|
|
@@ -400,74 +317,60 @@ var restartCommand = {
|
|
|
400
317
|
short: 'f',
|
|
401
318
|
description: 'Force restart',
|
|
402
319
|
type: 'boolean',
|
|
403
|
-
|
|
320
|
+
default: false
|
|
404
321
|
}
|
|
405
322
|
],
|
|
406
|
-
action:
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
_a.sent();
|
|
426
|
-
return [4 /*yield*/, startAction(ctx)];
|
|
427
|
-
case 3:
|
|
428
|
-
startResult = _a.sent();
|
|
429
|
-
return [2 /*return*/, {
|
|
430
|
-
success: startResult.success,
|
|
431
|
-
data: {
|
|
432
|
-
restarted: startResult.success,
|
|
433
|
-
restartedAt: new Date().toISOString()
|
|
434
|
-
}
|
|
435
|
-
}];
|
|
323
|
+
action: async (ctx) => {
|
|
324
|
+
output.writeln();
|
|
325
|
+
output.writeln(output.bold('Restarting RuFlo'));
|
|
326
|
+
output.writeln();
|
|
327
|
+
// Stop first
|
|
328
|
+
const stopCtx = { ...ctx, flags: { ...ctx.flags } };
|
|
329
|
+
const stopResult = await stopCommand.action(stopCtx);
|
|
330
|
+
if (stopResult && !stopResult.success) {
|
|
331
|
+
output.printWarning('Stop failed, attempting to start anyway...');
|
|
332
|
+
}
|
|
333
|
+
// Wait briefly
|
|
334
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
335
|
+
// Start again
|
|
336
|
+
const startResult = await startAction(ctx);
|
|
337
|
+
return {
|
|
338
|
+
success: startResult.success,
|
|
339
|
+
data: {
|
|
340
|
+
restarted: startResult.success,
|
|
341
|
+
restartedAt: new Date().toISOString()
|
|
436
342
|
}
|
|
437
|
-
}
|
|
438
|
-
}
|
|
343
|
+
};
|
|
344
|
+
}
|
|
439
345
|
};
|
|
440
346
|
// Quick start subcommand
|
|
441
|
-
|
|
347
|
+
const quickCommand = {
|
|
442
348
|
name: 'quick',
|
|
443
349
|
aliases: ['q'],
|
|
444
350
|
description: 'Quick start with default settings',
|
|
445
|
-
action:
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
// Start with defaults
|
|
464
|
-
return [2 /*return*/, startAction(__assign(__assign({}, ctx), { flags: __assign(__assign({}, ctx.flags), { topology: 'mesh' }) }))];
|
|
465
|
-
}
|
|
351
|
+
action: async (ctx) => {
|
|
352
|
+
// Initialize if needed
|
|
353
|
+
if (!isInitialized(ctx.cwd)) {
|
|
354
|
+
output.printInfo('Project not initialized, running init first...');
|
|
355
|
+
output.writeln();
|
|
356
|
+
// Call init with minimal settings
|
|
357
|
+
const { initCommand } = await import('./init.js');
|
|
358
|
+
const initCtx = {
|
|
359
|
+
...ctx,
|
|
360
|
+
flags: { ...ctx.flags, minimal: true }
|
|
361
|
+
};
|
|
362
|
+
await initCommand.action(initCtx);
|
|
363
|
+
output.writeln();
|
|
364
|
+
}
|
|
365
|
+
// Start with defaults
|
|
366
|
+
return startAction({
|
|
367
|
+
...ctx,
|
|
368
|
+
flags: { ...ctx.flags, topology: 'mesh' }
|
|
466
369
|
});
|
|
467
|
-
}
|
|
370
|
+
}
|
|
468
371
|
};
|
|
469
372
|
// Main start command
|
|
470
|
-
export
|
|
373
|
+
export const startCommand = {
|
|
471
374
|
name: 'start',
|
|
472
375
|
description: 'Start the RuFlo orchestration system',
|
|
473
376
|
subcommands: [stopCommand, restartCommand, quickCommand],
|
|
@@ -477,14 +380,14 @@ export var startCommand = {
|
|
|
477
380
|
short: 'd',
|
|
478
381
|
description: 'Run as daemon in background',
|
|
479
382
|
type: 'boolean',
|
|
480
|
-
|
|
383
|
+
default: false
|
|
481
384
|
},
|
|
482
385
|
{
|
|
483
386
|
name: 'port',
|
|
484
387
|
short: 'p',
|
|
485
388
|
description: 'MCP server port',
|
|
486
389
|
type: 'number',
|
|
487
|
-
|
|
390
|
+
default: DEFAULT_PORT
|
|
488
391
|
},
|
|
489
392
|
{
|
|
490
393
|
name: 'topology',
|
|
@@ -497,7 +400,7 @@ export var startCommand = {
|
|
|
497
400
|
name: 'skip-mcp',
|
|
498
401
|
description: 'Skip starting MCP server',
|
|
499
402
|
type: 'boolean',
|
|
500
|
-
|
|
403
|
+
default: false
|
|
501
404
|
}
|
|
502
405
|
],
|
|
503
406
|
examples: [
|