claude-flow 2.5.0-alpha.139 → 2.7.0-alpha

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 (171) hide show
  1. package/.claude/agents/reasoning/README.md +171 -0
  2. package/.claude/agents/reasoning/agent.md +816 -0
  3. package/.claude/agents/reasoning/example-reasoning-agent-template.md +362 -0
  4. package/.claude/agents/reasoning/goal-planner.md +73 -0
  5. package/.claude/settings.json +2 -1
  6. package/.claude/sparc-modes.json +108 -0
  7. package/README.md +45 -55
  8. package/bin/claude-flow +1 -1
  9. package/dist/src/cli/command-registry.js +70 -6
  10. package/dist/src/cli/command-registry.js.map +1 -1
  11. package/dist/src/cli/commands/hive-mind/pause.js +2 -9
  12. package/dist/src/cli/commands/hive-mind/pause.js.map +1 -1
  13. package/dist/src/cli/commands/index.js +1 -114
  14. package/dist/src/cli/commands/index.js.map +1 -1
  15. package/dist/src/cli/commands/swarm-spawn.js +5 -33
  16. package/dist/src/cli/commands/swarm-spawn.js.map +1 -1
  17. package/dist/src/cli/help-formatter.js +0 -3
  18. package/dist/src/cli/help-formatter.js.map +1 -1
  19. package/dist/src/cli/help-text.js +69 -7
  20. package/dist/src/cli/help-text.js.map +1 -1
  21. package/dist/src/cli/simple-cli.js +182 -172
  22. package/dist/src/cli/simple-cli.js.map +1 -1
  23. package/dist/src/cli/simple-commands/agent-booster.js +415 -0
  24. package/dist/src/cli/simple-commands/agent-booster.js.map +1 -0
  25. package/dist/src/cli/simple-commands/agent.js +856 -13
  26. package/dist/src/cli/simple-commands/agent.js.map +1 -1
  27. package/dist/src/cli/simple-commands/env-template.js +180 -0
  28. package/dist/src/cli/simple-commands/env-template.js.map +1 -0
  29. package/dist/src/cli/simple-commands/hooks.js +233 -0
  30. package/dist/src/cli/simple-commands/hooks.js.map +1 -1
  31. package/dist/src/cli/simple-commands/init/help.js +23 -0
  32. package/dist/src/cli/simple-commands/init/help.js.map +1 -1
  33. package/dist/src/cli/simple-commands/init/index.js +63 -0
  34. package/dist/src/cli/simple-commands/init/index.js.map +1 -1
  35. package/dist/src/cli/simple-commands/memory.js +307 -16
  36. package/dist/src/cli/simple-commands/memory.js.map +1 -1
  37. package/dist/src/cli/simple-commands/proxy.js +304 -0
  38. package/dist/src/cli/simple-commands/proxy.js.map +1 -0
  39. package/dist/src/cli/simple-commands/sparc.js +16 -19
  40. package/dist/src/cli/simple-commands/sparc.js.map +1 -1
  41. package/dist/src/cli/validation-helper.js.map +1 -1
  42. package/dist/src/execution/agent-executor.js +181 -0
  43. package/dist/src/execution/agent-executor.js.map +1 -0
  44. package/dist/src/execution/index.js +12 -0
  45. package/dist/src/execution/index.js.map +1 -0
  46. package/dist/src/execution/provider-manager.js +110 -0
  47. package/dist/src/execution/provider-manager.js.map +1 -0
  48. package/dist/src/hooks/index.js +0 -3
  49. package/dist/src/hooks/index.js.map +1 -1
  50. package/dist/src/hooks/redaction-hook.js +89 -0
  51. package/dist/src/hooks/redaction-hook.js.map +1 -0
  52. package/dist/src/mcp/claude-flow-tools.js +205 -150
  53. package/dist/src/mcp/claude-flow-tools.js.map +1 -1
  54. package/dist/src/mcp/mcp-server.js +125 -0
  55. package/dist/src/mcp/mcp-server.js.map +1 -1
  56. package/dist/src/sdk/query-control.js +293 -139
  57. package/dist/src/sdk/query-control.js.map +1 -1
  58. package/dist/src/sdk/session-forking.js +206 -129
  59. package/dist/src/sdk/session-forking.js.map +1 -1
  60. package/dist/src/utils/key-redactor.js +108 -0
  61. package/dist/src/utils/key-redactor.js.map +1 -0
  62. package/dist/src/utils/metrics-reader.js +37 -39
  63. package/dist/src/utils/metrics-reader.js.map +1 -1
  64. package/docs/AGENT-BOOSTER-INTEGRATION.md +407 -0
  65. package/docs/AGENTIC-FLOW-INTEGRATION-GUIDE.md +753 -0
  66. package/docs/AGENTIC_FLOW_EXECUTION_FIX_REPORT.md +474 -0
  67. package/docs/AGENTIC_FLOW_INTEGRATION_STATUS.md +143 -0
  68. package/docs/AGENTIC_FLOW_MVP_COMPLETE.md +367 -0
  69. package/docs/AGENTIC_FLOW_SECURITY_TEST_REPORT.md +369 -0
  70. package/docs/COMMAND-VERIFICATION-REPORT.md +441 -0
  71. package/docs/COMMIT_SUMMARY.md +247 -0
  72. package/docs/DEEP_REVIEW_COMPREHENSIVE_REPORT.md +922 -0
  73. package/docs/DOCKER-VALIDATION-REPORT.md +281 -0
  74. package/docs/ENV-SETUP-GUIDE.md +270 -0
  75. package/docs/FINAL_PRE_PUBLISH_VALIDATION.md +823 -0
  76. package/docs/FINAL_VALIDATION_REPORT.md +165 -0
  77. package/docs/HOOKS-V2-MODIFICATION.md +146 -0
  78. package/docs/INDEX.md +568 -0
  79. package/docs/INTEGRATION_COMPLETE.md +414 -0
  80. package/docs/MEMORY_REDACTION_TEST_REPORT.md +300 -0
  81. package/docs/PERFORMANCE-SYSTEMS-STATUS.md +340 -0
  82. package/docs/PRE_RELEASE_FIXES_REPORT.md +435 -0
  83. package/docs/README.md +35 -0
  84. package/docs/REASONING-AGENTS.md +482 -0
  85. package/docs/REASONINGBANK-AGENT-CREATION-GUIDE.md +813 -0
  86. package/docs/REASONINGBANK-ANALYSIS-COMPLETE.md +479 -0
  87. package/docs/REASONINGBANK-BENCHMARK-RESULTS.md +166 -0
  88. package/docs/REASONINGBANK-BENCHMARK.md +396 -0
  89. package/docs/REASONINGBANK-CLI-INTEGRATION.md +455 -0
  90. package/docs/REASONINGBANK-CORE-INTEGRATION.md +658 -0
  91. package/docs/REASONINGBANK-COST-OPTIMIZATION.md +329 -0
  92. package/docs/REASONINGBANK-DEMO.md +419 -0
  93. package/docs/REASONINGBANK-INTEGRATION-COMPLETE.md +249 -0
  94. package/docs/REASONINGBANK-VALIDATION.md +532 -0
  95. package/docs/REASONINGBANK_ARCHITECTURE.md +475 -0
  96. package/docs/REASONINGBANK_INTEGRATION_COMPLETE.md +558 -0
  97. package/docs/REASONINGBANK_INTEGRATION_PLAN.md +1188 -0
  98. package/docs/REGRESSION-ANALYSIS-REPORT.md +500 -0
  99. package/docs/RELEASE_v2.6.0-alpha.2.md +658 -0
  100. package/docs/api/API_DOCUMENTATION.md +721 -0
  101. package/docs/architecture/ARCHITECTURE.md +1690 -0
  102. package/docs/ci-cd/README.md +368 -0
  103. package/docs/development/DEPLOYMENT.md +2348 -0
  104. package/docs/development/DEVELOPMENT_WORKFLOW.md +1333 -0
  105. package/docs/development/build-analysis-report.md +252 -0
  106. package/docs/development/pair-optimization.md +156 -0
  107. package/docs/development/token-tracking-status.md +103 -0
  108. package/docs/development/training-pipeline-demo.md +163 -0
  109. package/docs/development/training-pipeline-real-only.md +196 -0
  110. package/docs/epic-sdk-integration.md +1269 -0
  111. package/docs/experimental/RIEMANN_HYPOTHESIS_PROOF.md +124 -0
  112. package/docs/experimental/computational_verification.py +436 -0
  113. package/docs/experimental/novel_approaches.md +560 -0
  114. package/docs/experimental/riemann_hypothesis_analysis.md +263 -0
  115. package/docs/experimental/riemann_proof_attempt.md +124 -0
  116. package/docs/experimental/riemann_synthesis.md +277 -0
  117. package/docs/experimental/verification_results.json +12 -0
  118. package/docs/experimental/visualization_insights.md +720 -0
  119. package/docs/guides/USER_GUIDE.md +1138 -0
  120. package/docs/guides/token-tracking-guide.md +291 -0
  121. package/docs/reference/AGENTS.md +1011 -0
  122. package/docs/reference/MCP_TOOLS.md +2188 -0
  123. package/docs/reference/SPARC.md +717 -0
  124. package/docs/reference/SWARM.md +2000 -0
  125. package/docs/sdk/CLAUDE-CODE-SDK-DEEP-ANALYSIS.md +649 -0
  126. package/docs/sdk/CLAUDE-FLOW-SDK-INTEGRATION-ANALYSIS.md +242 -0
  127. package/docs/sdk/INTEGRATION-ROADMAP.md +420 -0
  128. package/docs/sdk/MCP-TOOLS-UPDATE.md +270 -0
  129. package/docs/sdk/SDK-ADVANCED-FEATURES-INTEGRATION.md +723 -0
  130. package/docs/sdk/SDK-ALL-FEATURES-INTEGRATION-MATRIX.md +612 -0
  131. package/docs/sdk/SDK-INTEGRATION-COMPLETE.md +358 -0
  132. package/docs/sdk/SDK-INTEGRATION-PHASES-V2.5.md +750 -0
  133. package/docs/sdk/SDK-LEVERAGE-REAL-FEATURES.md +676 -0
  134. package/docs/sdk/SDK-VALIDATION-RESULTS.md +400 -0
  135. package/docs/sdk/epic-sdk-integration.md +1269 -0
  136. package/docs/setup/remote-setup.md +93 -0
  137. package/docs/validation/final-validation-summary.md +220 -0
  138. package/docs/validation/verification-integration.md +190 -0
  139. package/docs/validation/verification-validation.md +349 -0
  140. package/docs/wiki/background-commands.md +1213 -0
  141. package/docs/wiki/session-persistence.md +342 -0
  142. package/docs/wiki/stream-chain-command.md +537 -0
  143. package/package.json +4 -2
  144. package/src/cli/command-registry.js +70 -5
  145. package/src/cli/commands/hive-mind/pause.ts +2 -15
  146. package/src/cli/commands/index.ts +1 -84
  147. package/src/cli/commands/swarm-spawn.ts +3 -47
  148. package/src/cli/help-text.js +42 -7
  149. package/src/cli/simple-cli.ts +18 -8
  150. package/src/cli/simple-commands/agent-booster.js +515 -0
  151. package/src/cli/simple-commands/agent.js +1001 -12
  152. package/src/cli/simple-commands/agent.ts +137 -0
  153. package/src/cli/simple-commands/config.ts +127 -0
  154. package/src/cli/simple-commands/env-template.js +190 -0
  155. package/src/cli/simple-commands/hooks.js +310 -0
  156. package/src/cli/simple-commands/init/help.js +23 -0
  157. package/src/cli/simple-commands/init/index.js +84 -6
  158. package/src/cli/simple-commands/memory.js +363 -16
  159. package/src/cli/simple-commands/proxy.js +384 -0
  160. package/src/cli/simple-commands/sparc.js +16 -19
  161. package/src/execution/agent-executor.ts +306 -0
  162. package/src/execution/index.ts +19 -0
  163. package/src/execution/provider-manager.ts +187 -0
  164. package/src/hooks/index.ts +0 -5
  165. package/src/hooks/redaction-hook.ts +115 -0
  166. package/src/mcp/claude-flow-tools.ts +203 -120
  167. package/src/mcp/mcp-server.js +86 -0
  168. package/src/sdk/query-control.ts +377 -223
  169. package/src/sdk/session-forking.ts +312 -207
  170. package/src/utils/key-redactor.js +178 -0
  171. package/src/utils/key-redactor.ts +184 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cli/simple-commands/agent.js"],"sourcesContent":["// agent.js - Agent management commands\nimport { printSuccess, printError, printWarning } from '../utils.js';\nimport { onAgentSpawn, onAgentAction } from './performance-hooks.js';\n\nexport async function agentCommand(subArgs, flags) {\n const agentCmd = subArgs[0];\n\n switch (agentCmd) {\n case 'spawn':\n await spawnAgent(subArgs, flags);\n break;\n\n case 'list':\n await listAgents(subArgs, flags);\n break;\n\n case 'hierarchy':\n await manageHierarchy(subArgs, flags);\n break;\n\n case 'network':\n await manageNetwork(subArgs, flags);\n break;\n\n case 'ecosystem':\n await manageEcosystem(subArgs, flags);\n break;\n\n case 'provision':\n await provisionAgent(subArgs, flags);\n break;\n\n case 'terminate':\n await terminateAgent(subArgs, flags);\n break;\n\n case 'info':\n await showAgentInfo(subArgs, flags);\n break;\n\n default:\n showAgentHelp();\n }\n}\n\nasync function spawnAgent(subArgs, flags) {\n const agentType = subArgs[1] || 'general';\n const agentName = getFlag(subArgs, '--name') || flags.name || `agent-${Date.now()}`;\n const agentId = `${agentType}-${Date.now()}`;\n\n // Create the agent object\n const agent = {\n id: agentId,\n name: agentName,\n type: agentType,\n status: 'active',\n activeTasks: 0,\n lastActivity: Date.now(),\n capabilities: getAgentCapabilities(agentType),\n createdAt: Date.now()\n };\n\n // Store agent in session/agents directory\n const { promises: fs } = await import('fs');\n const path = await import('path');\n \n // Ensure agents directory exists\n const agentsDir = '.claude-flow/agents';\n await fs.mkdir(agentsDir, { recursive: true });\n \n // Save agent data\n const agentFile = path.join(agentsDir, `${agentId}.json`);\n await fs.writeFile(agentFile, JSON.stringify(agent, null, 2));\n \n // Update performance metrics\n const perfFile = '.claude-flow/metrics/performance.json';\n try {\n const perfData = JSON.parse(await fs.readFile(perfFile, 'utf8'));\n perfData.totalAgents = (perfData.totalAgents || 0) + 1;\n perfData.activeAgents = (perfData.activeAgents || 0) + 1;\n await fs.writeFile(perfFile, JSON.stringify(perfData, null, 2));\n } catch (e) {\n // Create new performance file if doesn't exist\n await fs.writeFile(perfFile, JSON.stringify({\n startTime: Date.now(),\n totalTasks: 0,\n successfulTasks: 0,\n failedTasks: 0,\n totalAgents: 1,\n activeAgents: 1,\n neuralEvents: 0\n }, null, 2));\n }\n\n printSuccess(`✅ Spawned ${agentType} agent: ${agentName}`);\n console.log('🤖 Agent successfully created:');\n console.log(` ID: ${agentId}`);\n console.log(` Type: ${agentType}`);\n console.log(` Name: ${agentName}`);\n console.log(` Capabilities: ${agent.capabilities.join(', ')}`);\n console.log(` Status: ${agent.status}`);\n console.log(` Location: ${agentFile}`);\n \n // Track agent spawn for performance metrics\n await onAgentSpawn(agentId, agentType, { name: agentName });\n}\n\nfunction getAgentCapabilities(type) {\n const capabilities = {\n researcher: ['Research', 'Analysis', 'Information Gathering', 'Documentation'],\n coder: ['Code Generation', 'Implementation', 'Refactoring', 'Debugging'],\n tester: ['Testing', 'Validation', 'Quality Assurance', 'Performance Testing'],\n analyst: ['Data Analysis', 'Pattern Recognition', 'Reporting', 'Optimization'],\n coordinator: ['Task Management', 'Workflow Orchestration', 'Resource Allocation'],\n general: ['Research', 'Analysis', 'Code Generation']\n };\n return capabilities[type] || capabilities.general;\n}\n\nasync function listAgents(subArgs, flags) {\n const { promises: fs } = await import('fs');\n const path = await import('path');\n \n const agentsDir = '.claude-flow/agents';\n const agents = [];\n \n try {\n const agentFiles = await fs.readdir(agentsDir);\n for (const file of agentFiles) {\n if (file.endsWith('.json')) {\n try {\n const content = await fs.readFile(path.join(agentsDir, file), 'utf8');\n const agent = JSON.parse(content);\n agents.push(agent);\n } catch {\n // Skip invalid agent files\n }\n }\n }\n } catch {\n // Agents directory doesn't exist yet\n }\n \n if (agents.length > 0) {\n printSuccess(`Active agents (${agents.length}):`);\n agents.forEach(agent => {\n const statusEmoji = agent.status === 'active' ? '🟢' : '🟡';\n console.log(`${statusEmoji} ${agent.name} (${agent.type})`);\n console.log(` ID: ${agent.id}`);\n console.log(` Status: ${agent.status}`);\n console.log(` Tasks: ${agent.activeTasks}`);\n console.log(` Created: ${new Date(agent.createdAt).toLocaleString()}`);\n console.log('');\n });\n } else {\n console.log('📋 No agents currently active');\n console.log('\\nTo create agents:');\n console.log(' claude-flow agent spawn researcher --name \"ResearchBot\"');\n console.log(' claude-flow agent spawn coder --name \"CodeBot\"');\n console.log(' claude-flow agent spawn analyst --name \"DataBot\"');\n }\n}\n\nasync function manageHierarchy(subArgs, flags) {\n const hierarchyCmd = subArgs[1];\n\n switch (hierarchyCmd) {\n case 'create':\n const hierarchyType = subArgs[2] || 'basic';\n printSuccess(`Creating ${hierarchyType} agent hierarchy`);\n console.log('🏗️ Hierarchy structure would include:');\n console.log(' - Coordinator Agent (manages workflow)');\n console.log(' - Specialist Agents (domain-specific tasks)');\n console.log(' - Worker Agents (execution tasks)');\n break;\n\n case 'show':\n printSuccess('Current agent hierarchy:');\n console.log('📊 No hierarchy configured (orchestrator not running)');\n break;\n\n default:\n console.log('Hierarchy commands: create, show');\n console.log('Examples:');\n console.log(' claude-flow agent hierarchy create enterprise');\n console.log(' claude-flow agent hierarchy show');\n }\n}\n\nasync function manageNetwork(subArgs, flags) {\n const networkCmd = subArgs[1];\n\n switch (networkCmd) {\n case 'topology':\n printSuccess('Agent network topology:');\n console.log('🌐 Network visualization would show agent connections');\n break;\n\n case 'metrics':\n printSuccess('Network performance metrics:');\n console.log('📈 Communication latency, throughput, reliability stats');\n break;\n\n default:\n console.log('Network commands: topology, metrics');\n }\n}\n\nasync function manageEcosystem(subArgs, flags) {\n const ecosystemCmd = subArgs[1];\n\n switch (ecosystemCmd) {\n case 'status':\n printSuccess('Agent ecosystem status:');\n console.log('🌱 Ecosystem health: Not running');\n console.log(' Active Agents: 0');\n console.log(' Resource Usage: 0%');\n console.log(' Task Queue: Empty');\n break;\n\n case 'optimize':\n printSuccess('Optimizing agent ecosystem...');\n console.log('⚡ Optimization would include:');\n console.log(' - Load balancing across agents');\n console.log(' - Resource allocation optimization');\n console.log(' - Communication path optimization');\n break;\n\n default:\n console.log('Ecosystem commands: status, optimize');\n }\n}\n\nasync function provisionAgent(subArgs, flags) {\n const provision = subArgs[1];\n\n if (!provision) {\n printError('Usage: agent provision <count>');\n return;\n }\n\n const count = parseInt(provision);\n if (isNaN(count) || count < 1) {\n printError('Count must be a positive number');\n return;\n }\n\n printSuccess(`Provisioning ${count} agents...`);\n console.log('🚀 Auto-provisioning would create:');\n for (let i = 1; i <= count; i++) {\n console.log(` Agent ${i}: Type=general, Status=provisioning`);\n }\n}\n\nasync function terminateAgent(subArgs, flags) {\n const agentId = subArgs[1];\n\n if (!agentId) {\n printError('Usage: agent terminate <agent-id>');\n return;\n }\n\n printSuccess(`Terminating agent: ${agentId}`);\n console.log('🛑 Agent would be gracefully shut down');\n}\n\nasync function showAgentInfo(subArgs, flags) {\n const agentId = subArgs[1];\n\n if (!agentId) {\n printError('Usage: agent info <agent-id>');\n return;\n }\n\n printSuccess(`Agent information: ${agentId}`);\n console.log('📊 Agent details would include:');\n console.log(' Status, capabilities, current tasks, performance metrics');\n}\n\nfunction getFlag(args, flagName) {\n const index = args.indexOf(flagName);\n return index !== -1 && index + 1 < args.length ? args[index + 1] : null;\n}\n\nfunction showAgentHelp() {\n console.log('Agent commands:');\n console.log(' spawn <type> [--name <name>] Create new agent');\n console.log(' list [--verbose] List active agents');\n console.log(' terminate <id> Stop specific agent');\n console.log(' info <id> Show agent details');\n console.log(' hierarchy <create|show> Manage agent hierarchies');\n console.log(' network <topology|metrics> Agent network operations');\n console.log(' ecosystem <status|optimize> Ecosystem management');\n console.log(' provision <count> Auto-provision agents');\n console.log();\n console.log('Agent Types:');\n console.log(' researcher Research and information gathering');\n console.log(' coder Code development and analysis');\n console.log(' analyst Data analysis and insights');\n console.log(' coordinator Task coordination and management');\n console.log(' general Multi-purpose agent');\n console.log();\n console.log('Examples:');\n console.log(' claude-flow agent spawn researcher --name \"DataBot\"');\n console.log(' claude-flow agent list --verbose');\n console.log(' claude-flow agent hierarchy create enterprise');\n console.log(' claude-flow agent ecosystem status');\n}\n"],"names":["printSuccess","printError","onAgentSpawn","agentCommand","subArgs","flags","agentCmd","spawnAgent","listAgents","manageHierarchy","manageNetwork","manageEcosystem","provisionAgent","terminateAgent","showAgentInfo","showAgentHelp","agentType","agentName","getFlag","name","Date","now","agentId","agent","id","type","status","activeTasks","lastActivity","capabilities","getAgentCapabilities","createdAt","promises","fs","path","agentsDir","mkdir","recursive","agentFile","join","writeFile","JSON","stringify","perfFile","perfData","parse","readFile","totalAgents","activeAgents","e","startTime","totalTasks","successfulTasks","failedTasks","neuralEvents","console","log","researcher","coder","tester","analyst","coordinator","general","agents","agentFiles","readdir","file","endsWith","content","push","length","forEach","statusEmoji","toLocaleString","hierarchyCmd","hierarchyType","networkCmd","ecosystemCmd","provision","count","parseInt","isNaN","i","args","flagName","index","indexOf"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/cli/simple-commands/agent.js"],"sourcesContent":["// agent.js - Agent management commands\nimport { printSuccess, printError, printWarning } from '../utils.js';\nimport { onAgentSpawn, onAgentAction } from './performance-hooks.js';\nimport { exec } from 'child_process';\nimport { promisify } from 'util';\n\nconst execAsync = promisify(exec);\n\nexport async function agentCommand(subArgs, flags) {\n const agentCmd = subArgs[0];\n\n // Handle --help flag explicitly to show full help\n if (flags.help || flags.h || agentCmd === '--help' || agentCmd === '-h') {\n showAgentHelp();\n return;\n }\n\n switch (agentCmd) {\n case 'run':\n case 'execute':\n await executeAgentTask(subArgs, flags);\n break;\n\n case 'spawn':\n await spawnAgent(subArgs, flags);\n break;\n\n case 'list':\n await listAgents(subArgs, flags);\n break;\n\n case 'agents':\n await listAgenticFlowAgents(subArgs, flags);\n break;\n\n case 'create':\n await createAgent(subArgs, flags);\n break;\n\n case 'info':\n await getAgentInfo(subArgs, flags);\n break;\n\n case 'conflicts':\n await checkAgentConflicts(subArgs, flags);\n break;\n\n case 'memory':\n await memoryCommand(subArgs, flags);\n break;\n\n case 'config':\n case 'configure':\n await configAgenticFlow(subArgs, flags);\n break;\n\n case 'mcp':\n case 'mcp-server':\n await mcpAgenticFlow(subArgs, flags);\n break;\n\n case 'hierarchy':\n await manageHierarchy(subArgs, flags);\n break;\n\n case 'network':\n await manageNetwork(subArgs, flags);\n break;\n\n case 'ecosystem':\n await manageEcosystem(subArgs, flags);\n break;\n\n case 'provision':\n await provisionAgent(subArgs, flags);\n break;\n\n case 'terminate':\n await terminateAgent(subArgs, flags);\n break;\n\n case 'booster':\n const { agentBoosterCommand } = await import('./agent-booster.js');\n await agentBoosterCommand(subArgs, flags);\n break;\n\n default:\n showAgentHelp();\n }\n}\n\nasync function executeAgentTask(subArgs, flags) {\n const agentType = subArgs[1];\n const task = subArgs[2];\n\n if (!agentType || !task) {\n printError('Usage: agent run <agent-type> \"<task>\" [--provider <provider>] [--model <model>]');\n console.log('\\nExamples:');\n console.log(' claude-flow agent run coder \"Create a REST API\"');\n console.log(' claude-flow agent run researcher \"Research AI trends\" --provider openrouter');\n console.log(' claude-flow agent run reviewer \"Review code for security\" --provider onnx');\n return;\n }\n\n // Check for memory flags and .env configuration\n if (flags.enableMemory || flags.memory) {\n const { checkEnvConfig, showEnvSetupInstructions } = await import('./env-template.js');\n const envCheck = await checkEnvConfig(process.cwd());\n\n if (!envCheck.exists) {\n printWarning('⚠️ ReasoningBank memory requires .env configuration');\n showEnvSetupInstructions();\n console.log('❌ Cannot use --enable-memory without .env file\\n');\n process.exit(1);\n }\n\n if (!envCheck.hasApiKeys) {\n printWarning('⚠️ No API keys found in .env file');\n console.log('\\n⚠️ ReasoningBank will fall back to heuristic mode (regex matching)');\n console.log(' Without API keys, memory will NOT learn from experience!\\n');\n showEnvSetupInstructions();\n console.log('❌ Add API keys to .env to enable actual learning\\n');\n process.exit(1);\n }\n\n // Show which keys are configured\n console.log('✅ API keys configured:');\n if (envCheck.keys.anthropic) console.log(' • Anthropic (Claude)');\n if (envCheck.keys.openrouter) console.log(' • OpenRouter (cost optimization available)');\n if (envCheck.keys.gemini) console.log(' • Gemini (free tier available)');\n console.log('');\n }\n\n printSuccess(`🚀 Executing ${agentType} agent with agentic-flow...`);\n console.log(`Task: ${task}`);\n\n const provider = flags.provider || 'anthropic';\n if (flags.provider) {\n console.log(`Provider: ${provider}`);\n }\n\n try {\n // Build command for agentic-flow\n const cmd = buildAgenticFlowCommand(agentType, task, flags);\n console.log('\\n⏳ Running agent... (this may take a moment)\\n');\n\n // Execute agentic-flow\n const { stdout, stderr } = await execAsync(cmd, {\n timeout: flags.timeout || 300000,\n maxBuffer: 10 * 1024 * 1024,\n });\n\n if (stdout) {\n console.log(stdout);\n }\n\n if (stderr && flags.verbose) {\n console.warn('\\nWarnings:', stderr);\n }\n\n printSuccess('✅ Agent task completed successfully!');\n } catch (error) {\n printError('❌ Agent execution failed');\n console.error(error.message);\n if (error.stderr) {\n console.error('Error details:', error.stderr);\n }\n process.exit(1);\n }\n}\n\nfunction buildAgenticFlowCommand(agent, task, flags) {\n const parts = ['npx', 'agentic-flow'];\n\n // Agentic-flow uses --agent flag directly (no 'execute' subcommand)\n parts.push('--agent', agent);\n parts.push('--task', `\"${task.replace(/\"/g, '\\\\\"')}\"`);\n\n if (flags.provider) {\n parts.push('--provider', flags.provider);\n }\n\n if (flags.model) {\n parts.push('--model', flags.model);\n }\n\n if (flags.temperature) {\n parts.push('--temperature', flags.temperature);\n }\n\n if (flags.maxTokens) {\n parts.push('--max-tokens', flags.maxTokens);\n }\n\n if (flags.format) {\n parts.push('--output-format', flags.format);\n }\n\n if (flags.stream) {\n parts.push('--stream');\n }\n\n if (flags.verbose) {\n parts.push('--verbose');\n }\n\n // ReasoningBank memory options (NEW in v2.6.0)\n if (flags.enableMemory || flags.memory) {\n parts.push('--enable-memory');\n }\n\n if (flags.memoryDb || flags.memoryDatabase) {\n parts.push('--memory-db', flags.memoryDb || flags.memoryDatabase);\n }\n\n if (flags.memoryK) {\n parts.push('--memory-k', flags.memoryK);\n }\n\n if (flags.memoryDomain) {\n parts.push('--memory-domain', flags.memoryDomain);\n }\n\n if (flags.memoryLearning === false) {\n parts.push('--no-memory-learning');\n }\n\n if (flags.memoryMinConfidence) {\n parts.push('--memory-min-confidence', flags.memoryMinConfidence);\n }\n\n if (flags.memoryTaskId) {\n parts.push('--memory-task-id', flags.memoryTaskId);\n }\n\n // Model optimization options (NEW in v2.6.0 - agentic-flow v1.5.0+)\n if (flags.optimize) {\n parts.push('--optimize');\n }\n\n if (flags.priority) {\n parts.push('--priority', flags.priority);\n }\n\n if (flags.maxCost) {\n parts.push('--max-cost', flags.maxCost);\n }\n\n // Additional execution options (NEW in v2.6.0)\n if (flags.retry) {\n parts.push('--retry');\n }\n\n if (flags.agentsDir) {\n parts.push('--agents-dir', flags.agentsDir);\n }\n\n if (flags.timeout) {\n parts.push('--timeout', flags.timeout);\n }\n\n // API key overrides (NEW in v2.6.0)\n if (flags.anthropicKey) {\n parts.push('--anthropic-key', flags.anthropicKey);\n }\n\n if (flags.openrouterKey) {\n parts.push('--openrouter-key', flags.openrouterKey);\n }\n\n if (flags.geminiKey) {\n parts.push('--gemini-key', flags.geminiKey);\n }\n\n return parts.join(' ');\n}\n\nasync function listAgenticFlowAgents(subArgs, flags) {\n printSuccess('📋 Loading available agentic-flow agents...');\n\n try {\n // Agentic-flow uses 'agent list' command\n const { stdout } = await execAsync('npx agentic-flow agent list', {\n timeout: 30000,\n });\n\n console.log('\\n66+ Available Agents:\\n');\n console.log(stdout);\n console.log('\\nUsage:');\n console.log(' claude-flow agent run <agent-type> \"<task>\"');\n console.log('\\nExamples:');\n console.log(' claude-flow agent run coder \"Build a REST API with authentication\"');\n console.log(' claude-flow agent run security-auditor \"Review this code for vulnerabilities\"');\n console.log(' claude-flow agent run full-stack-developer \"Create a Next.js app\"');\n } catch (error) {\n printError('Failed to load agentic-flow agents');\n console.error('Make sure agentic-flow is installed: npm install -g agentic-flow');\n console.error(error.message);\n }\n}\n\nasync function createAgent(subArgs, flags) {\n printSuccess('🛠️ Creating custom agent with agentic-flow...');\n\n try {\n // Build command for agentic-flow agent create\n let cmd = 'npx agentic-flow agent create';\n\n if (flags.name) {\n cmd += ` --name \"${flags.name}\"`;\n }\n\n if (flags.description) {\n cmd += ` --description \"${flags.description}\"`;\n }\n\n if (flags.category) {\n cmd += ` --category \"${flags.category}\"`;\n }\n\n if (flags.prompt) {\n cmd += ` --prompt \"${flags.prompt}\"`;\n }\n\n if (flags.tools) {\n cmd += ` --tools \"${flags.tools}\"`;\n }\n\n const { stdout, stderr } = await execAsync(cmd, {\n timeout: 60000,\n maxBuffer: 10 * 1024 * 1024,\n });\n\n if (stdout) {\n console.log(stdout);\n }\n\n printSuccess('✅ Agent created successfully!');\n console.log('\\nNext steps:');\n console.log(' 1. Run your agent: claude-flow agent run <agent-name> \"<task>\"');\n console.log(' 2. View agent info: claude-flow agent info <agent-name>');\n console.log(' 3. Check for conflicts: claude-flow agent conflicts');\n } catch (error) {\n printError('❌ Failed to create agent');\n console.error(error.message);\n if (error.stderr) {\n console.error('Details:', error.stderr);\n }\n process.exit(1);\n }\n}\n\nasync function getAgentInfo(subArgs, flags) {\n const agentName = subArgs[1];\n\n if (!agentName) {\n printError('Usage: agent info <agent-name>');\n console.log('\\nExample:');\n console.log(' claude-flow agent info coder');\n console.log(' claude-flow agent info security-auditor');\n return;\n }\n\n printSuccess(`📊 Getting information for agent: ${agentName}`);\n\n try {\n const { stdout } = await execAsync(`npx agentic-flow agent info ${agentName}`, {\n timeout: 30000,\n });\n\n console.log(stdout);\n } catch (error) {\n printError(`❌ Failed to get agent info for: ${agentName}`);\n console.error(error.message);\n console.log('\\nTip: List all agents with: claude-flow agent agents');\n process.exit(1);\n }\n}\n\nasync function checkAgentConflicts(subArgs, flags) {\n printSuccess('🔍 Checking for agent conflicts between package and local agents...');\n\n try {\n const { stdout } = await execAsync('npx agentic-flow agent conflicts', {\n timeout: 30000,\n });\n\n console.log(stdout);\n\n if (stdout.includes('No conflicts found')) {\n printSuccess('✅ No conflicts detected!');\n } else {\n printWarning('⚠️ Conflicts found! Local agents will override package agents with the same path.');\n }\n } catch (error) {\n printError('❌ Failed to check agent conflicts');\n console.error(error.message);\n process.exit(1);\n }\n}\n\nasync function memoryCommand(subArgs, flags) {\n const memoryCmd = subArgs[1];\n\n switch (memoryCmd) {\n case 'init':\n case 'initialize':\n await initializeMemory(subArgs, flags);\n break;\n\n case 'status':\n case 'info':\n await getMemoryStatus(subArgs, flags);\n break;\n\n case 'consolidate':\n case 'prune':\n await consolidateMemory(subArgs, flags);\n break;\n\n case 'list':\n case 'ls':\n await listMemories(subArgs, flags);\n break;\n\n case 'demo':\n await runMemoryDemo(subArgs, flags);\n break;\n\n case 'test':\n await runMemoryTest(subArgs, flags);\n break;\n\n case 'benchmark':\n await runMemoryBenchmark(subArgs, flags);\n break;\n\n default:\n showMemoryHelp();\n }\n}\n\nasync function initializeMemory(subArgs, flags) {\n const dbPath = flags.db || flags.database || '.swarm/memory.db';\n\n printSuccess('🧠 Initializing ReasoningBank memory system...');\n console.log(`Database: ${dbPath}`);\n\n try {\n const { stdout, stderr } = await execAsync('npx agentic-flow reasoningbank init', {\n timeout: 30000,\n });\n\n if (stdout) {\n console.log(stdout);\n }\n\n printSuccess('✅ ReasoningBank initialized successfully!');\n console.log('\\nNext steps:');\n console.log(' 1. Run agents with --enable-memory flag');\n console.log(' 2. Check status: claude-flow agent memory status');\n console.log(' 3. View demo: claude-flow agent memory demo');\n } catch (error) {\n printError('❌ Failed to initialize ReasoningBank');\n console.error(error.message);\n if (error.stderr) {\n console.error('Details:', error.stderr);\n }\n process.exit(1);\n }\n}\n\nasync function getMemoryStatus(subArgs, flags) {\n printSuccess('🧠 ReasoningBank Status:');\n\n try {\n const { stdout } = await execAsync('npx agentic-flow reasoningbank status', {\n timeout: 30000,\n });\n\n console.log(stdout);\n } catch (error) {\n printError('❌ Failed to get memory status');\n console.error(error.message);\n console.log('\\nTip: Initialize first with: claude-flow agent memory init');\n process.exit(1);\n }\n}\n\nasync function consolidateMemory(subArgs, flags) {\n printSuccess('🧠 Consolidating ReasoningBank memories...');\n console.log('This will deduplicate and prune old/low-quality memories');\n\n try {\n const { stdout } = await execAsync('npx agentic-flow reasoningbank consolidate', {\n timeout: 60000,\n });\n\n console.log(stdout);\n printSuccess('✅ Memory consolidation complete!');\n } catch (error) {\n printError('❌ Consolidation failed');\n console.error(error.message);\n process.exit(1);\n }\n}\n\nasync function listMemories(subArgs, flags) {\n const domain = flags.domain;\n const limit = flags.limit || 10;\n\n printSuccess(`🧠 Listing ReasoningBank memories (limit: ${limit})`);\n if (domain) {\n console.log(`Domain filter: ${domain}`);\n }\n\n try {\n let cmd = 'npx agentic-flow reasoningbank list';\n if (domain) {\n cmd += ` --domain ${domain}`;\n }\n cmd += ` --limit ${limit}`;\n\n const { stdout } = await execAsync(cmd, {\n timeout: 30000,\n });\n\n console.log(stdout);\n } catch (error) {\n printError('❌ Failed to list memories');\n console.error(error.message);\n process.exit(1);\n }\n}\n\nasync function runMemoryDemo(subArgs, flags) {\n printSuccess('🎯 Running ReasoningBank demo...');\n console.log('This will show how memory improves task success over time\\n');\n\n try {\n const { stdout } = await execAsync('npx agentic-flow reasoningbank demo', {\n timeout: 120000,\n });\n\n console.log(stdout);\n printSuccess('✅ Demo complete!');\n } catch (error) {\n printError('❌ Demo failed');\n console.error(error.message);\n process.exit(1);\n }\n}\n\nasync function runMemoryTest(subArgs, flags) {\n printSuccess('🧪 Running ReasoningBank integration tests...');\n\n try {\n const { stdout } = await execAsync('npx agentic-flow reasoningbank test', {\n timeout: 120000,\n });\n\n console.log(stdout);\n printSuccess('✅ Tests complete!');\n } catch (error) {\n printError('❌ Tests failed');\n console.error(error.message);\n process.exit(1);\n }\n}\n\nasync function runMemoryBenchmark(subArgs, flags) {\n printSuccess('⚡ Running ReasoningBank performance benchmarks...');\n\n try {\n const { stdout } = await execAsync('npx agentic-flow reasoningbank benchmark', {\n timeout: 120000,\n });\n\n console.log(stdout);\n printSuccess('✅ Benchmarks complete!');\n } catch (error) {\n printError('❌ Benchmark failed');\n console.error(error.message);\n process.exit(1);\n }\n}\n\nfunction showMemoryHelp() {\n console.log('Memory (ReasoningBank) commands:');\n console.log(' init Initialize ReasoningBank database');\n console.log(' status Show memory system status');\n console.log(' consolidate Deduplicate and prune memories');\n console.log(' list [--domain <domain>] List stored memories');\n console.log(' demo Run interactive demo');\n console.log(' test Run integration tests');\n console.log(' benchmark Run performance benchmarks');\n console.log();\n console.log('Options:');\n console.log(' --db, --database <path> Database path [default: .swarm/memory.db]');\n console.log(' --domain <domain> Filter by domain');\n console.log(' --limit <n> Limit results [default: 10]');\n console.log();\n console.log('Examples:');\n console.log(' claude-flow agent memory init');\n console.log(' claude-flow agent memory status');\n console.log(' claude-flow agent memory list --domain web --limit 5');\n console.log(' claude-flow agent memory consolidate');\n console.log(' claude-flow agent memory demo');\n}\n\n// Configuration Management for agentic-flow\nasync function configAgenticFlow(subArgs, flags) {\n const configCmd = subArgs[1];\n\n switch (configCmd) {\n case 'set':\n await agenticConfigSet(subArgs, flags);\n break;\n case 'get':\n await agenticConfigGet(subArgs, flags);\n break;\n case 'list':\n await agenticConfigList(subArgs, flags);\n break;\n case 'delete':\n case 'remove':\n case 'rm':\n await agenticConfigDelete(subArgs, flags);\n break;\n case 'reset':\n await agenticConfigReset(subArgs, flags);\n break;\n case undefined:\n case 'wizard':\n case 'interactive':\n await agenticConfigWizard(subArgs, flags);\n break;\n default:\n showAgenticConfigHelp();\n }\n}\n\nasync function agenticConfigSet(subArgs, flags) {\n const key = subArgs[2];\n const value = subArgs[3];\n\n if (!key || !value) {\n printError('Usage: agent config set <key> <value>');\n console.log('\\nExample:');\n console.log(' claude-flow agent config set ANTHROPIC_API_KEY sk-ant-xxx');\n console.log(' claude-flow agent config set DEFAULT_MODEL claude-3-5-sonnet-20241022');\n return;\n }\n\n printSuccess(`🔧 Setting agentic-flow configuration: ${key}`);\n\n try {\n const { stdout } = await execAsync(`npx agentic-flow config set ${key} \"${value}\"`, {\n timeout: 30000,\n });\n console.log(stdout);\n printSuccess('✅ Configuration set successfully!');\n } catch (error) {\n printError(`❌ Failed to set configuration: ${key}`);\n console.error(error.message);\n process.exit(1);\n }\n}\n\nasync function agenticConfigGet(subArgs, flags) {\n const key = subArgs[2];\n\n if (!key) {\n printError('Usage: agent config get <key>');\n console.log('\\nExample:');\n console.log(' claude-flow agent config get ANTHROPIC_API_KEY');\n return;\n }\n\n try {\n const { stdout } = await execAsync(`npx agentic-flow config get ${key}`, {\n timeout: 30000,\n });\n console.log(stdout);\n } catch (error) {\n printError(`❌ Failed to get configuration: ${key}`);\n console.error(error.message);\n process.exit(1);\n }\n}\n\nasync function agenticConfigList(subArgs, flags) {\n printSuccess('📋 Listing agentic-flow configurations...');\n\n try {\n let cmd = 'npx agentic-flow config list';\n if (flags.showSecrets) {\n cmd += ' --show-secrets';\n }\n\n const { stdout } = await execAsync(cmd, { timeout: 30000 });\n console.log(stdout);\n\n if (!flags.showSecrets) {\n console.log('\\n💡 Tip: Use --show-secrets to reveal sensitive values');\n }\n } catch (error) {\n printError('❌ Failed to list configurations');\n console.error(error.message);\n process.exit(1);\n }\n}\n\nasync function agenticConfigDelete(subArgs, flags) {\n const key = subArgs[2];\n\n if (!key) {\n printError('Usage: agent config delete <key>');\n return;\n }\n\n printWarning(`⚠️ Deleting configuration: ${key}`);\n\n try {\n const { stdout } = await execAsync(`npx agentic-flow config delete ${key}`, {\n timeout: 30000,\n });\n console.log(stdout);\n printSuccess('✅ Configuration deleted!');\n } catch (error) {\n printError(`❌ Failed to delete configuration: ${key}`);\n console.error(error.message);\n process.exit(1);\n }\n}\n\nasync function agenticConfigReset(subArgs, flags) {\n if (!flags.force) {\n printWarning('⚠️ WARNING: This will reset ALL agentic-flow configurations!');\n console.log('\\nUse --force to confirm: claude-flow agent config reset --force');\n return;\n }\n\n printWarning('🔄 Resetting agentic-flow configurations...');\n\n try {\n const { stdout } = await execAsync('npx agentic-flow config reset --force', {\n timeout: 30000,\n });\n console.log(stdout);\n printSuccess('✅ Configurations reset!');\n } catch (error) {\n printError('❌ Failed to reset configurations');\n console.error(error.message);\n process.exit(1);\n }\n}\n\nasync function agenticConfigWizard(subArgs, flags) {\n printSuccess('🧙 Starting agentic-flow configuration wizard...');\n\n try {\n const { stdout } = await execAsync('npx agentic-flow config wizard', {\n timeout: 300000,\n });\n console.log(stdout);\n printSuccess('✅ Configuration wizard completed!');\n } catch (error) {\n printError('❌ Configuration wizard failed');\n console.error(error.message);\n process.exit(1);\n }\n}\n\nfunction showAgenticConfigHelp() {\n console.log('Agentic-flow configuration commands:');\n console.log(' set <key> <value> Set configuration value');\n console.log(' get <key> Get configuration value');\n console.log(' list List all configurations');\n console.log(' delete <key> Delete configuration value');\n console.log(' reset --force Reset to defaults');\n console.log(' wizard Run interactive setup wizard');\n console.log();\n console.log('Examples:');\n console.log(' claude-flow agent config wizard');\n console.log(' claude-flow agent config set ANTHROPIC_API_KEY sk-ant-xxx');\n console.log(' claude-flow agent config list --show-secrets');\n}\n\n// MCP Server Management for agentic-flow\nasync function mcpAgenticFlow(subArgs, flags) {\n const mcpCmd = subArgs[1];\n\n switch (mcpCmd) {\n case 'start':\n await agenticMcpStart(subArgs, flags);\n break;\n case 'stop':\n await agenticMcpStop(subArgs, flags);\n break;\n case 'status':\n await agenticMcpStatus(subArgs, flags);\n break;\n case 'list':\n case 'ls':\n await agenticMcpList(subArgs, flags);\n break;\n case 'logs':\n await agenticMcpLogs(subArgs, flags);\n break;\n case 'restart':\n await agenticMcpRestart(subArgs, flags);\n break;\n default:\n showAgenticMcpHelp();\n }\n}\n\nasync function agenticMcpStart(subArgs, flags) {\n printSuccess('🚀 Starting agentic-flow MCP server...');\n\n try {\n let cmd = 'npx agentic-flow mcp start';\n if (flags.port) cmd += ` --port ${flags.port}`;\n if (flags.host) cmd += ` --host ${flags.host}`;\n if (flags.daemon || flags.background) cmd += ' --daemon';\n\n const { stdout } = await execAsync(cmd, { timeout: 60000 });\n console.log(stdout);\n printSuccess('✅ MCP server started!');\n } catch (error) {\n printError('❌ Failed to start MCP server');\n console.error(error.message);\n process.exit(1);\n }\n}\n\nasync function agenticMcpStop(subArgs, flags) {\n printWarning('🛑 Stopping agentic-flow MCP server...');\n\n try {\n const { stdout } = await execAsync('npx agentic-flow mcp stop', { timeout: 30000 });\n console.log(stdout);\n printSuccess('✅ MCP server stopped!');\n } catch (error) {\n printError('❌ Failed to stop MCP server');\n console.error(error.message);\n process.exit(1);\n }\n}\n\nasync function agenticMcpStatus(subArgs, flags) {\n printSuccess('📊 Getting agentic-flow MCP server status...');\n\n try {\n let cmd = 'npx agentic-flow mcp status';\n if (flags.detailed || flags.verbose) cmd += ' --detailed';\n\n const { stdout } = await execAsync(cmd, { timeout: 30000 });\n console.log(stdout);\n } catch (error) {\n printError('❌ Failed to get MCP status');\n console.error(error.message);\n process.exit(1);\n }\n}\n\nasync function agenticMcpList(subArgs, flags) {\n printSuccess('📋 Listing agentic-flow MCP tools...');\n\n try {\n let cmd = 'npx agentic-flow mcp list';\n if (flags.server) cmd += ` --server ${flags.server}`;\n if (flags.category) cmd += ` --category ${flags.category}`;\n if (flags.detailed || flags.verbose) cmd += ' --detailed';\n\n const { stdout } = await execAsync(cmd, { timeout: 30000 });\n console.log(stdout);\n } catch (error) {\n printError('❌ Failed to list MCP tools');\n console.error(error.message);\n process.exit(1);\n }\n}\n\nasync function agenticMcpLogs(subArgs, flags) {\n printSuccess('📄 Getting agentic-flow MCP logs...');\n\n try {\n let cmd = 'npx agentic-flow mcp logs';\n if (flags.lines) cmd += ` --lines ${flags.lines}`;\n if (flags.follow || flags.f) cmd += ' --follow';\n if (flags.error) cmd += ' --error';\n\n const { stdout } = await execAsync(cmd, {\n timeout: flags.follow ? 0 : 30000,\n maxBuffer: 10 * 1024 * 1024\n });\n console.log(stdout);\n } catch (error) {\n printError('❌ Failed to get MCP logs');\n console.error(error.message);\n process.exit(1);\n }\n}\n\nasync function agenticMcpRestart(subArgs, flags) {\n printWarning('🔄 Restarting agentic-flow MCP server...');\n\n try {\n await agenticMcpStop(subArgs, { ...flags, quiet: true });\n await new Promise((resolve) => setTimeout(resolve, 2000));\n await agenticMcpStart(subArgs, flags);\n printSuccess('✅ MCP server restarted!');\n } catch (error) {\n printError('❌ Failed to restart MCP server');\n console.error(error.message);\n process.exit(1);\n }\n}\n\nfunction showAgenticMcpHelp() {\n console.log('Agentic-flow MCP server commands:');\n console.log(' start [--port <port>] Start MCP server');\n console.log(' stop Stop MCP server');\n console.log(' restart Restart MCP server');\n console.log(' status [--detailed] Get server status');\n console.log(' list [--server <name>] List MCP tools');\n console.log(' logs [--lines <n>] [--follow] View server logs');\n console.log();\n console.log('Options:');\n console.log(' --port <number> Server port (default: 3000)');\n console.log(' --host <string> Server host (default: localhost)');\n console.log(' --daemon, --background Run in background');\n console.log(' --server <name> Filter by server name');\n console.log(' --category <type> Filter by tool category');\n console.log(' --detailed, --verbose Detailed output');\n console.log();\n console.log('Examples:');\n console.log(' claude-flow agent mcp start --daemon');\n console.log(' claude-flow agent mcp status --detailed');\n console.log(' claude-flow agent mcp list --server agent-booster');\n console.log(' claude-flow agent mcp logs --lines 50 --follow');\n}\n\nasync function spawnAgent(subArgs, flags) {\n const agentType = subArgs[1] || 'general';\n const agentName = getFlag(subArgs, '--name') || flags.name || `agent-${Date.now()}`;\n const agentId = `${agentType}-${Date.now()}`;\n\n // Create the agent object\n const agent = {\n id: agentId,\n name: agentName,\n type: agentType,\n status: 'active',\n activeTasks: 0,\n lastActivity: Date.now(),\n capabilities: getAgentCapabilities(agentType),\n createdAt: Date.now()\n };\n\n // Store agent in session/agents directory\n const { promises: fs } = await import('fs');\n const path = await import('path');\n \n // Ensure agents directory exists\n const agentsDir = '.claude-flow/agents';\n await fs.mkdir(agentsDir, { recursive: true });\n \n // Save agent data\n const agentFile = path.join(agentsDir, `${agentId}.json`);\n await fs.writeFile(agentFile, JSON.stringify(agent, null, 2));\n \n // Update performance metrics\n const perfFile = '.claude-flow/metrics/performance.json';\n try {\n const perfData = JSON.parse(await fs.readFile(perfFile, 'utf8'));\n perfData.totalAgents = (perfData.totalAgents || 0) + 1;\n perfData.activeAgents = (perfData.activeAgents || 0) + 1;\n await fs.writeFile(perfFile, JSON.stringify(perfData, null, 2));\n } catch (e) {\n // Create new performance file if doesn't exist\n await fs.writeFile(perfFile, JSON.stringify({\n startTime: Date.now(),\n totalTasks: 0,\n successfulTasks: 0,\n failedTasks: 0,\n totalAgents: 1,\n activeAgents: 1,\n neuralEvents: 0\n }, null, 2));\n }\n\n printSuccess(`✅ Spawned ${agentType} agent: ${agentName}`);\n console.log('🤖 Agent successfully created:');\n console.log(` ID: ${agentId}`);\n console.log(` Type: ${agentType}`);\n console.log(` Name: ${agentName}`);\n console.log(` Capabilities: ${agent.capabilities.join(', ')}`);\n console.log(` Status: ${agent.status}`);\n console.log(` Location: ${agentFile}`);\n \n // Track agent spawn for performance metrics\n await onAgentSpawn(agentId, agentType, { name: agentName });\n}\n\nfunction getAgentCapabilities(type) {\n const capabilities = {\n researcher: ['Research', 'Analysis', 'Information Gathering', 'Documentation'],\n coder: ['Code Generation', 'Implementation', 'Refactoring', 'Debugging'],\n tester: ['Testing', 'Validation', 'Quality Assurance', 'Performance Testing'],\n analyst: ['Data Analysis', 'Pattern Recognition', 'Reporting', 'Optimization'],\n coordinator: ['Task Management', 'Workflow Orchestration', 'Resource Allocation'],\n general: ['Research', 'Analysis', 'Code Generation']\n };\n return capabilities[type] || capabilities.general;\n}\n\nasync function listAgents(subArgs, flags) {\n const { promises: fs } = await import('fs');\n const path = await import('path');\n \n const agentsDir = '.claude-flow/agents';\n const agents = [];\n \n try {\n const agentFiles = await fs.readdir(agentsDir);\n for (const file of agentFiles) {\n if (file.endsWith('.json')) {\n try {\n const content = await fs.readFile(path.join(agentsDir, file), 'utf8');\n const agent = JSON.parse(content);\n agents.push(agent);\n } catch {\n // Skip invalid agent files\n }\n }\n }\n } catch {\n // Agents directory doesn't exist yet\n }\n \n if (agents.length > 0) {\n printSuccess(`Active agents (${agents.length}):`);\n agents.forEach(agent => {\n const statusEmoji = agent.status === 'active' ? '🟢' : '🟡';\n console.log(`${statusEmoji} ${agent.name} (${agent.type})`);\n console.log(` ID: ${agent.id}`);\n console.log(` Status: ${agent.status}`);\n console.log(` Tasks: ${agent.activeTasks}`);\n console.log(` Created: ${new Date(agent.createdAt).toLocaleString()}`);\n console.log('');\n });\n } else {\n console.log('📋 No agents currently active');\n console.log('\\nTo create agents:');\n console.log(' claude-flow agent spawn researcher --name \"ResearchBot\"');\n console.log(' claude-flow agent spawn coder --name \"CodeBot\"');\n console.log(' claude-flow agent spawn analyst --name \"DataBot\"');\n }\n}\n\nasync function manageHierarchy(subArgs, flags) {\n const hierarchyCmd = subArgs[1];\n\n switch (hierarchyCmd) {\n case 'create':\n const hierarchyType = subArgs[2] || 'basic';\n printSuccess(`Creating ${hierarchyType} agent hierarchy`);\n console.log('🏗️ Hierarchy structure would include:');\n console.log(' - Coordinator Agent (manages workflow)');\n console.log(' - Specialist Agents (domain-specific tasks)');\n console.log(' - Worker Agents (execution tasks)');\n break;\n\n case 'show':\n printSuccess('Current agent hierarchy:');\n console.log('📊 No hierarchy configured (orchestrator not running)');\n break;\n\n default:\n console.log('Hierarchy commands: create, show');\n console.log('Examples:');\n console.log(' claude-flow agent hierarchy create enterprise');\n console.log(' claude-flow agent hierarchy show');\n }\n}\n\nasync function manageNetwork(subArgs, flags) {\n const networkCmd = subArgs[1];\n\n switch (networkCmd) {\n case 'topology':\n printSuccess('Agent network topology:');\n console.log('🌐 Network visualization would show agent connections');\n break;\n\n case 'metrics':\n printSuccess('Network performance metrics:');\n console.log('📈 Communication latency, throughput, reliability stats');\n break;\n\n default:\n console.log('Network commands: topology, metrics');\n }\n}\n\nasync function manageEcosystem(subArgs, flags) {\n const ecosystemCmd = subArgs[1];\n\n switch (ecosystemCmd) {\n case 'status':\n printSuccess('Agent ecosystem status:');\n console.log('🌱 Ecosystem health: Not running');\n console.log(' Active Agents: 0');\n console.log(' Resource Usage: 0%');\n console.log(' Task Queue: Empty');\n break;\n\n case 'optimize':\n printSuccess('Optimizing agent ecosystem...');\n console.log('⚡ Optimization would include:');\n console.log(' - Load balancing across agents');\n console.log(' - Resource allocation optimization');\n console.log(' - Communication path optimization');\n break;\n\n default:\n console.log('Ecosystem commands: status, optimize');\n }\n}\n\nasync function provisionAgent(subArgs, flags) {\n const provision = subArgs[1];\n\n if (!provision) {\n printError('Usage: agent provision <count>');\n return;\n }\n\n const count = parseInt(provision);\n if (isNaN(count) || count < 1) {\n printError('Count must be a positive number');\n return;\n }\n\n printSuccess(`Provisioning ${count} agents...`);\n console.log('🚀 Auto-provisioning would create:');\n for (let i = 1; i <= count; i++) {\n console.log(` Agent ${i}: Type=general, Status=provisioning`);\n }\n}\n\nasync function terminateAgent(subArgs, flags) {\n const agentId = subArgs[1];\n\n if (!agentId) {\n printError('Usage: agent terminate <agent-id>');\n return;\n }\n\n printSuccess(`Terminating agent: ${agentId}`);\n console.log('🛑 Agent would be gracefully shut down');\n}\n\nasync function showAgentInfo(subArgs, flags) {\n const agentId = subArgs[1];\n\n if (!agentId) {\n printError('Usage: agent info <agent-id>');\n return;\n }\n\n printSuccess(`Agent information: ${agentId}`);\n console.log('📊 Agent details would include:');\n console.log(' Status, capabilities, current tasks, performance metrics');\n}\n\nfunction getFlag(args, flagName) {\n const index = args.indexOf(flagName);\n return index !== -1 && index + 1 < args.length ? args[index + 1] : null;\n}\n\nfunction showAgentHelp() {\n console.log('Agent commands:');\n console.log('\\n🚀 Agentic-Flow Integration (NEW in v2.6.0):');\n console.log(' run <agent> \"<task>\" [options] Execute agent with multi-provider support');\n console.log(' agents List all 66+ agentic-flow agents');\n console.log(' create --name <name> [options] Create custom agent');\n console.log(' info <agent-name> Show detailed agent information');\n console.log(' conflicts Check for agent conflicts');\n console.log('\\n🧠 ReasoningBank Memory (NEW in v2.6.0):');\n console.log(' memory init Initialize memory system');\n console.log(' memory status Show memory statistics');\n console.log(' memory consolidate Prune and deduplicate memories');\n console.log(' memory list [--domain <d>] List stored memories');\n console.log(' memory demo Run interactive demo');\n console.log(' memory test Run integration tests');\n console.log(' memory benchmark Run performance benchmarks');\n console.log('\\n🔧 Configuration Management (NEW in v2.6.0):');\n console.log(' config wizard Run interactive setup wizard');\n console.log(' config set <key> <value> Set configuration value');\n console.log(' config get <key> Get configuration value');\n console.log(' config list [--show-secrets] List all configurations');\n console.log(' config delete <key> Delete configuration value');\n console.log(' config reset --force Reset to defaults');\n console.log('\\n🌐 MCP Server Management (NEW in v2.6.0):');\n console.log(' mcp start [--port <port>] Start MCP server');\n console.log(' mcp stop Stop MCP server');\n console.log(' mcp restart Restart MCP server');\n console.log(' mcp status [--detailed] Get server status');\n console.log(' mcp list [--server <name>] List MCP tools');\n console.log(' mcp logs [--lines <n>] [-f] View server logs');\n console.log('\\n🚀 Agent Booster - Ultra-Fast Code Editing (NEW in v2.6.0):');\n console.log(' booster edit <file> \"<instr>\" Edit file (352x faster, $0)');\n console.log(' booster batch <pattern> \"<i>\" Batch edit files');\n console.log(' booster parse-markdown <file> Parse markdown edits');\n console.log(' booster benchmark [options] Run performance tests');\n console.log(' booster help Show Agent Booster help');\n console.log('\\n🤖 Internal Agent Management:');\n console.log(' spawn <type> [--name <name>] Create internal agent');\n console.log(' list [--verbose] List active internal agents');\n console.log(' terminate <id> Stop specific agent');\n console.log(' hierarchy <create|show> Manage agent hierarchies');\n console.log(' network <topology|metrics> Agent network operations');\n console.log(' ecosystem <status|optimize> Ecosystem management');\n console.log(' provision <count> Auto-provision agents');\n console.log();\n console.log('Execution Options (for run command):');\n console.log(' --provider <provider> Provider: anthropic, openrouter, onnx, gemini');\n console.log(' --model <model> Specific model to use');\n console.log(' --temperature <temp> Temperature (0.0-1.0)');\n console.log(' --max-tokens <tokens> Maximum tokens');\n console.log(' --format <format> Output format: text, json, markdown');\n console.log(' --stream Enable streaming');\n console.log(' --verbose Verbose output');\n console.log();\n console.log('Model Optimization Options (NEW in v2.6.0):');\n console.log(' --optimize Auto-select optimal model (85-98% savings)');\n console.log(' --priority <priority> Priority: quality, cost, speed, privacy, balanced');\n console.log(' --max-cost <dollars> Maximum cost per task in dollars');\n console.log();\n console.log('Advanced Execution Options (NEW in v2.6.0):');\n console.log(' --retry Auto-retry on transient errors');\n console.log(' --agents-dir <path> Custom agents directory');\n console.log(' --timeout <ms> Execution timeout in milliseconds');\n console.log(' --anthropic-key <key> Override Anthropic API key');\n console.log(' --openrouter-key <key> Override OpenRouter API key');\n console.log(' --gemini-key <key> Override Gemini API key');\n console.log();\n console.log('Memory Options (NEW - for run command):');\n console.log(' --enable-memory Enable ReasoningBank learning');\n console.log(' ⚠️ REQUIRES .env with API keys');\n console.log(' Run: claude-flow init --env');\n console.log(' --memory-db <path> Memory database path [default: .swarm/memory.db]');\n console.log(' --memory-k <n> Top-k memories to retrieve [default: 3]');\n console.log(' --memory-domain <domain> Domain filter for memories');\n console.log(' --no-memory-learning Disable post-task learning');\n console.log(' --memory-min-confidence <n> Min confidence threshold [default: 0.5]');\n console.log(' --memory-task-id <id> Custom task ID for tracking');\n console.log();\n console.log('Examples:');\n console.log('\\n # Execute with agentic-flow (multi-provider)');\n console.log(' claude-flow agent run coder \"Build REST API with authentication\"');\n console.log(' claude-flow agent run researcher \"Research React 19 features\" --provider openrouter');\n console.log(' claude-flow agent run security-auditor \"Audit code\" --provider onnx');\n console.log(' claude-flow agent agents # List all available agents');\n console.log('\\n # Model optimization (85-98% cost savings)');\n console.log(' claude-flow agent run coder \"Build API\" --optimize');\n console.log(' claude-flow agent run coder \"Fix bug\" --optimize --priority cost');\n console.log(' claude-flow agent run coder \"Critical fix\" --optimize --priority quality --max-cost 0.50');\n console.log('\\n # Execute with ReasoningBank memory (learns from experience)');\n console.log(' claude-flow agent run coder \"Build API\" --enable-memory');\n console.log(' claude-flow agent run coder \"Add auth\" --enable-memory --memory-domain api');\n console.log(' claude-flow agent run coder \"Fix bug\" --enable-memory --memory-k 5');\n console.log('\\n # Memory management');\n console.log(' claude-flow agent memory init');\n console.log(' claude-flow agent memory status');\n console.log(' claude-flow agent memory list --domain api --limit 10');\n console.log(' claude-flow agent memory consolidate');\n console.log(' claude-flow agent memory demo # See 70% → 88% success improvement');\n console.log('\\n # Configuration management');\n console.log(' claude-flow agent config wizard # Interactive setup');\n console.log(' claude-flow agent config set ANTHROPIC_API_KEY sk-ant-xxx');\n console.log(' claude-flow agent config list --show-secrets');\n console.log(' claude-flow agent config get DEFAULT_MODEL');\n console.log('\\n # MCP server management');\n console.log(' claude-flow agent mcp start --daemon');\n console.log(' claude-flow agent mcp status --detailed');\n console.log(' claude-flow agent mcp list --server agent-booster');\n console.log(' claude-flow agent mcp logs --follow');\n console.log('\\n # Internal agent management');\n console.log(' claude-flow agent spawn researcher --name \"DataBot\"');\n console.log(' claude-flow agent list --verbose');\n console.log(' claude-flow agent hierarchy create enterprise');\n}\n"],"names":["printSuccess","printError","printWarning","onAgentSpawn","exec","promisify","execAsync","agentCommand","subArgs","flags","agentCmd","help","h","showAgentHelp","executeAgentTask","spawnAgent","listAgents","listAgenticFlowAgents","createAgent","getAgentInfo","checkAgentConflicts","memoryCommand","configAgenticFlow","mcpAgenticFlow","manageHierarchy","manageNetwork","manageEcosystem","provisionAgent","terminateAgent","agentBoosterCommand","agentType","task","console","log","enableMemory","memory","checkEnvConfig","showEnvSetupInstructions","envCheck","process","cwd","exists","exit","hasApiKeys","keys","anthropic","openrouter","gemini","provider","cmd","buildAgenticFlowCommand","stdout","stderr","timeout","maxBuffer","verbose","warn","error","message","agent","parts","push","replace","model","temperature","maxTokens","format","stream","memoryDb","memoryDatabase","memoryK","memoryDomain","memoryLearning","memoryMinConfidence","memoryTaskId","optimize","priority","maxCost","retry","agentsDir","anthropicKey","openrouterKey","geminiKey","join","name","description","category","prompt","tools","agentName","includes","memoryCmd","initializeMemory","getMemoryStatus","consolidateMemory","listMemories","runMemoryDemo","runMemoryTest","runMemoryBenchmark","showMemoryHelp","dbPath","db","database","domain","limit","configCmd","agenticConfigSet","agenticConfigGet","agenticConfigList","agenticConfigDelete","agenticConfigReset","undefined","agenticConfigWizard","showAgenticConfigHelp","key","value","showSecrets","force","mcpCmd","agenticMcpStart","agenticMcpStop","agenticMcpStatus","agenticMcpList","agenticMcpLogs","agenticMcpRestart","showAgenticMcpHelp","port","host","daemon","background","detailed","server","lines","follow","f","quiet","Promise","resolve","setTimeout","getFlag","Date","now","agentId","id","type","status","activeTasks","lastActivity","capabilities","getAgentCapabilities","createdAt","promises","fs","path","mkdir","recursive","agentFile","writeFile","JSON","stringify","perfFile","perfData","parse","readFile","totalAgents","activeAgents","e","startTime","totalTasks","successfulTasks","failedTasks","neuralEvents","researcher","coder","tester","analyst","coordinator","general","agents","agentFiles","readdir","file","endsWith","content","length","forEach","statusEmoji","toLocaleString","hierarchyCmd","hierarchyType","networkCmd","ecosystemCmd","provision","count","parseInt","isNaN","i","showAgentInfo","args","flagName","index","indexOf"],"mappings":"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GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG;IACXD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG;IACXD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG;IACXD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG;IACXD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG;IACXD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;AACd"}
