claude-flow-novice 1.3.0 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. package/.claude-flow-novice/preferences/generation.json +147 -0
  2. package/.claude-flow-novice/preferences/language-configs/javascript.json +51 -0
  3. package/.claude-flow-novice/preferences/language-configs/python.json +50 -0
  4. package/.claude-flow-novice/preferences/language-configs/rust.json +237 -0
  5. package/.claude-flow-novice/preferences/language-configs/typescript.json +54 -0
  6. package/.claude-flow-novice/preferences/project-local.json +91 -0
  7. package/.claude-flow-novice/preferences/resource-delegation.json +120 -0
  8. package/.claude-flow-novice/preferences/team-shared.json +195 -0
  9. package/.claude-flow-novice/preferences/user-global.json +247 -0
  10. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-JAVASCRIPT.md +769 -0
  11. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-PYTHON.md +1214 -0
  12. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-RUST.md +475 -0
  13. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-TYPESCRIPT.md +851 -0
  14. package/.claude-flow-novice/templates/claude-md-templates/README.md +263 -0
  15. package/CLAUDE.md +81 -0
  16. package/README-NPM.md +0 -0
  17. package/package.json +11 -7
  18. package/scripts/build/README.md +167 -0
  19. package/scripts/build/build-config.js +27 -0
  20. package/scripts/build/build-prompt-copier.sh +30 -0
  21. package/scripts/build/performance-monitor.js +869 -0
  22. package/scripts/build/prepare-publish.js +150 -0
  23. package/scripts/build/typescript-fixer.js +621 -0
  24. package/scripts/build/unified-builder.sh +428 -0
  25. package/scripts/build/update-bin-version.js +32 -0
  26. package/scripts/dev/README.md +264 -0
  27. package/scripts/dev/claude-flow-wrapper.sh +35 -0
  28. package/scripts/dev/claude-monitor.py +419 -0
  29. package/scripts/dev/claude-sparc.sh +562 -0
  30. package/scripts/dev/claude-wrapper.sh +17 -0
  31. package/scripts/dev/demo-phase3-compliance.js +172 -0
  32. package/scripts/dev/demo-task-system.ts +224 -0
  33. package/scripts/dev/deployment-validator.js +315 -0
  34. package/scripts/dev/spawn-claude-terminal.sh +32 -0
  35. package/scripts/dev/start-portal.sh +506 -0
  36. package/scripts/dev/start-web-ui.js +15 -0
  37. package/scripts/dev/stop-portal.sh +311 -0
  38. package/scripts/dev/validate-examples.ts +288 -0
  39. package/scripts/dev/validate-phase2.cjs +451 -0
  40. package/scripts/dev/validate-phase2.js +785 -0
  41. package/scripts/dev/validate-phase3.cjs +208 -0
  42. package/scripts/dev/validate-security-remediation.js +1 -0
  43. package/scripts/legacy/README.md +272 -0
  44. package/scripts/legacy/batch-fix-ts.sh +54 -0
  45. package/scripts/legacy/build-migration.sh +105 -0
  46. package/scripts/legacy/build-monitor.js +209 -0
  47. package/scripts/legacy/build-with-filter.sh +84 -0
  48. package/scripts/legacy/build-workaround.sh +71 -0
  49. package/scripts/legacy/fix-ts-advanced.js +358 -0
  50. package/scripts/legacy/fix-ts-final.sh +50 -0
  51. package/scripts/legacy/fix-ts-targeted.sh +49 -0
  52. package/scripts/legacy/fix-typescript-errors.js +305 -0
  53. package/scripts/legacy/force-build.sh +63 -0
  54. package/scripts/legacy/optimize-performance.js +400 -0
  55. package/scripts/legacy/performance-monitor.js +263 -0
  56. package/scripts/legacy/performance-monitoring.js +532 -0
  57. package/scripts/legacy/performance-test-runner.js +645 -0
  58. package/scripts/legacy/quick-fix-ts.js +281 -0
  59. package/scripts/legacy/safe-build.sh +63 -0
  60. package/scripts/migration/README.md +434 -0
  61. package/scripts/migration/install-arm64.js +78 -0
  62. package/scripts/migration/install.js +83 -0
  63. package/scripts/migration/migrate-hooks.js +173 -0
  64. package/scripts/migration/migration-examples.ts +318 -0
  65. package/scripts/optimization/build-optimizer.js +438 -0
  66. package/scripts/optimization/config-validator.js +761 -0
  67. package/scripts/optimization/test-optimization.js +432 -0
  68. package/scripts/optimization/unified-activation.js +839 -0
  69. package/scripts/performance/ACTIVATION_COMMANDS.md +292 -0
  70. package/scripts/performance/sqlite-enhanced-activation.sh +583 -0
  71. package/scripts/performance/test-enhanced-backend.sh +504 -0
  72. package/scripts/performance-test-runner.js +698 -0
  73. package/scripts/security/README.md +339 -0
  74. package/scripts/security/install-git-hooks.sh +132 -0
  75. package/scripts/security/ruv-swarm-safe.js +74 -0
  76. package/scripts/test/README.md +236 -0
  77. package/scripts/test/check-links.ts +274 -0
  78. package/scripts/test/check-performance-regression.ts +168 -0
  79. package/scripts/test/coverage-report.ts +692 -0
  80. package/scripts/test/generate-swarm-tests.js +633 -0
  81. package/scripts/test/integration-test-validation.cjs +253 -0
  82. package/scripts/test/load-test-swarm.js +576 -0
  83. package/scripts/test/run-phase3-compliance-tests.js +427 -0
  84. package/scripts/test/test-batch-tasks.ts +29 -0
  85. package/scripts/test/test-byzantine-resolution.js +246 -0
  86. package/scripts/test/test-claude-spawn-options.sh +63 -0
  87. package/scripts/test/test-cli-wizard.js +331 -0
  88. package/scripts/test/test-comprehensive.js +401 -0
  89. package/scripts/test/test-coordination-features.ts +238 -0
  90. package/scripts/test/test-fallback-systems.js +276 -0
  91. package/scripts/test/test-init-command.ts +302 -0
  92. package/scripts/test/test-mcp.ts +251 -0
  93. package/scripts/test/test-runner.ts +568 -0
  94. package/scripts/test/test-swarm-integration.sh +92 -0
  95. package/scripts/test/test-swarm.ts +142 -0
  96. package/scripts/test/validation-summary.ts +408 -0
  97. package/scripts/utils/README.md +261 -0
  98. package/scripts/utils/clean-build-artifacts.sh +94 -0
  99. package/scripts/utils/cleanup-root.sh +69 -0
  100. package/scripts/utils/fix-cliffy-imports.js +307 -0
  101. package/scripts/utils/fix-duplicate-imports.js +114 -0
  102. package/scripts/utils/fix-error-handling.cjs +70 -0
  103. package/scripts/utils/fix-import-paths.js +104 -0
  104. package/scripts/utils/fix-imports.js +116 -0
  105. package/scripts/utils/fix-shebang.js +78 -0
  106. package/scripts/utils/fix-test-modules.js +27 -0
  107. package/scripts/utils/fix-timezone-issue-246.js +200 -0
  108. package/scripts/utils/fix-ts-comprehensive.py +182 -0
  109. package/scripts/utils/fix-ts-targeted-batch.js +250 -0
  110. package/scripts/utils/remove-benchmark-conflicts.sh +140 -0
  111. package/scripts/utils/simple-test-fixer.js +190 -0
  112. package/scripts/utils/validate-metrics-structure.cjs +144 -0
  113. package/scripts/verify-mcp-server.js +86 -0
  114. package/src/cli/simple-commands/__tests__/agent.test.js +291 -0
  115. package/src/cli/simple-commands/__tests__/memory.test.js +8 -0
  116. package/src/cli/simple-commands/__tests__/swarm.test.js +371 -0
  117. package/src/cli/simple-commands/__tests__/task.test.js +8 -0
  118. package/src/cli/simple-commands/agent.js +216 -0
  119. package/src/cli/simple-commands/analysis.js +570 -0
  120. package/src/cli/simple-commands/automation-executor.js +1603 -0
  121. package/src/cli/simple-commands/automation.js +627 -0
  122. package/src/cli/simple-commands/batch-manager.js +338 -0
  123. package/src/cli/simple-commands/claude-telemetry.js +311 -0
  124. package/src/cli/simple-commands/claude-track.js +102 -0
  125. package/src/cli/simple-commands/concurrent-display.js +348 -0
  126. package/src/cli/simple-commands/config.js +319 -0
  127. package/src/cli/simple-commands/coordination.js +307 -0
  128. package/src/cli/simple-commands/enhanced-ui-views.js +654 -0
  129. package/src/cli/simple-commands/enhanced-webui-complete.js +1038 -0
  130. package/src/cli/simple-commands/fix-hook-variables.js +363 -0
  131. package/src/cli/simple-commands/github/gh-coordinator.js +605 -0
  132. package/src/cli/simple-commands/github/github-api.js +624 -0
  133. package/src/cli/simple-commands/github/init.js +543 -0
  134. package/src/cli/simple-commands/github.js +377 -0
  135. package/src/cli/simple-commands/goal.js +145 -0
  136. package/src/cli/simple-commands/hive-mind/auto-save-middleware.js +311 -0
  137. package/src/cli/simple-commands/hive-mind/communication.js +740 -0
  138. package/src/cli/simple-commands/hive-mind/core.js +1031 -0
  139. package/src/cli/simple-commands/hive-mind/db-optimizer.js +872 -0
  140. package/src/cli/simple-commands/hive-mind/mcp-wrapper.js +1364 -0
  141. package/src/cli/simple-commands/hive-mind/memory.js +1292 -0
  142. package/src/cli/simple-commands/hive-mind/performance-optimizer.js +618 -0
  143. package/src/cli/simple-commands/hive-mind/performance-test.js +373 -0
  144. package/src/cli/simple-commands/hive-mind/queen.js +809 -0
  145. package/src/cli/simple-commands/hive-mind/session-manager.js +1223 -0
  146. package/src/cli/simple-commands/hive-mind-optimize.js +361 -0
  147. package/src/cli/simple-commands/hive-mind-wizard.js +281 -0
  148. package/src/cli/simple-commands/hive-mind.js +3112 -0
  149. package/src/cli/simple-commands/hive.js +140 -0
  150. package/src/cli/simple-commands/hook-safety.js +671 -0
  151. package/src/cli/simple-commands/hooks.js +1268 -0
  152. package/src/cli/simple-commands/init/.claude/checkpoints/1756224542.json +7 -0
  153. package/src/cli/simple-commands/init/.claude/checkpoints/1756224544.json +8 -0
  154. package/src/cli/simple-commands/init/README.md +106 -0
  155. package/src/cli/simple-commands/init/VALIDATION_ROLLBACK.md +488 -0
  156. package/src/cli/simple-commands/init/agent-copier.js +347 -0
  157. package/src/cli/simple-commands/init/batch-init.js +663 -0
  158. package/src/cli/simple-commands/init/claude-commands/claude-flow-commands.js +438 -0
  159. package/src/cli/simple-commands/init/claude-commands/optimized-claude-flow-commands.js +876 -0
  160. package/src/cli/simple-commands/init/claude-commands/optimized-slash-commands.js +356 -0
  161. package/src/cli/simple-commands/init/claude-commands/optimized-sparc-commands.js +501 -0
  162. package/src/cli/simple-commands/init/claude-commands/slash-commands.js +57 -0
  163. package/src/cli/simple-commands/init/claude-commands/sparc-commands.js +296 -0
  164. package/src/cli/simple-commands/init/copy-revised-templates.js +175 -0
  165. package/src/cli/simple-commands/init/executable-wrapper.js +122 -0
  166. package/src/cli/simple-commands/init/gitignore-updater.js +137 -0
  167. package/src/cli/simple-commands/init/help.js +110 -0
  168. package/src/cli/simple-commands/init/hive-mind-init.js +749 -0
  169. package/src/cli/simple-commands/init/index.js +1953 -0
  170. package/src/cli/simple-commands/init/performance-monitor.js +344 -0
  171. package/src/cli/simple-commands/init/rollback/backup-manager.js +542 -0
  172. package/src/cli/simple-commands/init/rollback/index.js +399 -0
  173. package/src/cli/simple-commands/init/rollback/recovery-manager.js +778 -0
  174. package/src/cli/simple-commands/init/rollback/rollback-executor.js +521 -0
  175. package/src/cli/simple-commands/init/rollback/state-tracker.js +486 -0
  176. package/src/cli/simple-commands/init/sparc/roo-readme.js +61 -0
  177. package/src/cli/simple-commands/init/sparc/roomodes-config.js +102 -0
  178. package/src/cli/simple-commands/init/sparc/workflows.js +40 -0
  179. package/src/cli/simple-commands/init/sparc-structure.js +68 -0
  180. package/src/cli/simple-commands/init/template-copier.js +640 -0
  181. package/src/cli/simple-commands/init/templates/CLAUDE.md +1185 -0
  182. package/src/cli/simple-commands/init/templates/CLAUDE.md.optimized +265 -0
  183. package/src/cli/simple-commands/init/templates/claude-flow-universal +81 -0
  184. package/src/cli/simple-commands/init/templates/claude-flow.bat +18 -0
  185. package/src/cli/simple-commands/init/templates/claude-flow.ps1 +24 -0
  186. package/src/cli/simple-commands/init/templates/claude-md.js +1101 -0
  187. package/src/cli/simple-commands/init/templates/commands/analysis/bottleneck-detect.md +162 -0
  188. package/src/cli/simple-commands/init/templates/commands/automation/auto-agent.md +122 -0
  189. package/src/cli/simple-commands/init/templates/commands/coordination/swarm-init.md +85 -0
  190. package/src/cli/simple-commands/init/templates/commands/github/github-swarm.md +121 -0
  191. package/src/cli/simple-commands/init/templates/commands/helpers/standard-checkpoint-hooks.sh +179 -0
  192. package/src/cli/simple-commands/init/templates/commands/hooks/notification.md +113 -0
  193. package/src/cli/simple-commands/init/templates/commands/hooks/post-command.md +116 -0
  194. package/src/cli/simple-commands/init/templates/commands/hooks/post-edit.md +117 -0
  195. package/src/cli/simple-commands/init/templates/commands/hooks/post-task.md +112 -0
  196. package/src/cli/simple-commands/init/templates/commands/hooks/pre-command.md +113 -0
  197. package/src/cli/simple-commands/init/templates/commands/hooks/pre-edit.md +113 -0
  198. package/src/cli/simple-commands/init/templates/commands/hooks/pre-search.md +112 -0
  199. package/src/cli/simple-commands/init/templates/commands/hooks/pre-task.md +111 -0
  200. package/src/cli/simple-commands/init/templates/commands/hooks/session-end.md +118 -0
  201. package/src/cli/simple-commands/init/templates/commands/hooks/session-restore.md +118 -0
  202. package/src/cli/simple-commands/init/templates/commands/hooks/session-start.md +117 -0
  203. package/src/cli/simple-commands/init/templates/coordination-md.js +340 -0
  204. package/src/cli/simple-commands/init/templates/coordination.md +16 -0
  205. package/src/cli/simple-commands/init/templates/enhanced-templates.js +2347 -0
  206. package/src/cli/simple-commands/init/templates/github-safe-enhanced.js +331 -0
  207. package/src/cli/simple-commands/init/templates/github-safe.js +106 -0
  208. package/src/cli/simple-commands/init/templates/memory-bank-md.js +259 -0
  209. package/src/cli/simple-commands/init/templates/memory-bank.md +16 -0
  210. package/src/cli/simple-commands/init/templates/readme-files.js +72 -0
  211. package/src/cli/simple-commands/init/templates/safe-hook-patterns.js +430 -0
  212. package/src/cli/simple-commands/init/templates/settings.json +109 -0
  213. package/src/cli/simple-commands/init/templates/settings.json.enhanced +35 -0
  214. package/src/cli/simple-commands/init/templates/sparc-modes.js +1401 -0
  215. package/src/cli/simple-commands/init/templates/verification-claude-md.js +432 -0
  216. package/src/cli/simple-commands/init/validation/config-validator.js +354 -0
  217. package/src/cli/simple-commands/init/validation/health-checker.js +599 -0
  218. package/src/cli/simple-commands/init/validation/index.js +388 -0
  219. package/src/cli/simple-commands/init/validation/mode-validator.js +387 -0
  220. package/src/cli/simple-commands/init/validation/post-init-validator.js +390 -0
  221. package/src/cli/simple-commands/init/validation/pre-init-validator.js +290 -0
  222. package/src/cli/simple-commands/init/validation/test-runner.js +488 -0
  223. package/src/cli/simple-commands/init.js +4 -0
  224. package/src/cli/simple-commands/mcp-health.js +163 -0
  225. package/src/cli/simple-commands/mcp-integration-layer.js +689 -0
  226. package/src/cli/simple-commands/mcp.js +420 -0
  227. package/src/cli/simple-commands/memory-consolidation.js +631 -0
  228. package/src/cli/simple-commands/memory.js +345 -0
  229. package/src/cli/simple-commands/migrate-hooks.js +63 -0
  230. package/src/cli/simple-commands/monitor.js +417 -0
  231. package/src/cli/simple-commands/neural.js +148 -0
  232. package/src/cli/simple-commands/pair-autofix-only.js +755 -0
  233. package/src/cli/simple-commands/pair-basic.js +751 -0
  234. package/src/cli/simple-commands/pair-old.js +623 -0
  235. package/src/cli/simple-commands/pair-working.js +849 -0
  236. package/src/cli/simple-commands/pair.js +849 -0
  237. package/src/cli/simple-commands/performance-hooks.js +149 -0
  238. package/src/cli/simple-commands/performance-metrics.js +601 -0
  239. package/src/cli/simple-commands/process-ui-enhanced.js +821 -0
  240. package/src/cli/simple-commands/process-ui.js +274 -0
  241. package/src/cli/simple-commands/realtime-update-system.js +659 -0
  242. package/src/cli/simple-commands/sparc/architecture.js +1750 -0
  243. package/src/cli/simple-commands/sparc/commands.js +575 -0
  244. package/src/cli/simple-commands/sparc/completion.js +1831 -0
  245. package/src/cli/simple-commands/sparc/coordinator.js +1045 -0
  246. package/src/cli/simple-commands/sparc/index.js +321 -0
  247. package/src/cli/simple-commands/sparc/phase-base.js +430 -0
  248. package/src/cli/simple-commands/sparc/pseudocode.js +984 -0
  249. package/src/cli/simple-commands/sparc/refinement.js +1856 -0
  250. package/src/cli/simple-commands/sparc/specification.js +736 -0
  251. package/src/cli/simple-commands/sparc-modes/architect.js +125 -0
  252. package/src/cli/simple-commands/sparc-modes/ask.js +126 -0
  253. package/src/cli/simple-commands/sparc-modes/code.js +148 -0
  254. package/src/cli/simple-commands/sparc-modes/debug.js +112 -0
  255. package/src/cli/simple-commands/sparc-modes/devops.js +137 -0
  256. package/src/cli/simple-commands/sparc-modes/docs-writer.js +38 -0
  257. package/src/cli/simple-commands/sparc-modes/generic.js +34 -0
  258. package/src/cli/simple-commands/sparc-modes/index.js +201 -0
  259. package/src/cli/simple-commands/sparc-modes/integration.js +55 -0
  260. package/src/cli/simple-commands/sparc-modes/mcp.js +38 -0
  261. package/src/cli/simple-commands/sparc-modes/monitoring.js +38 -0
  262. package/src/cli/simple-commands/sparc-modes/optimization.js +38 -0
  263. package/src/cli/simple-commands/sparc-modes/security-review.js +130 -0
  264. package/src/cli/simple-commands/sparc-modes/sparc-orchestrator.js +167 -0
  265. package/src/cli/simple-commands/sparc-modes/spec-pseudocode.js +38 -0
  266. package/src/cli/simple-commands/sparc-modes/supabase-admin.js +149 -0
  267. package/src/cli/simple-commands/sparc-modes/swarm.js +436 -0
  268. package/src/cli/simple-commands/sparc-modes/tdd.js +112 -0
  269. package/src/cli/simple-commands/sparc-modes/tutorial.js +277 -0
  270. package/src/cli/simple-commands/sparc.js +530 -0
  271. package/src/cli/simple-commands/start-ui.js +147 -0
  272. package/src/cli/simple-commands/start-wrapper.js +285 -0
  273. package/src/cli/simple-commands/start.js +2 -0
  274. package/src/cli/simple-commands/status.js +303 -0
  275. package/src/cli/simple-commands/stream-chain-clean.js +221 -0
  276. package/src/cli/simple-commands/stream-chain-fixed.js +89 -0
  277. package/src/cli/simple-commands/stream-chain-real.js +408 -0
  278. package/src/cli/simple-commands/stream-chain-working.js +323 -0
  279. package/src/cli/simple-commands/stream-chain.js +491 -0
  280. package/src/cli/simple-commands/stream-processor.js +340 -0
  281. package/src/cli/simple-commands/swarm-executor.js +253 -0
  282. package/src/cli/simple-commands/swarm-metrics-integration.js +371 -0
  283. package/src/cli/simple-commands/swarm-ui.js +741 -0
  284. package/src/cli/simple-commands/swarm-webui-integration.js +311 -0
  285. package/src/cli/simple-commands/swarm.js +2277 -0
  286. package/src/cli/simple-commands/task.js +228 -0
  287. package/src/cli/simple-commands/templates/mle-star-workflow.json +294 -0
  288. package/src/cli/simple-commands/timestamp-fix.js +104 -0
  289. package/src/cli/simple-commands/token-tracker.js +372 -0
  290. package/src/cli/simple-commands/tool-execution-framework.js +555 -0
  291. package/src/cli/simple-commands/train-and-stream.js +354 -0
  292. package/src/cli/simple-commands/training-pipeline.js +874 -0
  293. package/src/cli/simple-commands/training.js +288 -0
  294. package/src/cli/simple-commands/verification-hooks.js +336 -0
  295. package/src/cli/simple-commands/verification-integration.js +464 -0
  296. package/src/cli/simple-commands/verification-training-integration.js +646 -0
  297. package/src/cli/simple-commands/verification.js +551 -0
  298. package/src/cli/simple-commands/web-server.js +929 -0
  299. package/src/cli/simple-commands/webui-validator.js +136 -0
  300. package/src/language/README.md +503 -0
  301. package/src/language/claude-md-generator.js +618 -0
  302. package/src/language/cli.js +422 -0
  303. package/src/language/example.js +347 -0
  304. package/src/language/integration-system.js +619 -0
  305. package/src/language/language-detector.js +581 -0