@@ -0,0 +1,180 @@
1
+ import { printSuccess, printError, printWarning } from '../utils.js';
2
+ import { existsSync } from 'fs';
3
+ import { promises as fs } from 'fs';
4
+ import path from 'path';
5
+ export async function generateEnvTemplate(workingDir = process.cwd(), force = false) {
6
+ const envPath = path.join(workingDir, '.env');
7
+ if (existsSync(envPath) && !force) {
8
+ printWarning('⚠️ .env file already exists');
9
+ console.log('Use --force to overwrite existing .env file');
10
+ return {
11
+ exists: true,
12
+ created: false
13
+ };
14
+ }
15
+ const template = `# Agentic Flow Configuration
16
+ # Generated by claude-flow init --env
17
+ # Created: ${new Date().toISOString()}
18
+
19
+ # ============================================
20
+ # REQUIRED FOR REASONINGBANK MEMORY
21
+ # ============================================
22
+ # Without these, ReasoningBank will fall back to heuristic mode (regex matching)
23
+ # For actual learning and memory consolidation, you MUST provide API keys
24
+
25
+ # Anthropic API key for Claude models (sk-ant-...)
26
+ # Get your key: https://console.anthropic.com/settings/keys
27
+ ANTHROPIC_API_KEY=
28
+
29
+ # OpenRouter API key for alternative models (sk-or-v1-...)
30
+ # Get your key: https://openrouter.ai/keys
31
+ # Enables 99% cost savings with DeepSeek R1 for judge/distill
32
+ OPENROUTER_API_KEY=
33
+
34
+ # Google Gemini API key (optional, for free tier)
35
+ # Get your key: https://aistudio.google.com/app/apikey
36
+ GOOGLE_GEMINI_API_KEY=
37
+
38
+ # ============================================
39
+ # MODEL CONFIGURATION
40
+ # ============================================
41
+ # Default model for completions (Claude 3.5 Sonnet v2 - latest)
42
+ COMPLETION_MODEL=claude-3-5-sonnet-20241022
43
+
44
+ # Default provider (anthropic, openrouter, onnx, gemini)
45
+ PROVIDER=anthropic
46
+
47
+ # ============================================
48
+ # ADVANCED: REASONINGBANK COST OPTIMIZATION
49
+ # ============================================
50
+ # To use cheap models for memory operations (46% savings):
51
+ # 1. Set OPENROUTER_API_KEY above
52
+ # 2. Create .swarm/reasoningbank.yaml with:
53
+ #
54
+ # reasoningbank:
55
+ # judge:
56
+ # model: "deepseek/deepseek-r1"
57
+ # max_tokens: 512
58
+ # temperature: 0
59
+ # distill:
60
+ # model: "deepseek/deepseek-r1"
61
+ # max_tokens: 2048
62
+ # temperature: 0.3
63
+ # embeddings:
64
+ # provider: "openrouter"
65
+ # model: "deepseek/deepseek-r1"
66
+ # dimensions: 1024
67
+ #
68
+ # This keeps Claude for main work but uses DeepSeek for memory (99% cheaper)
69
+ # Result: $0.37 → $0.20 per task with memory (46% savings!)
70
+
71
+ # ============================================
72
+ # OPTIONAL API KEYS
73
+ # ============================================
74
+ # Perplexity API key (for GOAP search integration)
75
+ PERPLEXITY_API_KEY=
76
+
77
+ # Hugging Face API key (for ONNX models)
78
+ HUGGINGFACE_API_KEY=
79
+
80
+ # E2B API keys (for Flow Nexus sandbox deployment)
81
+ E2B_API_KEY=
82
+ E2B_ACCESS_TOKEN=
83
+
84
+ # Supabase configuration (for Flow Nexus cloud features)
85
+ SUPABASE_URL=
86
+ SUPABASE_ANON_KEY=
87
+ SUPABASE_ACCESS_TOKEN=
88
+ SUPABASE_PROJECT_ID=
89
+
90
+ # ============================================
91
+ # WHAT HAPPENS WITHOUT .env?
92
+ # ============================================
93
+ # Without this file:
94
+ # 1. No automatic environment variable loading
95
+ # 2. ReasoningBank falls back to heuristic judgment (regex-based)
96
+ # 3. No actual learning or memory consolidation
97
+ # 4. Demo will appear to work but uses pattern matching only
98
+ #
99
+ # You can still work without .env by:
100
+ # - Manually exporting environment variables
101
+ # - Or passing inline with commands
102
+ #
103
+ # But using .env is recommended for convenience and security.
104
+
105
+ # ============================================
106
+ # SECURITY NOTES
107
+ # ============================================
108
+ # 1. NEVER commit this file to git (it's in .gitignore)
109
+ # 2. Use different keys for dev/staging/production
110
+ # 3. Rotate keys regularly
111
+ # 4. Use key-specific permissions when possible
112
+ `;
113
+ try {
114
+ await fs.writeFile(envPath, template, 'utf8');
115
+ printSuccess('✅ Created .env template file');
116
+ return {
117
+ exists: false,
118
+ created: true,
119
+ path: envPath
120
+ };
121
+ } catch (error) {
122
+ printError(`❌ Failed to create .env template: ${error.message}`);
123
+ return {
124
+ exists: false,
125
+ created: false,
126
+ error: error.message
127
+ };
128
+ }
129
+ }
130
+ export async function checkEnvConfig(workingDir = process.cwd()) {
131
+ const envPath = path.join(workingDir, '.env');
132
+ if (!existsSync(envPath)) {
133
+ return {
134
+ exists: false,
135
+ hasApiKeys: false,
136
+ message: '.env file not found'
137
+ };
138
+ }
139
+ try {
140
+ const envContent = await fs.readFile(envPath, 'utf8');
141
+ const hasAnthropicKey = /^ANTHROPIC_API_KEY=[^\s]+$/m.test(envContent);
142
+ const hasOpenRouterKey = /^OPENROUTER_API_KEY=[^\s]+$/m.test(envContent);
143
+ const hasGeminiKey = /^GOOGLE_GEMINI_API_KEY=[^\s]+$/m.test(envContent);
144
+ return {
145
+ exists: true,
146
+ hasApiKeys: hasAnthropicKey || hasOpenRouterKey || hasGeminiKey,
147
+ keys: {
148
+ anthropic: hasAnthropicKey,
149
+ openrouter: hasOpenRouterKey,
150
+ gemini: hasGeminiKey
151
+ },
152
+ message: 'Configuration found'
153
+ };
154
+ } catch (error) {
155
+ return {
156
+ exists: true,
157
+ hasApiKeys: false,
158
+ message: `Error reading .env: ${error.message}`
159
+ };
160
+ }
161
+ }
162
+ export function showEnvSetupInstructions() {
163
+ console.log('\n📋 Setting up .env for ReasoningBank capabilities:\n');
164
+ console.log('1. Create .env file:');
165
+ console.log(' claude-flow init --env\n');
166
+ console.log('2. Add your API keys to .env:');
167
+ console.log(' ANTHROPIC_API_KEY=sk-ant-...');
168
+ console.log(' OPENROUTER_API_KEY=sk-or-v1-... # Optional: 99% cost savings\n');
169
+ console.log('3. Get API keys:');
170
+ console.log(' • Anthropic: https://console.anthropic.com/settings/keys');
171
+ console.log(' • OpenRouter: https://openrouter.ai/keys (for cost optimization)\n');
172
+ console.log('💡 Without API keys:');
173
+ console.log(' • ReasoningBank falls back to regex pattern matching (no learning)');
174
+ console.log(' • Memory operations will appear to work but won\'t actually learn\n');
175
+ console.log('💰 Cost optimization:');
176
+ console.log(' • Use OpenRouter + DeepSeek R1 for judge/distill (99% cheaper)');
177
+ console.log(' • See: docs/REASONINGBANK-COST-OPTIMIZATION.md\n');
178
+ }
179
+
180
+ //# sourceMappingURL=env-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cli/simple-commands/env-template.js"],"sourcesContent":["// env-template.js - Environment template generator\nimport { printSuccess, printError, printWarning } from '../utils.js';\nimport { existsSync } from 'fs';\nimport { promises as fs } from 'fs';\nimport path from 'path';\n\n/**\n * Generate .env template with configuration instructions\n */\nexport async function generateEnvTemplate(workingDir = process.cwd(), force = false) {\n const envPath = path.join(workingDir, '.env');\n\n // Check if .env already exists\n if (existsSync(envPath) && !force) {\n printWarning('⚠️ .env file already exists');\n console.log('Use --force to overwrite existing .env file');\n return { exists: true, created: false };\n }\n\n const template = `# Agentic Flow Configuration\n# Generated by claude-flow init --env\n# Created: ${new Date().toISOString()}\n\n# ============================================\n# REQUIRED FOR REASONINGBANK MEMORY\n# ============================================\n# Without these, ReasoningBank will fall back to heuristic mode (regex matching)\n# For actual learning and memory consolidation, you MUST provide API keys\n\n# Anthropic API key for Claude models (sk-ant-...)\n# Get your key: https://console.anthropic.com/settings/keys\nANTHROPIC_API_KEY=\n\n# OpenRouter API key for alternative models (sk-or-v1-...)\n# Get your key: https://openrouter.ai/keys\n# Enables 99% cost savings with DeepSeek R1 for judge/distill\nOPENROUTER_API_KEY=\n\n# Google Gemini API key (optional, for free tier)\n# Get your key: https://aistudio.google.com/app/apikey\nGOOGLE_GEMINI_API_KEY=\n\n# ============================================\n# MODEL CONFIGURATION\n# ============================================\n# Default model for completions (Claude 3.5 Sonnet v2 - latest)\nCOMPLETION_MODEL=claude-3-5-sonnet-20241022\n\n# Default provider (anthropic, openrouter, onnx, gemini)\nPROVIDER=anthropic\n\n# ============================================\n# ADVANCED: REASONINGBANK COST OPTIMIZATION\n# ============================================\n# To use cheap models for memory operations (46% savings):\n# 1. Set OPENROUTER_API_KEY above\n# 2. Create .swarm/reasoningbank.yaml with:\n#\n# reasoningbank:\n# judge:\n# model: \"deepseek/deepseek-r1\"\n# max_tokens: 512\n# temperature: 0\n# distill:\n# model: \"deepseek/deepseek-r1\"\n# max_tokens: 2048\n# temperature: 0.3\n# embeddings:\n# provider: \"openrouter\"\n# model: \"deepseek/deepseek-r1\"\n# dimensions: 1024\n#\n# This keeps Claude for main work but uses DeepSeek for memory (99% cheaper)\n# Result: $0.37 → $0.20 per task with memory (46% savings!)\n\n# ============================================\n# OPTIONAL API KEYS\n# ============================================\n# Perplexity API key (for GOAP search integration)\nPERPLEXITY_API_KEY=\n\n# Hugging Face API key (for ONNX models)\nHUGGINGFACE_API_KEY=\n\n# E2B API keys (for Flow Nexus sandbox deployment)\nE2B_API_KEY=\nE2B_ACCESS_TOKEN=\n\n# Supabase configuration (for Flow Nexus cloud features)\nSUPABASE_URL=\nSUPABASE_ANON_KEY=\nSUPABASE_ACCESS_TOKEN=\nSUPABASE_PROJECT_ID=\n\n# ============================================\n# WHAT HAPPENS WITHOUT .env?\n# ============================================\n# Without this file:\n# 1. No automatic environment variable loading\n# 2. ReasoningBank falls back to heuristic judgment (regex-based)\n# 3. No actual learning or memory consolidation\n# 4. Demo will appear to work but uses pattern matching only\n#\n# You can still work without .env by:\n# - Manually exporting environment variables\n# - Or passing inline with commands\n#\n# But using .env is recommended for convenience and security.\n\n# ============================================\n# SECURITY NOTES\n# ============================================\n# 1. NEVER commit this file to git (it's in .gitignore)\n# 2. Use different keys for dev/staging/production\n# 3. Rotate keys regularly\n# 4. Use key-specific permissions when possible\n`;\n\n // Write template\n try {\n await fs.writeFile(envPath, template, 'utf8');\n printSuccess('✅ Created .env template file');\n return { exists: false, created: true, path: envPath };\n } catch (error) {\n printError(`❌ Failed to create .env template: ${error.message}`);\n return { exists: false, created: false, error: error.message };\n }\n}\n\n/**\n * Check if .env exists and has required keys\n */\nexport async function checkEnvConfig(workingDir = process.cwd()) {\n const envPath = path.join(workingDir, '.env');\n\n if (!existsSync(envPath)) {\n return {\n exists: false,\n hasApiKeys: false,\n message: '.env file not found'\n };\n }\n\n try {\n const envContent = await fs.readFile(envPath, 'utf8');\n\n // Check for API keys (not commented out and not empty)\n const hasAnthropicKey = /^ANTHROPIC_API_KEY=[^\\s]+$/m.test(envContent);\n const hasOpenRouterKey = /^OPENROUTER_API_KEY=[^\\s]+$/m.test(envContent);\n const hasGeminiKey = /^GOOGLE_GEMINI_API_KEY=[^\\s]+$/m.test(envContent);\n\n return {\n exists: true,\n hasApiKeys: hasAnthropicKey || hasOpenRouterKey || hasGeminiKey,\n keys: {\n anthropic: hasAnthropicKey,\n openrouter: hasOpenRouterKey,\n gemini: hasGeminiKey\n },\n message: 'Configuration found'\n };\n } catch (error) {\n return {\n exists: true,\n hasApiKeys: false,\n message: `Error reading .env: ${error.message}`\n };\n }\n}\n\n/**\n * Show .env setup instructions\n */\nexport function showEnvSetupInstructions() {\n console.log('\\n📋 Setting up .env for ReasoningBank capabilities:\\n');\n console.log('1. Create .env file:');\n console.log(' claude-flow init --env\\n');\n console.log('2. Add your API keys to .env:');\n console.log(' ANTHROPIC_API_KEY=sk-ant-...');\n console.log(' OPENROUTER_API_KEY=sk-or-v1-... # Optional: 99% cost savings\\n');\n console.log('3. Get API keys:');\n console.log(' • Anthropic: https://console.anthropic.com/settings/keys');\n console.log(' • OpenRouter: https://openrouter.ai/keys (for cost optimization)\\n');\n console.log('💡 Without API keys:');\n console.log(' • ReasoningBank falls back to regex pattern matching (no learning)');\n console.log(' • Memory operations will appear to work but won\\'t actually learn\\n');\n console.log('💰 Cost optimization:');\n console.log(' • Use OpenRouter + DeepSeek R1 for judge/distill (99% cheaper)');\n console.log(' • See: docs/REASONINGBANK-COST-OPTIMIZATION.md\\n');\n}\n"],"names":["printSuccess","printError","printWarning","existsSync","promises","fs","path","generateEnvTemplate","workingDir","process","cwd","force","envPath","join","console","log","exists","created","template","Date","toISOString","writeFile","error","message","checkEnvConfig","hasApiKeys","envContent","readFile","hasAnthropicKey","test","hasOpenRouterKey","hasGeminiKey","keys","anthropic","openrouter","gemini","showEnvSetupInstructions"],"mappings":"AACA,SAASA,YAAY,EAAEC,UAAU,EAAEC,YAAY,QAAQ,cAAc;AACrE,SAASC,UAAU,QAAQ,KAAK;AAChC,SAASC,YAAYC,EAAE,QAAQ,KAAK;AACpC,OAAOC,UAAU,OAAO;AAKxB,OAAO,eAAeC,oBAAoBC,aAAaC,QAAQC,GAAG,EAAE,EAAEC,QAAQ,KAAK;IACjF,MAAMC,UAAUN,KAAKO,IAAI,CAACL,YAAY;IAGtC,IAAIL,WAAWS,YAAY,CAACD,OAAO;QACjCT,aAAa;QACbY,QAAQC,GAAG,CAAC;QACZ,OAAO;YAAEC,QAAQ;YAAMC,SAAS;QAAM;IACxC;IAEA,MAAMC,WAAW,CAAC;;WAET,EAAE,IAAIC,OAAOC,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+FtC,CAAC;IAGC,IAAI;QACF,MAAMf,GAAGgB,SAAS,CAACT,SAASM,UAAU;QACtClB,aAAa;QACb,OAAO;YAAEgB,QAAQ;YAAOC,SAAS;YAAMX,MAAMM;QAAQ;IACvD,EAAE,OAAOU,OAAO;QACdrB,WAAW,CAAC,kCAAkC,EAAEqB,MAAMC,OAAO,EAAE;QAC/D,OAAO;YAAEP,QAAQ;YAAOC,SAAS;YAAOK,OAAOA,MAAMC,OAAO;QAAC;IAC/D;AACF;AAKA,OAAO,eAAeC,eAAehB,aAAaC,QAAQC,GAAG,EAAE;IAC7D,MAAME,UAAUN,KAAKO,IAAI,CAACL,YAAY;IAEtC,IAAI,CAACL,WAAWS,UAAU;QACxB,OAAO;YACLI,QAAQ;YACRS,YAAY;YACZF,SAAS;QACX;IACF;IAEA,IAAI;QACF,MAAMG,aAAa,MAAMrB,GAAGsB,QAAQ,CAACf,SAAS;QAG9C,MAAMgB,kBAAkB,8BAA8BC,IAAI,CAACH;QAC3D,MAAMI,mBAAmB,+BAA+BD,IAAI,CAACH;QAC7D,MAAMK,eAAe,kCAAkCF,IAAI,CAACH;QAE5D,OAAO;YACLV,QAAQ;YACRS,YAAYG,mBAAmBE,oBAAoBC;YACnDC,MAAM;gBACJC,WAAWL;gBACXM,YAAYJ;gBACZK,QAAQJ;YACV;YACAR,SAAS;QACX;IACF,EAAE,OAAOD,OAAO;QACd,OAAO;YACLN,QAAQ;YACRS,YAAY;YACZF,SAAS,CAAC,oBAAoB,EAAED,MAAMC,OAAO,EAAE;QACjD;IACF;AACF;AAKA,OAAO,SAASa;IACdtB,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC;AACd"}