@@ -0,0 +1,354 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Integrated Training and Stream Chaining System
4
+ * Combines real code training with stream-based agent chaining
5
+ */
6
+
7
+ import fs from 'fs/promises';
8
+ import { spawn } from 'child_process';
9
+ import { TrainingPipeline } from './training-pipeline.js';
10
+
11
+ export class TrainAndStreamSystem {
12
+ constructor() {
13
+ this.trainingPipeline = new TrainingPipeline();
14
+ this.streamConfig = '.claude-flow/stream-config.json';
15
+ }
16
+
17
+ /**
18
+ * Train agents and then use them in a stream chain
19
+ */
20
+ async trainAndExecute(task, options = {}) {
21
+ console.log('šŸŽÆ Integrated Training & Stream Execution');
22
+ console.log('━'.repeat(50));
23
+
24
+ // Step 1: Run training to improve agent profiles
25
+ console.log('\nšŸ“š Phase 1: Training Agents with Real Code');
26
+ console.log('─'.repeat(40));
27
+
28
+ await this.trainingPipeline.initialize();
29
+ const trainingResult = await this.trainingPipeline.runFullPipeline({
30
+ complexity: options.complexity || 'medium',
31
+ iterations: options.iterations || 2,
32
+ validate: true,
33
+ });
34
+
35
+ // Step 2: Load trained profiles
36
+ const profiles = JSON.parse(await fs.readFile('.claude-flow/agents/profiles.json', 'utf8'));
37
+
38
+ // Step 3: Select best strategy based on task requirements
39
+ const strategy = this.selectOptimalStrategy(profiles, options);
40
+ console.log(`\nšŸŽÆ Selected Strategy: ${strategy.name}`);
41
+ console.log(` Success Rate: ${(strategy.profile.successRate * 100).toFixed(1)}%`);
42
+ console.log(` Avg Score: ${strategy.profile.avgScore.toFixed(2)}`);
43
+ console.log(` Execution Time: ${strategy.profile.avgExecutionTime.toFixed(0)}ms`);
44
+
45
+ // Step 4: Execute stream chain with trained agents
46
+ console.log('\nšŸ”— Phase 2: Stream Chain Execution');
47
+ console.log('─'.repeat(40));
48
+
49
+ const result = await this.executeStreamChain(task, strategy, options);
50
+
51
+ // Step 5: Learn from execution results
52
+ await this.updateProfilesFromExecution(strategy.name, result);
53
+
54
+ return {
55
+ training: trainingResult,
56
+ execution: result,
57
+ strategy: strategy.name,
58
+ performance: {
59
+ trainingImprovement: trainingResult.improvements,
60
+ executionTime: result.duration,
61
+ success: result.success,
62
+ },
63
+ };
64
+ }
65
+
66
+ /**
67
+ * Select optimal strategy based on task requirements
68
+ */
69
+ selectOptimalStrategy(profiles, options) {
70
+ const priorities = options.priorities || {
71
+ reliability: 0.4,
72
+ speed: 0.3,
73
+ score: 0.3,
74
+ };
75
+
76
+ let bestScore = -1;
77
+ let bestStrategy = null;
78
+
79
+ for (const [name, profile] of Object.entries(profiles)) {
80
+ const score =
81
+ profile.successRate * priorities.reliability +
82
+ (1 - profile.avgExecutionTime / 5000) * priorities.speed +
83
+ (profile.avgScore / 100) * priorities.score;
84
+
85
+ if (score > bestScore) {
86
+ bestScore = score;
87
+ bestStrategy = { name, profile, score };
88
+ }
89
+ }
90
+
91
+ return bestStrategy;
92
+ }
93
+
94
+ /**
95
+ * Execute a stream chain with multiple agents
96
+ */
97
+ async executeStreamChain(task, strategy, options) {
98
+ const startTime = Date.now();
99
+ const steps = this.decomposeTask(task, strategy.name);
100
+
101
+ console.log(`\nšŸ“ Task decomposed into ${steps.length} steps:`);
102
+ steps.forEach((step, i) => {
103
+ console.log(` ${i + 1}. ${step.description}`);
104
+ });
105
+
106
+ let inputStream = null;
107
+ let lastOutput = null;
108
+ const results = [];
109
+
110
+ for (let i = 0; i < steps.length; i++) {
111
+ const step = steps[i];
112
+ console.log(`\nšŸ”„ Executing Step ${i + 1}: ${step.description}`);
113
+
114
+ const output = await this.executeStreamStep(
115
+ step,
116
+ inputStream,
117
+ i === steps.length - 1, // isLast
118
+ );
119
+
120
+ results.push({
121
+ step: i + 1,
122
+ description: step.description,
123
+ output: output.summary,
124
+ duration: output.duration,
125
+ });
126
+
127
+ inputStream = output.stream;
128
+ lastOutput = output;
129
+ }
130
+
131
+ const totalDuration = Date.now() - startTime;
132
+
133
+ console.log('\nāœ… Stream Chain Complete');
134
+ console.log(` Total Duration: ${totalDuration}ms`);
135
+ console.log(` Steps Completed: ${results.length}`);
136
+
137
+ return {
138
+ success: true,
139
+ duration: totalDuration,
140
+ steps: results,
141
+ finalOutput: lastOutput.summary,
142
+ };
143
+ }
144
+
145
+ /**
146
+ * Execute a single step in the stream chain
147
+ */
148
+ async executeStreamStep(step, inputStream, isLast) {
149
+ return new Promise((resolve) => {
150
+ const startTime = Date.now();
151
+
152
+ // Build command arguments
153
+ const args = ['-p'];
154
+ if (inputStream) {
155
+ args.push('--input-format', 'stream-json');
156
+ }
157
+ if (!isLast) {
158
+ args.push('--output-format', 'stream-json');
159
+ }
160
+ args.push(step.prompt);
161
+
162
+ // Spawn Claude process
163
+ const claudeProcess = spawn('claude', args, {
164
+ stdio: inputStream ? ['pipe', 'pipe', 'pipe'] : ['inherit', 'pipe', 'pipe'],
165
+ });
166
+
167
+ let output = '';
168
+ let streamOutput = '';
169
+
170
+ // Pipe input if available
171
+ if (inputStream && claudeProcess.stdin) {
172
+ inputStream.pipe(claudeProcess.stdin);
173
+ }
174
+
175
+ // Capture output
176
+ claudeProcess.stdout.on('data', (data) => {
177
+ const chunk = data.toString();
178
+ output += chunk;
179
+ if (!isLast) {
180
+ streamOutput += chunk;
181
+ }
182
+ });
183
+
184
+ claudeProcess.on('close', (code) => {
185
+ const duration = Date.now() - startTime;
186
+
187
+ // Parse output for summary
188
+ let summary = 'Step completed';
189
+ try {
190
+ if (output.includes('"type":"message"')) {
191
+ const lines = output.split('\n');
192
+ for (const line of lines) {
193
+ if (line.includes('"type":"message"')) {
194
+ const parsed = JSON.parse(line);
195
+ if (parsed.content && parsed.content[0]) {
196
+ summary = parsed.content[0].text?.slice(0, 100) || summary;
197
+ break;
198
+ }
199
+ }
200
+ }
201
+ } else {
202
+ summary = output.slice(0, 100);
203
+ }
204
+ } catch (e) {
205
+ // Fallback to raw output
206
+ summary = output.slice(0, 100);
207
+ }
208
+
209
+ resolve({
210
+ success: code === 0,
211
+ duration,
212
+ summary,
213
+ stream: !isLast ? streamOutput : null,
214
+ });
215
+ });
216
+ });
217
+ }
218
+
219
+ /**
220
+ * Decompose task into stream chain steps
221
+ */
222
+ decomposeTask(task, strategy) {
223
+ // Different decomposition based on strategy
224
+ if (strategy === 'conservative') {
225
+ return [
226
+ {
227
+ description: 'Thorough analysis and validation',
228
+ prompt: `Analyze this task thoroughly and identify all requirements: ${task}`,
229
+ },
230
+ {
231
+ description: 'Detailed planning with error handling',
232
+ prompt: 'Create a detailed implementation plan with comprehensive error handling',
233
+ },
234
+ {
235
+ description: 'Safe implementation with validation',
236
+ prompt: 'Implement the solution with extensive validation and safety checks',
237
+ },
238
+ ];
239
+ } else if (strategy === 'aggressive') {
240
+ return [
241
+ {
242
+ description: 'Quick analysis',
243
+ prompt: `Quickly analyze and implement: ${task}`,
244
+ },
245
+ {
246
+ description: 'Optimization pass',
247
+ prompt: 'Optimize the implementation for maximum performance',
248
+ },
249
+ ];
250
+ } else {
251
+ // Balanced
252
+ return [
253
+ {
254
+ description: 'Analysis and design',
255
+ prompt: `Analyze and design a solution for: ${task}`,
256
+ },
257
+ {
258
+ description: 'Implementation',
259
+ prompt: 'Implement the designed solution',
260
+ },
261
+ {
262
+ description: 'Review and refinement',
263
+ prompt: 'Review the implementation and make necessary refinements',
264
+ },
265
+ ];
266
+ }
267
+ }
268
+
269
+ /**
270
+ * Update profiles based on execution results
271
+ */
272
+ async updateProfilesFromExecution(strategy, result) {
273
+ const profiles = JSON.parse(await fs.readFile('.claude-flow/agents/profiles.json', 'utf8'));
274
+
275
+ if (profiles[strategy]) {
276
+ const profile = profiles[strategy];
277
+ const executionScore = result.success ? 80 : 20;
278
+ const timeScore = Math.max(0, 100 - result.duration / 100);
279
+ const overallScore = (executionScore + timeScore) / 2;
280
+
281
+ // Update with learning
282
+ const learningRate = 0.2;
283
+ profile.avgScore = profile.avgScore * (1 - learningRate) + overallScore * learningRate;
284
+ profile.avgExecutionTime =
285
+ profile.avgExecutionTime * (1 - learningRate) + result.duration * learningRate;
286
+ profile.uses++;
287
+
288
+ // Add to trend
289
+ if (!profile.trend) profile.trend = [];
290
+ profile.trend.push({
291
+ score: overallScore,
292
+ timestamp: new Date().toISOString(),
293
+ streamExecution: true,
294
+ });
295
+
296
+ await fs.writeFile('.claude-flow/agents/profiles.json', JSON.stringify(profiles, null, 2));
297
+ }
298
+ }
299
+ }
300
+
301
+ /**
302
+ * CLI Command Handler
303
+ */
304
+ export async function trainAndStreamCommand(args, flags) {
305
+ const system = new TrainAndStreamSystem();
306
+ const task = args.join(' ') || 'Create a function to validate email addresses';
307
+
308
+ console.log('šŸš€ Train & Stream System');
309
+ console.log(`šŸ“‹ Task: ${task}`);
310
+ console.log('');
311
+
312
+ const options = {
313
+ complexity: flags.complexity || 'medium',
314
+ iterations: parseInt(flags.iterations) || 2,
315
+ priorities: {
316
+ reliability: parseFloat(flags.reliability) || 0.4,
317
+ speed: parseFloat(flags.speed) || 0.3,
318
+ score: parseFloat(flags.score) || 0.3,
319
+ },
320
+ };
321
+
322
+ try {
323
+ const result = await system.trainAndExecute(task, options);
324
+
325
+ console.log('\n' + '═'.repeat(50));
326
+ console.log('šŸ“Š Final Report');
327
+ console.log('═'.repeat(50));
328
+
329
+ console.log('\nšŸŽÆ Strategy Used:', result.strategy);
330
+ console.log('ā±ļø Total Execution Time:', result.performance.executionTime + 'ms');
331
+ console.log('āœ… Success:', result.performance.success ? 'Yes' : 'No');
332
+
333
+ if (result.performance.trainingImprovement) {
334
+ console.log('\nšŸ“ˆ Training Improvements:');
335
+ console.log(
336
+ ` Success Rate: ${result.performance.trainingImprovement.successRate > 0 ? '+' : ''}${result.performance.trainingImprovement.successRate.toFixed(1)}%`,
337
+ );
338
+ console.log(
339
+ ` Score: ${result.performance.trainingImprovement.score > 0 ? '+' : ''}${result.performance.trainingImprovement.score.toFixed(1)}%`,
340
+ );
341
+ }
342
+
343
+ console.log('\nšŸ”— Stream Chain Steps:');
344
+ for (const step of result.execution.steps) {
345
+ console.log(` ${step.step}. ${step.description} (${step.duration}ms)`);
346
+ console.log(` Output: ${step.output.slice(0, 60)}...`);
347
+ }
348
+ } catch (error) {
349
+ console.error('āŒ Error:', error.message);
350
+ process.exit(1);
351
+ }
352
+ }
353
+
354
+ export default TrainAndStreamSystem;