@aigentic/claude-flow 3.7.0-alpha.69

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 (807) hide show
  1. package/.claude/agents/MIGRATION_SUMMARY.md +222 -0
  2. package/.claude/agents/analysis/analyze-code-quality.md +58 -0
  3. package/.claude/agents/analysis/code-analyzer.md +189 -0
  4. package/.claude/agents/analysis/code-review/analyze-code-quality.md +58 -0
  5. package/.claude/agents/architecture/arch-system-design.md +157 -0
  6. package/.claude/agents/architecture/system-design/arch-system-design.md +36 -0
  7. package/.claude/agents/base-template-generator.md +41 -0
  8. package/.claude/agents/browser/browser-agent.yaml +182 -0
  9. package/.claude/agents/consensus/byzantine-coordinator.md +43 -0
  10. package/.claude/agents/consensus/crdt-synchronizer.md +977 -0
  11. package/.claude/agents/consensus/gossip-coordinator.md +43 -0
  12. package/.claude/agents/consensus/performance-benchmarker.md +831 -0
  13. package/.claude/agents/consensus/quorum-manager.md +803 -0
  14. package/.claude/agents/consensus/raft-manager.md +43 -0
  15. package/.claude/agents/consensus/security-manager.md +602 -0
  16. package/.claude/agents/core/coder.md +255 -0
  17. package/.claude/agents/core/planner.md +152 -0
  18. package/.claude/agents/core/researcher.md +174 -0
  19. package/.claude/agents/core/reviewer.md +309 -0
  20. package/.claude/agents/core/tester.md +300 -0
  21. package/.claude/agents/custom/test-long-runner.md +43 -0
  22. package/.claude/agents/data/data-ml-model.md +445 -0
  23. package/.claude/agents/data/ml/data-ml-model.md +76 -0
  24. package/.claude/agents/database-specialist.md +9 -0
  25. package/.claude/agents/development/backend/dev-backend-api.md +29 -0
  26. package/.claude/agents/development/dev-backend-api.md +178 -0
  27. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +52 -0
  28. package/.claude/agents/devops/ops-cicd-github.md +165 -0
  29. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +63 -0
  30. package/.claude/agents/documentation/docs-api-openapi.md +355 -0
  31. package/.claude/agents/dual-mode/codex-coordinator.md +206 -0
  32. package/.claude/agents/dual-mode/codex-worker.md +190 -0
  33. package/.claude/agents/dual-mode/dual-orchestrator.md +253 -0
  34. package/.claude/agents/flow-nexus/app-store.md +88 -0
  35. package/.claude/agents/flow-nexus/authentication.md +69 -0
  36. package/.claude/agents/flow-nexus/challenges.md +81 -0
  37. package/.claude/agents/flow-nexus/neural-network.md +88 -0
  38. package/.claude/agents/flow-nexus/payments.md +83 -0
  39. package/.claude/agents/flow-nexus/sandbox.md +76 -0
  40. package/.claude/agents/flow-nexus/swarm.md +76 -0
  41. package/.claude/agents/flow-nexus/user-tools.md +96 -0
  42. package/.claude/agents/flow-nexus/workflow.md +84 -0
  43. package/.claude/agents/github/code-review-swarm.md +521 -0
  44. package/.claude/agents/github/github-modes.md +154 -0
  45. package/.claude/agents/github/issue-tracker.md +299 -0
  46. package/.claude/agents/github/multi-repo-swarm.md +525 -0
  47. package/.claude/agents/github/pr-manager.md +163 -0
  48. package/.claude/agents/github/project-board-sync.md +478 -0
  49. package/.claude/agents/github/release-manager.md +336 -0
  50. package/.claude/agents/github/release-swarm.md +551 -0
  51. package/.claude/agents/github/repo-architect.md +365 -0
  52. package/.claude/agents/github/swarm-issue.md +548 -0
  53. package/.claude/agents/github/swarm-pr.md +399 -0
  54. package/.claude/agents/github/sync-coordinator.md +423 -0
  55. package/.claude/agents/github/workflow-automation.md +605 -0
  56. package/.claude/agents/goal/agent.md +817 -0
  57. package/.claude/agents/goal/code-goal-planner.md +445 -0
  58. package/.claude/agents/goal/goal-planner.md +168 -0
  59. package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +129 -0
  60. package/.claude/agents/hive-mind/queen-coordinator.md +202 -0
  61. package/.claude/agents/hive-mind/scout-explorer.md +241 -0
  62. package/.claude/agents/hive-mind/swarm-memory-manager.md +192 -0
  63. package/.claude/agents/hive-mind/worker-specialist.md +216 -0
  64. package/.claude/agents/neural/safla-neural.md +74 -0
  65. package/.claude/agents/optimization/benchmark-suite.md +663 -0
  66. package/.claude/agents/optimization/load-balancer.md +429 -0
  67. package/.claude/agents/optimization/performance-monitor.md +670 -0
  68. package/.claude/agents/optimization/resource-allocator.md +672 -0
  69. package/.claude/agents/optimization/topology-optimizer.md +806 -0
  70. package/.claude/agents/payments/agentic-payments.md +126 -0
  71. package/.claude/agents/project-coordinator.md +8 -0
  72. package/.claude/agents/python-specialist.md +9 -0
  73. package/.claude/agents/reasoning/agent.md +817 -0
  74. package/.claude/agents/reasoning/goal-planner.md +73 -0
  75. package/.claude/agents/security-auditor.md +9 -0
  76. package/.claude/agents/sona/sona-learning-optimizer.md +65 -0
  77. package/.claude/agents/sparc/architecture.md +453 -0
  78. package/.claude/agents/sparc/pseudocode.md +299 -0
  79. package/.claude/agents/sparc/refinement.md +504 -0
  80. package/.claude/agents/sparc/specification.md +258 -0
  81. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +88 -0
  82. package/.claude/agents/specialized/spec-mobile-react-native.md +227 -0
  83. package/.claude/agents/sublinear/consensus-coordinator.md +338 -0
  84. package/.claude/agents/sublinear/matrix-optimizer.md +185 -0
  85. package/.claude/agents/sublinear/pagerank-analyzer.md +299 -0
  86. package/.claude/agents/sublinear/performance-optimizer.md +368 -0
  87. package/.claude/agents/sublinear/trading-predictor.md +246 -0
  88. package/.claude/agents/swarm/adaptive-coordinator.md +364 -0
  89. package/.claude/agents/swarm/hierarchical-coordinator.md +300 -0
  90. package/.claude/agents/swarm/mesh-coordinator.md +363 -0
  91. package/.claude/agents/templates/automation-smart-agent.md +185 -0
  92. package/.claude/agents/templates/base-template-generator.md +289 -0
  93. package/.claude/agents/templates/coordinator-swarm-init.md +83 -0
  94. package/.claude/agents/templates/github-pr-manager.md +155 -0
  95. package/.claude/agents/templates/implementer-sparc-coder.md +243 -0
  96. package/.claude/agents/templates/memory-coordinator.md +163 -0
  97. package/.claude/agents/templates/migration-plan.md +724 -0
  98. package/.claude/agents/templates/orchestrator-task.md +120 -0
  99. package/.claude/agents/templates/performance-analyzer.md +179 -0
  100. package/.claude/agents/templates/sparc-coordinator.md +163 -0
  101. package/.claude/agents/testing/production-validator.md +373 -0
  102. package/.claude/agents/testing/tdd-london-swarm.md +222 -0
  103. package/.claude/agents/testing/unit/tdd-london-swarm.md +222 -0
  104. package/.claude/agents/testing/validation/production-validator.md +373 -0
  105. package/.claude/agents/typescript-specialist.md +9 -0
  106. package/.claude/agents/v3/adr-architect.md +184 -0
  107. package/.claude/agents/v3/aidefence-guardian.md +282 -0
  108. package/.claude/agents/v3/claims-authorizer.md +208 -0
  109. package/.claude/agents/v3/collective-intelligence-coordinator.md +993 -0
  110. package/.claude/agents/v3/database-specialist.md +9 -0
  111. package/.claude/agents/v3/ddd-domain-expert.md +220 -0
  112. package/.claude/agents/v3/injection-analyst.md +236 -0
  113. package/.claude/agents/v3/memory-specialist.md +995 -0
  114. package/.claude/agents/v3/performance-engineer.md +1233 -0
  115. package/.claude/agents/v3/pii-detector.md +151 -0
  116. package/.claude/agents/v3/project-coordinator.md +8 -0
  117. package/.claude/agents/v3/python-specialist.md +9 -0
  118. package/.claude/agents/v3/reasoningbank-learner.md +213 -0
  119. package/.claude/agents/v3/security-architect-aidefence.md +410 -0
  120. package/.claude/agents/v3/security-architect.md +867 -0
  121. package/.claude/agents/v3/security-auditor.md +771 -0
  122. package/.claude/agents/v3/sparc-orchestrator.md +182 -0
  123. package/.claude/agents/v3/swarm-memory-manager.md +157 -0
  124. package/.claude/agents/v3/test-architect.md +9 -0
  125. package/.claude/agents/v3/typescript-specialist.md +9 -0
  126. package/.claude/agents/v3/v3-integration-architect.md +312 -0
  127. package/.claude/agents/v3/v3-memory-specialist.md +281 -0
  128. package/.claude/agents/v3/v3-performance-engineer.md +363 -0
  129. package/.claude/agents/v3/v3-queen-coordinator.md +63 -0
  130. package/.claude/agents/v3/v3-security-architect.md +140 -0
  131. package/.claude/checkpoints/1767754460.json +8 -0
  132. package/.claude/commands/agents/README.md +10 -0
  133. package/.claude/commands/agents/agent-capabilities.md +21 -0
  134. package/.claude/commands/agents/agent-coordination.md +28 -0
  135. package/.claude/commands/agents/agent-spawning.md +28 -0
  136. package/.claude/commands/agents/agent-types.md +26 -0
  137. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
  138. package/.claude/commands/analysis/README.md +9 -0
  139. package/.claude/commands/analysis/bottleneck-detect.md +162 -0
  140. package/.claude/commands/analysis/performance-bottlenecks.md +59 -0
  141. package/.claude/commands/analysis/performance-report.md +25 -0
  142. package/.claude/commands/analysis/token-efficiency.md +45 -0
  143. package/.claude/commands/analysis/token-usage.md +25 -0
  144. package/.claude/commands/automation/README.md +9 -0
  145. package/.claude/commands/automation/auto-agent.md +122 -0
  146. package/.claude/commands/automation/self-healing.md +106 -0
  147. package/.claude/commands/automation/session-memory.md +90 -0
  148. package/.claude/commands/automation/smart-agents.md +73 -0
  149. package/.claude/commands/automation/smart-spawn.md +25 -0
  150. package/.claude/commands/automation/workflow-select.md +25 -0
  151. package/.claude/commands/claude-flow-help.md +103 -0
  152. package/.claude/commands/claude-flow-memory.md +107 -0
  153. package/.claude/commands/claude-flow-swarm.md +205 -0
  154. package/.claude/commands/coordination/README.md +9 -0
  155. package/.claude/commands/coordination/agent-spawn.md +25 -0
  156. package/.claude/commands/coordination/init.md +44 -0
  157. package/.claude/commands/coordination/orchestrate.md +43 -0
  158. package/.claude/commands/coordination/spawn.md +45 -0
  159. package/.claude/commands/coordination/swarm-init.md +85 -0
  160. package/.claude/commands/coordination/task-orchestrate.md +25 -0
  161. package/.claude/commands/flow-nexus/app-store.md +124 -0
  162. package/.claude/commands/flow-nexus/challenges.md +120 -0
  163. package/.claude/commands/flow-nexus/login-registration.md +65 -0
  164. package/.claude/commands/flow-nexus/neural-network.md +134 -0
  165. package/.claude/commands/flow-nexus/payments.md +116 -0
  166. package/.claude/commands/flow-nexus/sandbox.md +83 -0
  167. package/.claude/commands/flow-nexus/swarm.md +87 -0
  168. package/.claude/commands/flow-nexus/user-tools.md +152 -0
  169. package/.claude/commands/flow-nexus/workflow.md +115 -0
  170. package/.claude/commands/github/README.md +11 -0
  171. package/.claude/commands/github/code-review-swarm.md +514 -0
  172. package/.claude/commands/github/code-review.md +25 -0
  173. package/.claude/commands/github/github-modes.md +147 -0
  174. package/.claude/commands/github/github-swarm.md +121 -0
  175. package/.claude/commands/github/issue-tracker.md +292 -0
  176. package/.claude/commands/github/issue-triage.md +25 -0
  177. package/.claude/commands/github/multi-repo-swarm.md +519 -0
  178. package/.claude/commands/github/pr-enhance.md +26 -0
  179. package/.claude/commands/github/pr-manager.md +170 -0
  180. package/.claude/commands/github/project-board-sync.md +471 -0
  181. package/.claude/commands/github/release-manager.md +338 -0
  182. package/.claude/commands/github/release-swarm.md +544 -0
  183. package/.claude/commands/github/repo-analyze.md +25 -0
  184. package/.claude/commands/github/repo-architect.md +367 -0
  185. package/.claude/commands/github/swarm-issue.md +482 -0
  186. package/.claude/commands/github/swarm-pr.md +285 -0
  187. package/.claude/commands/github/sync-coordinator.md +301 -0
  188. package/.claude/commands/github/workflow-automation.md +442 -0
  189. package/.claude/commands/hive-mind/README.md +17 -0
  190. package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -0
  191. package/.claude/commands/hive-mind/hive-mind-init.md +18 -0
  192. package/.claude/commands/hive-mind/hive-mind-memory.md +8 -0
  193. package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -0
  194. package/.claude/commands/hive-mind/hive-mind-resume.md +8 -0
  195. package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -0
  196. package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -0
  197. package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
  198. package/.claude/commands/hive-mind/hive-mind-stop.md +8 -0
  199. package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -0
  200. package/.claude/commands/hive-mind/hive-mind.md +27 -0
  201. package/.claude/commands/hooks/README.md +11 -0
  202. package/.claude/commands/hooks/overview.md +58 -0
  203. package/.claude/commands/hooks/post-edit.md +117 -0
  204. package/.claude/commands/hooks/post-task.md +112 -0
  205. package/.claude/commands/hooks/pre-edit.md +113 -0
  206. package/.claude/commands/hooks/pre-task.md +111 -0
  207. package/.claude/commands/hooks/session-end.md +118 -0
  208. package/.claude/commands/hooks/setup.md +103 -0
  209. package/.claude/commands/memory/README.md +9 -0
  210. package/.claude/commands/memory/memory-persist.md +25 -0
  211. package/.claude/commands/memory/memory-search.md +25 -0
  212. package/.claude/commands/memory/memory-usage.md +25 -0
  213. package/.claude/commands/memory/neural.md +47 -0
  214. package/.claude/commands/monitoring/README.md +9 -0
  215. package/.claude/commands/monitoring/agent-metrics.md +25 -0
  216. package/.claude/commands/monitoring/agents.md +44 -0
  217. package/.claude/commands/monitoring/real-time-view.md +25 -0
  218. package/.claude/commands/monitoring/status.md +46 -0
  219. package/.claude/commands/monitoring/swarm-monitor.md +25 -0
  220. package/.claude/commands/optimization/README.md +9 -0
  221. package/.claude/commands/optimization/auto-topology.md +62 -0
  222. package/.claude/commands/optimization/cache-manage.md +25 -0
  223. package/.claude/commands/optimization/parallel-execute.md +25 -0
  224. package/.claude/commands/optimization/parallel-execution.md +50 -0
  225. package/.claude/commands/optimization/topology-optimize.md +25 -0
  226. package/.claude/commands/pair/README.md +261 -0
  227. package/.claude/commands/pair/commands.md +546 -0
  228. package/.claude/commands/pair/config.md +510 -0
  229. package/.claude/commands/pair/examples.md +512 -0
  230. package/.claude/commands/pair/modes.md +348 -0
  231. package/.claude/commands/pair/session.md +407 -0
  232. package/.claude/commands/pair/start.md +209 -0
  233. package/.claude/commands/sparc/analyzer.md +52 -0
  234. package/.claude/commands/sparc/architect.md +53 -0
  235. package/.claude/commands/sparc/ask.md +97 -0
  236. package/.claude/commands/sparc/batch-executor.md +54 -0
  237. package/.claude/commands/sparc/code.md +89 -0
  238. package/.claude/commands/sparc/coder.md +54 -0
  239. package/.claude/commands/sparc/debug.md +83 -0
  240. package/.claude/commands/sparc/debugger.md +54 -0
  241. package/.claude/commands/sparc/designer.md +53 -0
  242. package/.claude/commands/sparc/devops.md +109 -0
  243. package/.claude/commands/sparc/docs-writer.md +80 -0
  244. package/.claude/commands/sparc/documenter.md +54 -0
  245. package/.claude/commands/sparc/innovator.md +54 -0
  246. package/.claude/commands/sparc/integration.md +83 -0
  247. package/.claude/commands/sparc/mcp.md +117 -0
  248. package/.claude/commands/sparc/memory-manager.md +54 -0
  249. package/.claude/commands/sparc/optimizer.md +54 -0
  250. package/.claude/commands/sparc/orchestrator.md +132 -0
  251. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -0
  252. package/.claude/commands/sparc/refinement-optimization-mode.md +83 -0
  253. package/.claude/commands/sparc/researcher.md +54 -0
  254. package/.claude/commands/sparc/reviewer.md +54 -0
  255. package/.claude/commands/sparc/security-review.md +80 -0
  256. package/.claude/commands/sparc/sparc-modes.md +174 -0
  257. package/.claude/commands/sparc/sparc.md +111 -0
  258. package/.claude/commands/sparc/spec-pseudocode.md +80 -0
  259. package/.claude/commands/sparc/supabase-admin.md +348 -0
  260. package/.claude/commands/sparc/swarm-coordinator.md +54 -0
  261. package/.claude/commands/sparc/tdd.md +54 -0
  262. package/.claude/commands/sparc/tester.md +54 -0
  263. package/.claude/commands/sparc/tutorial.md +79 -0
  264. package/.claude/commands/sparc/workflow-manager.md +54 -0
  265. package/.claude/commands/sparc.md +166 -0
  266. package/.claude/commands/stream-chain/pipeline.md +121 -0
  267. package/.claude/commands/stream-chain/run.md +70 -0
  268. package/.claude/commands/swarm/README.md +15 -0
  269. package/.claude/commands/swarm/analysis.md +95 -0
  270. package/.claude/commands/swarm/development.md +96 -0
  271. package/.claude/commands/swarm/examples.md +168 -0
  272. package/.claude/commands/swarm/maintenance.md +102 -0
  273. package/.claude/commands/swarm/optimization.md +117 -0
  274. package/.claude/commands/swarm/research.md +136 -0
  275. package/.claude/commands/swarm/swarm-analysis.md +8 -0
  276. package/.claude/commands/swarm/swarm-background.md +8 -0
  277. package/.claude/commands/swarm/swarm-init.md +19 -0
  278. package/.claude/commands/swarm/swarm-modes.md +8 -0
  279. package/.claude/commands/swarm/swarm-monitor.md +8 -0
  280. package/.claude/commands/swarm/swarm-spawn.md +19 -0
  281. package/.claude/commands/swarm/swarm-status.md +8 -0
  282. package/.claude/commands/swarm/swarm-strategies.md +8 -0
  283. package/.claude/commands/swarm/swarm.md +27 -0
  284. package/.claude/commands/swarm/testing.md +131 -0
  285. package/.claude/commands/training/README.md +9 -0
  286. package/.claude/commands/training/model-update.md +25 -0
  287. package/.claude/commands/training/neural-patterns.md +74 -0
  288. package/.claude/commands/training/neural-train.md +25 -0
  289. package/.claude/commands/training/pattern-learn.md +25 -0
  290. package/.claude/commands/training/specialization.md +63 -0
  291. package/.claude/commands/truth/start.md +143 -0
  292. package/.claude/commands/verify/check.md +50 -0
  293. package/.claude/commands/verify/start.md +128 -0
  294. package/.claude/commands/workflows/README.md +9 -0
  295. package/.claude/commands/workflows/development.md +78 -0
  296. package/.claude/commands/workflows/research.md +63 -0
  297. package/.claude/commands/workflows/workflow-create.md +25 -0
  298. package/.claude/commands/workflows/workflow-execute.md +25 -0
  299. package/.claude/commands/workflows/workflow-export.md +25 -0
  300. package/.claude/config/v3-dependency-optimization.json +266 -0
  301. package/.claude/config/v3-performance-targets.json +251 -0
  302. package/.claude/helpers/README.md +97 -0
  303. package/.claude/helpers/adr-compliance.sh +186 -0
  304. package/.claude/helpers/aggressive-microcompact.mjs +36 -0
  305. package/.claude/helpers/auto-commit.sh +178 -0
  306. package/.claude/helpers/auto-memory-hook.mjs +564 -0
  307. package/.claude/helpers/checkpoint-manager.sh +251 -0
  308. package/.claude/helpers/context-persistence-hook.mjs +1979 -0
  309. package/.claude/helpers/daemon-manager.sh +252 -0
  310. package/.claude/helpers/ddd-tracker.sh +144 -0
  311. package/.claude/helpers/github-safe.js +106 -0
  312. package/.claude/helpers/github-setup.sh +28 -0
  313. package/.claude/helpers/guidance-hook.sh +13 -0
  314. package/.claude/helpers/guidance-hooks.sh +102 -0
  315. package/.claude/helpers/health-monitor.sh +108 -0
  316. package/.claude/helpers/hook-handler.cjs +269 -0
  317. package/.claude/helpers/intelligence.cjs +230 -0
  318. package/.claude/helpers/learning-hooks.sh +329 -0
  319. package/.claude/helpers/learning-optimizer.sh +127 -0
  320. package/.claude/helpers/learning-service.mjs +1144 -0
  321. package/.claude/helpers/memory.cjs +84 -0
  322. package/.claude/helpers/memory.js +83 -0
  323. package/.claude/helpers/metrics-db.mjs +488 -0
  324. package/.claude/helpers/patch-aggressive-prune.mjs +184 -0
  325. package/.claude/helpers/pattern-consolidator.sh +86 -0
  326. package/.claude/helpers/perf-worker.sh +160 -0
  327. package/.claude/helpers/post-commit +16 -0
  328. package/.claude/helpers/pre-commit +26 -0
  329. package/.claude/helpers/quick-start.sh +19 -0
  330. package/.claude/helpers/router.cjs +62 -0
  331. package/.claude/helpers/router.js +66 -0
  332. package/.claude/helpers/security-scanner.sh +127 -0
  333. package/.claude/helpers/session.cjs +125 -0
  334. package/.claude/helpers/session.js +135 -0
  335. package/.claude/helpers/setup-mcp.sh +18 -0
  336. package/.claude/helpers/standard-checkpoint-hooks.sh +189 -0
  337. package/.claude/helpers/statusline-hook.sh +21 -0
  338. package/.claude/helpers/statusline.cjs +878 -0
  339. package/.claude/helpers/statusline.js +352 -0
  340. package/.claude/helpers/swarm-comms.sh +353 -0
  341. package/.claude/helpers/swarm-hooks.sh +761 -0
  342. package/.claude/helpers/swarm-monitor.sh +211 -0
  343. package/.claude/helpers/sync-v3-metrics.sh +245 -0
  344. package/.claude/helpers/update-v3-progress.sh +166 -0
  345. package/.claude/helpers/v3-quick-status.sh +58 -0
  346. package/.claude/helpers/v3.sh +111 -0
  347. package/.claude/helpers/validate-v3-config.sh +216 -0
  348. package/.claude/helpers/worker-manager.sh +170 -0
  349. package/.claude/mcp.json +13 -0
  350. package/.claude/scheduled_tasks.lock +1 -0
  351. package/.claude/settings.json +285 -0
  352. package/.claude/settings.json.bak +526 -0
  353. package/.claude/skills/agentdb-advanced/SKILL.md +550 -0
  354. package/.claude/skills/agentdb-learning/SKILL.md +545 -0
  355. package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -0
  356. package/.claude/skills/agentdb-optimization/SKILL.md +509 -0
  357. package/.claude/skills/agentdb-vector-search/SKILL.md +339 -0
  358. package/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
  359. package/.claude/skills/browser/SKILL.md +204 -0
  360. package/.claude/skills/dual-mode/README.md +71 -0
  361. package/.claude/skills/dual-mode/dual-collect.md +103 -0
  362. package/.claude/skills/dual-mode/dual-coordinate.md +85 -0
  363. package/.claude/skills/dual-mode/dual-spawn.md +81 -0
  364. package/.claude/skills/flow-nexus-neural/SKILL.md +727 -0
  365. package/.claude/skills/flow-nexus-platform/SKILL.md +1154 -0
  366. package/.claude/skills/flow-nexus-swarm/SKILL.md +604 -0
  367. package/.claude/skills/github-code-review/SKILL.md +1125 -0
  368. package/.claude/skills/github-multi-repo/SKILL.md +862 -0
  369. package/.claude/skills/github-project-management/SKILL.md +1263 -0
  370. package/.claude/skills/github-release-management/SKILL.md +1064 -0
  371. package/.claude/skills/github-workflow-automation/SKILL.md +1047 -0
  372. package/.claude/skills/hive-mind-advanced/SKILL.md +709 -0
  373. package/.claude/skills/hooks-automation/SKILL.md +1201 -0
  374. package/.claude/skills/pair-programming/SKILL.md +1202 -0
  375. package/.claude/skills/performance-analysis/SKILL.md +560 -0
  376. package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -0
  377. package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -0
  378. package/.claude/skills/skill-builder/SKILL.md +910 -0
  379. package/.claude/skills/sparc-methodology/SKILL.md +1106 -0
  380. package/.claude/skills/stream-chain/SKILL.md +560 -0
  381. package/.claude/skills/swarm-advanced/SKILL.md +970 -0
  382. package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
  383. package/.claude/skills/v3-cli-modernization/SKILL.md +872 -0
  384. package/.claude/skills/v3-core-implementation/SKILL.md +797 -0
  385. package/.claude/skills/v3-ddd-architecture/SKILL.md +442 -0
  386. package/.claude/skills/v3-integration-deep/SKILL.md +241 -0
  387. package/.claude/skills/v3-mcp-optimization/SKILL.md +777 -0
  388. package/.claude/skills/v3-memory-unification/SKILL.md +174 -0
  389. package/.claude/skills/v3-performance-optimization/SKILL.md +390 -0
  390. package/.claude/skills/v3-security-overhaul/SKILL.md +82 -0
  391. package/.claude/skills/v3-swarm-coordination/SKILL.md +340 -0
  392. package/.claude/skills/verification-quality/SKILL.md +691 -0
  393. package/.claude/skills/worker-benchmarks/SKILL.md +129 -0
  394. package/.claude/skills/worker-integration/SKILL.md +147 -0
  395. package/.claude/statusline-command.sh +176 -0
  396. package/.claude/statusline.mjs +109 -0
  397. package/.claude/statusline.sh +431 -0
  398. package/.claude-plugin/README.md +720 -0
  399. package/.claude-plugin/docs/INSTALLATION.md +261 -0
  400. package/.claude-plugin/docs/PLUGIN_SUMMARY.md +361 -0
  401. package/.claude-plugin/docs/QUICKSTART.md +361 -0
  402. package/.claude-plugin/docs/STRUCTURE.md +128 -0
  403. package/.claude-plugin/hooks/hooks.json +75 -0
  404. package/.claude-plugin/marketplace.json +170 -0
  405. package/.claude-plugin/plugin.json +71 -0
  406. package/.claude-plugin/scripts/install.sh +234 -0
  407. package/.claude-plugin/scripts/ruflo-hook.sh +33 -0
  408. package/.claude-plugin/scripts/uninstall.sh +36 -0
  409. package/.claude-plugin/scripts/verify.sh +108 -0
  410. package/LICENSE +21 -0
  411. package/README.md +410 -0
  412. package/bin/cli.js +11 -0
  413. package/bin/npx-repair.js +7 -0
  414. package/bin/npx-safe-launch.js +9 -0
  415. package/package.json +159 -0
  416. package/v3/@claude-flow/cli/README.md +410 -0
  417. package/v3/@claude-flow/cli/bin/cli.js +233 -0
  418. package/v3/@claude-flow/cli/bin/mcp-server.js +224 -0
  419. package/v3/@claude-flow/cli/bin/preinstall.cjs +2 -0
  420. package/v3/@claude-flow/cli/dist/src/appliance/gguf-engine.d.ts +91 -0
  421. package/v3/@claude-flow/cli/dist/src/appliance/gguf-engine.js +425 -0
  422. package/v3/@claude-flow/cli/dist/src/appliance/ruvllm-bridge.d.ts +102 -0
  423. package/v3/@claude-flow/cli/dist/src/appliance/ruvllm-bridge.js +292 -0
  424. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-builder.d.ts +44 -0
  425. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-builder.js +329 -0
  426. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-distribution.d.ts +97 -0
  427. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-distribution.js +370 -0
  428. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-format.d.ts +111 -0
  429. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-format.js +393 -0
  430. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-runner.d.ts +69 -0
  431. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-runner.js +237 -0
  432. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-signing.d.ts +123 -0
  433. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-signing.js +347 -0
  434. package/v3/@claude-flow/cli/dist/src/autopilot-state.d.ts +77 -0
  435. package/v3/@claude-flow/cli/dist/src/autopilot-state.js +271 -0
  436. package/v3/@claude-flow/cli/dist/src/benchmarks/pretrain/index.d.ts +58 -0
  437. package/v3/@claude-flow/cli/dist/src/benchmarks/pretrain/index.js +404 -0
  438. package/v3/@claude-flow/cli/dist/src/commands/agent-wasm.d.ts +14 -0
  439. package/v3/@claude-flow/cli/dist/src/commands/agent-wasm.js +333 -0
  440. package/v3/@claude-flow/cli/dist/src/commands/agent.d.ts +8 -0
  441. package/v3/@claude-flow/cli/dist/src/commands/agent.js +927 -0
  442. package/v3/@claude-flow/cli/dist/src/commands/analyze.d.ts +19 -0
  443. package/v3/@claude-flow/cli/dist/src/commands/analyze.js +2048 -0
  444. package/v3/@claude-flow/cli/dist/src/commands/appliance-advanced.d.ts +9 -0
  445. package/v3/@claude-flow/cli/dist/src/commands/appliance-advanced.js +215 -0
  446. package/v3/@claude-flow/cli/dist/src/commands/appliance.d.ts +8 -0
  447. package/v3/@claude-flow/cli/dist/src/commands/appliance.js +404 -0
  448. package/v3/@claude-flow/cli/dist/src/commands/autopilot.d.ts +15 -0
  449. package/v3/@claude-flow/cli/dist/src/commands/autopilot.js +362 -0
  450. package/v3/@claude-flow/cli/dist/src/commands/benchmark.d.ts +10 -0
  451. package/v3/@claude-flow/cli/dist/src/commands/benchmark.js +460 -0
  452. package/v3/@claude-flow/cli/dist/src/commands/claims.d.ts +10 -0
  453. package/v3/@claude-flow/cli/dist/src/commands/claims.js +620 -0
  454. package/v3/@claude-flow/cli/dist/src/commands/cleanup.d.ts +13 -0
  455. package/v3/@claude-flow/cli/dist/src/commands/cleanup.js +250 -0
  456. package/v3/@claude-flow/cli/dist/src/commands/completions.d.ts +10 -0
  457. package/v3/@claude-flow/cli/dist/src/commands/completions.js +539 -0
  458. package/v3/@claude-flow/cli/dist/src/commands/config.d.ts +8 -0
  459. package/v3/@claude-flow/cli/dist/src/commands/config.js +430 -0
  460. package/v3/@claude-flow/cli/dist/src/commands/daemon.d.ts +28 -0
  461. package/v3/@claude-flow/cli/dist/src/commands/daemon.js +1093 -0
  462. package/v3/@claude-flow/cli/dist/src/commands/deployment.d.ts +10 -0
  463. package/v3/@claude-flow/cli/dist/src/commands/deployment.js +672 -0
  464. package/v3/@claude-flow/cli/dist/src/commands/doctor.d.ts +10 -0
  465. package/v3/@claude-flow/cli/dist/src/commands/doctor.js +885 -0
  466. package/v3/@claude-flow/cli/dist/src/commands/embeddings.d.ts +18 -0
  467. package/v3/@claude-flow/cli/dist/src/commands/embeddings.js +1623 -0
  468. package/v3/@claude-flow/cli/dist/src/commands/guidance.d.ts +8 -0
  469. package/v3/@claude-flow/cli/dist/src/commands/guidance.js +556 -0
  470. package/v3/@claude-flow/cli/dist/src/commands/hive-mind.d.ts +11 -0
  471. package/v3/@claude-flow/cli/dist/src/commands/hive-mind.js +1297 -0
  472. package/v3/@claude-flow/cli/dist/src/commands/hooks.d.ts +8 -0
  473. package/v3/@claude-flow/cli/dist/src/commands/hooks.js +4499 -0
  474. package/v3/@claude-flow/cli/dist/src/commands/index.d.ts +118 -0
  475. package/v3/@claude-flow/cli/dist/src/commands/index.js +344 -0
  476. package/v3/@claude-flow/cli/dist/src/commands/init.d.ts +8 -0
  477. package/v3/@claude-flow/cli/dist/src/commands/init.js +997 -0
  478. package/v3/@claude-flow/cli/dist/src/commands/issues.d.ts +21 -0
  479. package/v3/@claude-flow/cli/dist/src/commands/issues.js +567 -0
  480. package/v3/@claude-flow/cli/dist/src/commands/mcp.d.ts +11 -0
  481. package/v3/@claude-flow/cli/dist/src/commands/mcp.js +718 -0
  482. package/v3/@claude-flow/cli/dist/src/commands/memory.d.ts +8 -0
  483. package/v3/@claude-flow/cli/dist/src/commands/memory.js +1456 -0
  484. package/v3/@claude-flow/cli/dist/src/commands/migrate.d.ts +8 -0
  485. package/v3/@claude-flow/cli/dist/src/commands/migrate.js +742 -0
  486. package/v3/@claude-flow/cli/dist/src/commands/neural.d.ts +10 -0
  487. package/v3/@claude-flow/cli/dist/src/commands/neural.js +1531 -0
  488. package/v3/@claude-flow/cli/dist/src/commands/performance.d.ts +10 -0
  489. package/v3/@claude-flow/cli/dist/src/commands/performance.js +583 -0
  490. package/v3/@claude-flow/cli/dist/src/commands/plugins.d.ts +11 -0
  491. package/v3/@claude-flow/cli/dist/src/commands/plugins.js +826 -0
  492. package/v3/@claude-flow/cli/dist/src/commands/process.d.ts +10 -0
  493. package/v3/@claude-flow/cli/dist/src/commands/process.js +694 -0
  494. package/v3/@claude-flow/cli/dist/src/commands/progress.d.ts +11 -0
  495. package/v3/@claude-flow/cli/dist/src/commands/progress.js +259 -0
  496. package/v3/@claude-flow/cli/dist/src/commands/providers.d.ts +10 -0
  497. package/v3/@claude-flow/cli/dist/src/commands/providers.js +502 -0
  498. package/v3/@claude-flow/cli/dist/src/commands/route.d.ts +16 -0
  499. package/v3/@claude-flow/cli/dist/src/commands/route.js +813 -0
  500. package/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.d.ts +11 -0
  501. package/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.js +747 -0
  502. package/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.d.ts +11 -0
  503. package/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.js +490 -0
  504. package/v3/@claude-flow/cli/dist/src/commands/ruvector/import.d.ts +18 -0
  505. package/v3/@claude-flow/cli/dist/src/commands/ruvector/import.js +373 -0
  506. package/v3/@claude-flow/cli/dist/src/commands/ruvector/index.d.ts +29 -0
  507. package/v3/@claude-flow/cli/dist/src/commands/ruvector/index.js +129 -0
  508. package/v3/@claude-flow/cli/dist/src/commands/ruvector/init.d.ts +11 -0
  509. package/v3/@claude-flow/cli/dist/src/commands/ruvector/init.js +467 -0
  510. package/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.d.ts +11 -0
  511. package/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.js +498 -0
  512. package/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.d.ts +11 -0
  513. package/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.js +505 -0
  514. package/v3/@claude-flow/cli/dist/src/commands/ruvector/pg-utils.d.ts +14 -0
  515. package/v3/@claude-flow/cli/dist/src/commands/ruvector/pg-utils.js +41 -0
  516. package/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.d.ts +18 -0
  517. package/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.js +765 -0
  518. package/v3/@claude-flow/cli/dist/src/commands/ruvector/status.d.ts +11 -0
  519. package/v3/@claude-flow/cli/dist/src/commands/ruvector/status.js +479 -0
  520. package/v3/@claude-flow/cli/dist/src/commands/security.d.ts +10 -0
  521. package/v3/@claude-flow/cli/dist/src/commands/security.js +920 -0
  522. package/v3/@claude-flow/cli/dist/src/commands/session.d.ts +8 -0
  523. package/v3/@claude-flow/cli/dist/src/commands/session.js +757 -0
  524. package/v3/@claude-flow/cli/dist/src/commands/start.d.ts +8 -0
  525. package/v3/@claude-flow/cli/dist/src/commands/start.js +418 -0
  526. package/v3/@claude-flow/cli/dist/src/commands/status.d.ts +8 -0
  527. package/v3/@claude-flow/cli/dist/src/commands/status.js +591 -0
  528. package/v3/@claude-flow/cli/dist/src/commands/swarm.d.ts +8 -0
  529. package/v3/@claude-flow/cli/dist/src/commands/swarm.js +887 -0
  530. package/v3/@claude-flow/cli/dist/src/commands/task.d.ts +8 -0
  531. package/v3/@claude-flow/cli/dist/src/commands/task.js +675 -0
  532. package/v3/@claude-flow/cli/dist/src/commands/transfer-store.d.ts +13 -0
  533. package/v3/@claude-flow/cli/dist/src/commands/transfer-store.js +428 -0
  534. package/v3/@claude-flow/cli/dist/src/commands/update.d.ts +8 -0
  535. package/v3/@claude-flow/cli/dist/src/commands/update.js +276 -0
  536. package/v3/@claude-flow/cli/dist/src/commands/verify.d.ts +19 -0
  537. package/v3/@claude-flow/cli/dist/src/commands/verify.js +261 -0
  538. package/v3/@claude-flow/cli/dist/src/commands/workflow.d.ts +8 -0
  539. package/v3/@claude-flow/cli/dist/src/commands/workflow.js +617 -0
  540. package/v3/@claude-flow/cli/dist/src/config-adapter.d.ts +15 -0
  541. package/v3/@claude-flow/cli/dist/src/config-adapter.js +186 -0
  542. package/v3/@claude-flow/cli/dist/src/encryption/vault.d.ts +94 -0
  543. package/v3/@claude-flow/cli/dist/src/encryption/vault.js +172 -0
  544. package/v3/@claude-flow/cli/dist/src/fs-secure.d.ts +67 -0
  545. package/v3/@claude-flow/cli/dist/src/fs-secure.js +74 -0
  546. package/v3/@claude-flow/cli/dist/src/index.d.ts +81 -0
  547. package/v3/@claude-flow/cli/dist/src/index.js +538 -0
  548. package/v3/@claude-flow/cli/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
  549. package/v3/@claude-flow/cli/dist/src/infrastructure/in-memory-repositories.js +264 -0
  550. package/v3/@claude-flow/cli/dist/src/init/claudemd-generator.d.ts +16 -0
  551. package/v3/@claude-flow/cli/dist/src/init/claudemd-generator.js +363 -0
  552. package/v3/@claude-flow/cli/dist/src/init/executor.d.ts +41 -0
  553. package/v3/@claude-flow/cli/dist/src/init/executor.js +1904 -0
  554. package/v3/@claude-flow/cli/dist/src/init/helpers-generator.d.ts +60 -0
  555. package/v3/@claude-flow/cli/dist/src/init/helpers-generator.js +1185 -0
  556. package/v3/@claude-flow/cli/dist/src/init/index.d.ts +13 -0
  557. package/v3/@claude-flow/cli/dist/src/init/index.js +15 -0
  558. package/v3/@claude-flow/cli/dist/src/init/mcp-generator.d.ts +26 -0
  559. package/v3/@claude-flow/cli/dist/src/init/mcp-generator.js +116 -0
  560. package/v3/@claude-flow/cli/dist/src/init/settings-generator.d.ts +14 -0
  561. package/v3/@claude-flow/cli/dist/src/init/settings-generator.js +456 -0
  562. package/v3/@claude-flow/cli/dist/src/init/statusline-generator.d.ts +28 -0
  563. package/v3/@claude-flow/cli/dist/src/init/statusline-generator.js +937 -0
  564. package/v3/@claude-flow/cli/dist/src/init/types.d.ts +308 -0
  565. package/v3/@claude-flow/cli/dist/src/init/types.js +263 -0
  566. package/v3/@claude-flow/cli/dist/src/log-filters.d.ts +22 -0
  567. package/v3/@claude-flow/cli/dist/src/log-filters.js +36 -0
  568. package/v3/@claude-flow/cli/dist/src/mcp-client.d.ts +92 -0
  569. package/v3/@claude-flow/cli/dist/src/mcp-client.js +287 -0
  570. package/v3/@claude-flow/cli/dist/src/mcp-server.d.ts +163 -0
  571. package/v3/@claude-flow/cli/dist/src/mcp-server.js +732 -0
  572. package/v3/@claude-flow/cli/dist/src/mcp-tools/agent-execute-core.d.ts +92 -0
  573. package/v3/@claude-flow/cli/dist/src/mcp-tools/agent-execute-core.js +328 -0
  574. package/v3/@claude-flow/cli/dist/src/mcp-tools/agent-tools.d.ts +9 -0
  575. package/v3/@claude-flow/cli/dist/src/mcp-tools/agent-tools.js +716 -0
  576. package/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.d.ts +33 -0
  577. package/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.js +867 -0
  578. package/v3/@claude-flow/cli/dist/src/mcp-tools/analyze-tools.d.ts +38 -0
  579. package/v3/@claude-flow/cli/dist/src/mcp-tools/analyze-tools.js +346 -0
  580. package/v3/@claude-flow/cli/dist/src/mcp-tools/auto-install.d.ts +83 -0
  581. package/v3/@claude-flow/cli/dist/src/mcp-tools/auto-install.js +131 -0
  582. package/v3/@claude-flow/cli/dist/src/mcp-tools/autopilot-tools.d.ts +12 -0
  583. package/v3/@claude-flow/cli/dist/src/mcp-tools/autopilot-tools.js +231 -0
  584. package/v3/@claude-flow/cli/dist/src/mcp-tools/browser-session-tools.d.ts +23 -0
  585. package/v3/@claude-flow/cli/dist/src/mcp-tools/browser-session-tools.js +324 -0
  586. package/v3/@claude-flow/cli/dist/src/mcp-tools/browser-tools.d.ts +13 -0
  587. package/v3/@claude-flow/cli/dist/src/mcp-tools/browser-tools.js +757 -0
  588. package/v3/@claude-flow/cli/dist/src/mcp-tools/claims-tools.d.ts +12 -0
  589. package/v3/@claude-flow/cli/dist/src/mcp-tools/claims-tools.js +863 -0
  590. package/v3/@claude-flow/cli/dist/src/mcp-tools/config-tools.d.ts +8 -0
  591. package/v3/@claude-flow/cli/dist/src/mcp-tools/config-tools.js +411 -0
  592. package/v3/@claude-flow/cli/dist/src/mcp-tools/coordination-tools.d.ts +13 -0
  593. package/v3/@claude-flow/cli/dist/src/mcp-tools/coordination-tools.js +729 -0
  594. package/v3/@claude-flow/cli/dist/src/mcp-tools/daa-tools.d.ts +13 -0
  595. package/v3/@claude-flow/cli/dist/src/mcp-tools/daa-tools.js +534 -0
  596. package/v3/@claude-flow/cli/dist/src/mcp-tools/embeddings-tools.d.ts +9 -0
  597. package/v3/@claude-flow/cli/dist/src/mcp-tools/embeddings-tools.js +904 -0
  598. package/v3/@claude-flow/cli/dist/src/mcp-tools/github-tools.d.ts +9 -0
  599. package/v3/@claude-flow/cli/dist/src/mcp-tools/github-tools.js +659 -0
  600. package/v3/@claude-flow/cli/dist/src/mcp-tools/guidance-tools.d.ts +15 -0
  601. package/v3/@claude-flow/cli/dist/src/mcp-tools/guidance-tools.js +639 -0
  602. package/v3/@claude-flow/cli/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -0
  603. package/v3/@claude-flow/cli/dist/src/mcp-tools/hive-mind-tools.js +953 -0
  604. package/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.d.ts +46 -0
  605. package/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.js +3939 -0
  606. package/v3/@claude-flow/cli/dist/src/mcp-tools/index.d.ts +27 -0
  607. package/v3/@claude-flow/cli/dist/src/mcp-tools/index.js +26 -0
  608. package/v3/@claude-flow/cli/dist/src/mcp-tools/managed-agent-tools.d.ts +22 -0
  609. package/v3/@claude-flow/cli/dist/src/mcp-tools/managed-agent-tools.js +357 -0
  610. package/v3/@claude-flow/cli/dist/src/mcp-tools/memory-tools.d.ts +14 -0
  611. package/v3/@claude-flow/cli/dist/src/mcp-tools/memory-tools.js +1240 -0
  612. package/v3/@claude-flow/cli/dist/src/mcp-tools/neural-tools.d.ts +16 -0
  613. package/v3/@claude-flow/cli/dist/src/mcp-tools/neural-tools.js +793 -0
  614. package/v3/@claude-flow/cli/dist/src/mcp-tools/performance-tools.d.ts +16 -0
  615. package/v3/@claude-flow/cli/dist/src/mcp-tools/performance-tools.js +675 -0
  616. package/v3/@claude-flow/cli/dist/src/mcp-tools/progress-tools.d.ts +14 -0
  617. package/v3/@claude-flow/cli/dist/src/mcp-tools/progress-tools.js +348 -0
  618. package/v3/@claude-flow/cli/dist/src/mcp-tools/request-tracker.d.ts +17 -0
  619. package/v3/@claude-flow/cli/dist/src/mcp-tools/request-tracker.js +27 -0
  620. package/v3/@claude-flow/cli/dist/src/mcp-tools/ruvllm-tools.d.ts +9 -0
  621. package/v3/@claude-flow/cli/dist/src/mcp-tools/ruvllm-tools.js +339 -0
  622. package/v3/@claude-flow/cli/dist/src/mcp-tools/security-tools.d.ts +18 -0
  623. package/v3/@claude-flow/cli/dist/src/mcp-tools/security-tools.js +556 -0
  624. package/v3/@claude-flow/cli/dist/src/mcp-tools/session-tools.d.ts +8 -0
  625. package/v3/@claude-flow/cli/dist/src/mcp-tools/session-tools.js +517 -0
  626. package/v3/@claude-flow/cli/dist/src/mcp-tools/swarm-tools.d.ts +9 -0
  627. package/v3/@claude-flow/cli/dist/src/mcp-tools/swarm-tools.js +388 -0
  628. package/v3/@claude-flow/cli/dist/src/mcp-tools/system-tools.d.ts +13 -0
  629. package/v3/@claude-flow/cli/dist/src/mcp-tools/system-tools.js +674 -0
  630. package/v3/@claude-flow/cli/dist/src/mcp-tools/task-tools.d.ts +8 -0
  631. package/v3/@claude-flow/cli/dist/src/mcp-tools/task-tools.js +487 -0
  632. package/v3/@claude-flow/cli/dist/src/mcp-tools/terminal-tools.d.ts +8 -0
  633. package/v3/@claude-flow/cli/dist/src/mcp-tools/terminal-tools.js +306 -0
  634. package/v3/@claude-flow/cli/dist/src/mcp-tools/transfer-tools.d.ts +14 -0
  635. package/v3/@claude-flow/cli/dist/src/mcp-tools/transfer-tools.js +447 -0
  636. package/v3/@claude-flow/cli/dist/src/mcp-tools/types.d.ts +8 -0
  637. package/v3/@claude-flow/cli/dist/src/mcp-tools/types.js +8 -0
  638. package/v3/@claude-flow/cli/dist/src/mcp-tools/validate-input.d.ts +9 -0
  639. package/v3/@claude-flow/cli/dist/src/mcp-tools/validate-input.js +9 -0
  640. package/v3/@claude-flow/cli/dist/src/mcp-tools/wasm-agent-tools.d.ts +9 -0
  641. package/v3/@claude-flow/cli/dist/src/mcp-tools/wasm-agent-tools.js +291 -0
  642. package/v3/@claude-flow/cli/dist/src/mcp-tools/workflow-tools.d.ts +8 -0
  643. package/v3/@claude-flow/cli/dist/src/mcp-tools/workflow-tools.js +884 -0
  644. package/v3/@claude-flow/cli/dist/src/memory/ewc-consolidation.d.ts +295 -0
  645. package/v3/@claude-flow/cli/dist/src/memory/ewc-consolidation.js +601 -0
  646. package/v3/@claude-flow/cli/dist/src/memory/intelligence.d.ts +357 -0
  647. package/v3/@claude-flow/cli/dist/src/memory/intelligence.js +1200 -0
  648. package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.d.ts +492 -0
  649. package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.js +2101 -0
  650. package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.d.ts +420 -0
  651. package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.js +2376 -0
  652. package/v3/@claude-flow/cli/dist/src/memory/neural-package-bridge.d.ts +48 -0
  653. package/v3/@claude-flow/cli/dist/src/memory/neural-package-bridge.js +87 -0
  654. package/v3/@claude-flow/cli/dist/src/memory/rabitq-index.d.ts +60 -0
  655. package/v3/@claude-flow/cli/dist/src/memory/rabitq-index.js +242 -0
  656. package/v3/@claude-flow/cli/dist/src/memory/sona-optimizer.d.ts +267 -0
  657. package/v3/@claude-flow/cli/dist/src/memory/sona-optimizer.js +779 -0
  658. package/v3/@claude-flow/cli/dist/src/output.d.ts +9 -0
  659. package/v3/@claude-flow/cli/dist/src/output.js +9 -0
  660. package/v3/@claude-flow/cli/dist/src/parser.d.ts +69 -0
  661. package/v3/@claude-flow/cli/dist/src/parser.js +473 -0
  662. package/v3/@claude-flow/cli/dist/src/plugins/manager.d.ts +133 -0
  663. package/v3/@claude-flow/cli/dist/src/plugins/manager.js +402 -0
  664. package/v3/@claude-flow/cli/dist/src/plugins/store/discovery.d.ts +91 -0
  665. package/v3/@claude-flow/cli/dist/src/plugins/store/discovery.js +1202 -0
  666. package/v3/@claude-flow/cli/dist/src/plugins/store/index.d.ts +76 -0
  667. package/v3/@claude-flow/cli/dist/src/plugins/store/index.js +141 -0
  668. package/v3/@claude-flow/cli/dist/src/plugins/store/search.d.ts +46 -0
  669. package/v3/@claude-flow/cli/dist/src/plugins/store/search.js +230 -0
  670. package/v3/@claude-flow/cli/dist/src/plugins/store/types.d.ts +274 -0
  671. package/v3/@claude-flow/cli/dist/src/plugins/store/types.js +7 -0
  672. package/v3/@claude-flow/cli/dist/src/plugins/tests/demo-plugin-store.d.ts +7 -0
  673. package/v3/@claude-flow/cli/dist/src/plugins/tests/demo-plugin-store.js +126 -0
  674. package/v3/@claude-flow/cli/dist/src/plugins/tests/standalone-test.d.ts +12 -0
  675. package/v3/@claude-flow/cli/dist/src/plugins/tests/standalone-test.js +188 -0
  676. package/v3/@claude-flow/cli/dist/src/plugins/tests/test-plugin-store.d.ts +7 -0
  677. package/v3/@claude-flow/cli/dist/src/plugins/tests/test-plugin-store.js +206 -0
  678. package/v3/@claude-flow/cli/dist/src/production/circuit-breaker.d.ts +101 -0
  679. package/v3/@claude-flow/cli/dist/src/production/circuit-breaker.js +241 -0
  680. package/v3/@claude-flow/cli/dist/src/production/error-handler.d.ts +92 -0
  681. package/v3/@claude-flow/cli/dist/src/production/error-handler.js +299 -0
  682. package/v3/@claude-flow/cli/dist/src/production/index.d.ts +23 -0
  683. package/v3/@claude-flow/cli/dist/src/production/index.js +18 -0
  684. package/v3/@claude-flow/cli/dist/src/production/monitoring.d.ts +161 -0
  685. package/v3/@claude-flow/cli/dist/src/production/monitoring.js +356 -0
  686. package/v3/@claude-flow/cli/dist/src/production/rate-limiter.d.ts +80 -0
  687. package/v3/@claude-flow/cli/dist/src/production/rate-limiter.js +201 -0
  688. package/v3/@claude-flow/cli/dist/src/production/retry.d.ts +48 -0
  689. package/v3/@claude-flow/cli/dist/src/production/retry.js +179 -0
  690. package/v3/@claude-flow/cli/dist/src/prompt.d.ts +44 -0
  691. package/v3/@claude-flow/cli/dist/src/prompt.js +501 -0
  692. package/v3/@claude-flow/cli/dist/src/runtime/headless.d.ts +60 -0
  693. package/v3/@claude-flow/cli/dist/src/runtime/headless.js +284 -0
  694. package/v3/@claude-flow/cli/dist/src/ruvector/agent-wasm.d.ts +193 -0
  695. package/v3/@claude-flow/cli/dist/src/ruvector/agent-wasm.js +354 -0
  696. package/v3/@claude-flow/cli/dist/src/ruvector/ast-analyzer.d.ts +67 -0
  697. package/v3/@claude-flow/cli/dist/src/ruvector/ast-analyzer.js +277 -0
  698. package/v3/@claude-flow/cli/dist/src/ruvector/coverage-router.d.ts +160 -0
  699. package/v3/@claude-flow/cli/dist/src/ruvector/coverage-router.js +531 -0
  700. package/v3/@claude-flow/cli/dist/src/ruvector/coverage-tools.d.ts +33 -0
  701. package/v3/@claude-flow/cli/dist/src/ruvector/coverage-tools.js +157 -0
  702. package/v3/@claude-flow/cli/dist/src/ruvector/diff-classifier.d.ts +175 -0
  703. package/v3/@claude-flow/cli/dist/src/ruvector/diff-classifier.js +699 -0
  704. package/v3/@claude-flow/cli/dist/src/ruvector/diskann-backend.d.ts +78 -0
  705. package/v3/@claude-flow/cli/dist/src/ruvector/diskann-backend.js +310 -0
  706. package/v3/@claude-flow/cli/dist/src/ruvector/enhanced-model-router.d.ts +146 -0
  707. package/v3/@claude-flow/cli/dist/src/ruvector/enhanced-model-router.js +529 -0
  708. package/v3/@claude-flow/cli/dist/src/ruvector/graph-analyzer.d.ts +187 -0
  709. package/v3/@claude-flow/cli/dist/src/ruvector/graph-analyzer.js +929 -0
  710. package/v3/@claude-flow/cli/dist/src/ruvector/graph-backend.d.ts +79 -0
  711. package/v3/@claude-flow/cli/dist/src/ruvector/graph-backend.js +220 -0
  712. package/v3/@claude-flow/cli/dist/src/ruvector/index.d.ts +38 -0
  713. package/v3/@claude-flow/cli/dist/src/ruvector/index.js +82 -0
  714. package/v3/@claude-flow/cli/dist/src/ruvector/lora-adapter.d.ts +240 -0
  715. package/v3/@claude-flow/cli/dist/src/ruvector/lora-adapter.js +550 -0
  716. package/v3/@claude-flow/cli/dist/src/ruvector/model-router.d.ts +241 -0
  717. package/v3/@claude-flow/cli/dist/src/ruvector/model-router.js +608 -0
  718. package/v3/@claude-flow/cli/dist/src/ruvector/q-learning-router.d.ts +211 -0
  719. package/v3/@claude-flow/cli/dist/src/ruvector/q-learning-router.js +681 -0
  720. package/v3/@claude-flow/cli/dist/src/ruvector/ruvllm-wasm.d.ts +179 -0
  721. package/v3/@claude-flow/cli/dist/src/ruvector/ruvllm-wasm.js +367 -0
  722. package/v3/@claude-flow/cli/dist/src/ruvector/semantic-router.d.ts +77 -0
  723. package/v3/@claude-flow/cli/dist/src/ruvector/semantic-router.js +178 -0
  724. package/v3/@claude-flow/cli/dist/src/ruvector/vector-db.d.ts +73 -0
  725. package/v3/@claude-flow/cli/dist/src/ruvector/vector-db.js +264 -0
  726. package/v3/@claude-flow/cli/dist/src/services/agentic-flow-bridge.d.ts +50 -0
  727. package/v3/@claude-flow/cli/dist/src/services/agentic-flow-bridge.js +95 -0
  728. package/v3/@claude-flow/cli/dist/src/services/claim-service.d.ts +204 -0
  729. package/v3/@claude-flow/cli/dist/src/services/claim-service.js +818 -0
  730. package/v3/@claude-flow/cli/dist/src/services/config-file-manager.d.ts +37 -0
  731. package/v3/@claude-flow/cli/dist/src/services/config-file-manager.js +233 -0
  732. package/v3/@claude-flow/cli/dist/src/services/container-worker-pool.d.ts +197 -0
  733. package/v3/@claude-flow/cli/dist/src/services/container-worker-pool.js +583 -0
  734. package/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.d.ts +310 -0
  735. package/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.js +1058 -0
  736. package/v3/@claude-flow/cli/dist/src/services/index.d.ts +13 -0
  737. package/v3/@claude-flow/cli/dist/src/services/index.js +11 -0
  738. package/v3/@claude-flow/cli/dist/src/services/registry-api.d.ts +58 -0
  739. package/v3/@claude-flow/cli/dist/src/services/registry-api.js +146 -0
  740. package/v3/@claude-flow/cli/dist/src/services/ruvector-training.d.ts +222 -0
  741. package/v3/@claude-flow/cli/dist/src/services/ruvector-training.js +688 -0
  742. package/v3/@claude-flow/cli/dist/src/services/worker-daemon.d.ts +323 -0
  743. package/v3/@claude-flow/cli/dist/src/services/worker-daemon.js +1323 -0
  744. package/v3/@claude-flow/cli/dist/src/services/worker-queue.d.ts +194 -0
  745. package/v3/@claude-flow/cli/dist/src/services/worker-queue.js +513 -0
  746. package/v3/@claude-flow/cli/dist/src/suggest.d.ts +53 -0
  747. package/v3/@claude-flow/cli/dist/src/suggest.js +200 -0
  748. package/v3/@claude-flow/cli/dist/src/transfer/anonymization/index.d.ts +25 -0
  749. package/v3/@claude-flow/cli/dist/src/transfer/anonymization/index.js +175 -0
  750. package/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.d.ts +13 -0
  751. package/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.js +205 -0
  752. package/v3/@claude-flow/cli/dist/src/transfer/export.d.ts +25 -0
  753. package/v3/@claude-flow/cli/dist/src/transfer/export.js +113 -0
  754. package/v3/@claude-flow/cli/dist/src/transfer/index.d.ts +12 -0
  755. package/v3/@claude-flow/cli/dist/src/transfer/index.js +31 -0
  756. package/v3/@claude-flow/cli/dist/src/transfer/ipfs/client.d.ts +109 -0
  757. package/v3/@claude-flow/cli/dist/src/transfer/ipfs/client.js +307 -0
  758. package/v3/@claude-flow/cli/dist/src/transfer/ipfs/upload.d.ts +95 -0
  759. package/v3/@claude-flow/cli/dist/src/transfer/ipfs/upload.js +413 -0
  760. package/v3/@claude-flow/cli/dist/src/transfer/models/seraphine.d.ts +72 -0
  761. package/v3/@claude-flow/cli/dist/src/transfer/models/seraphine.js +373 -0
  762. package/v3/@claude-flow/cli/dist/src/transfer/serialization/cfp.d.ts +49 -0
  763. package/v3/@claude-flow/cli/dist/src/transfer/serialization/cfp.js +183 -0
  764. package/v3/@claude-flow/cli/dist/src/transfer/storage/gcs.d.ts +82 -0
  765. package/v3/@claude-flow/cli/dist/src/transfer/storage/gcs.js +272 -0
  766. package/v3/@claude-flow/cli/dist/src/transfer/storage/index.d.ts +6 -0
  767. package/v3/@claude-flow/cli/dist/src/transfer/storage/index.js +6 -0
  768. package/v3/@claude-flow/cli/dist/src/transfer/store/discovery.d.ts +84 -0
  769. package/v3/@claude-flow/cli/dist/src/transfer/store/discovery.js +382 -0
  770. package/v3/@claude-flow/cli/dist/src/transfer/store/download.d.ts +70 -0
  771. package/v3/@claude-flow/cli/dist/src/transfer/store/download.js +334 -0
  772. package/v3/@claude-flow/cli/dist/src/transfer/store/index.d.ts +84 -0
  773. package/v3/@claude-flow/cli/dist/src/transfer/store/index.js +153 -0
  774. package/v3/@claude-flow/cli/dist/src/transfer/store/publish.d.ts +76 -0
  775. package/v3/@claude-flow/cli/dist/src/transfer/store/publish.js +294 -0
  776. package/v3/@claude-flow/cli/dist/src/transfer/store/registry.d.ts +58 -0
  777. package/v3/@claude-flow/cli/dist/src/transfer/store/registry.js +285 -0
  778. package/v3/@claude-flow/cli/dist/src/transfer/store/search.d.ts +54 -0
  779. package/v3/@claude-flow/cli/dist/src/transfer/store/search.js +232 -0
  780. package/v3/@claude-flow/cli/dist/src/transfer/store/tests/standalone-test.d.ts +12 -0
  781. package/v3/@claude-flow/cli/dist/src/transfer/store/tests/standalone-test.js +190 -0
  782. package/v3/@claude-flow/cli/dist/src/transfer/store/types.d.ts +193 -0
  783. package/v3/@claude-flow/cli/dist/src/transfer/store/types.js +6 -0
  784. package/v3/@claude-flow/cli/dist/src/transfer/test-seraphine.d.ts +6 -0
  785. package/v3/@claude-flow/cli/dist/src/transfer/test-seraphine.js +105 -0
  786. package/v3/@claude-flow/cli/dist/src/transfer/tests/test-store.d.ts +7 -0
  787. package/v3/@claude-flow/cli/dist/src/transfer/tests/test-store.js +214 -0
  788. package/v3/@claude-flow/cli/dist/src/transfer/types.d.ts +245 -0
  789. package/v3/@claude-flow/cli/dist/src/transfer/types.js +6 -0
  790. package/v3/@claude-flow/cli/dist/src/types.d.ts +13 -0
  791. package/v3/@claude-flow/cli/dist/src/types.js +13 -0
  792. package/v3/@claude-flow/cli/dist/src/update/checker.d.ts +34 -0
  793. package/v3/@claude-flow/cli/dist/src/update/checker.js +191 -0
  794. package/v3/@claude-flow/cli/dist/src/update/executor.d.ts +33 -0
  795. package/v3/@claude-flow/cli/dist/src/update/executor.js +217 -0
  796. package/v3/@claude-flow/cli/dist/src/update/index.d.ts +33 -0
  797. package/v3/@claude-flow/cli/dist/src/update/index.js +64 -0
  798. package/v3/@claude-flow/cli/dist/src/update/rate-limiter.d.ts +20 -0
  799. package/v3/@claude-flow/cli/dist/src/update/rate-limiter.js +96 -0
  800. package/v3/@claude-flow/cli/dist/src/update/validator.d.ts +17 -0
  801. package/v3/@claude-flow/cli/dist/src/update/validator.js +123 -0
  802. package/v3/@claude-flow/cli/package.json +133 -0
  803. package/v3/@claude-flow/guidance/README.md +1195 -0
  804. package/v3/@claude-flow/guidance/package.json +198 -0
  805. package/v3/@claude-flow/shared/README.md +323 -0
  806. package/v3/@claude-flow/shared/package.json +43 -0
  807. package/v3/README.md +493 -0
@@ -0,0 +1,793 @@
1
+ /**
2
+ * Neural MCP Tools for CLI
3
+ *
4
+ * V2 Compatibility - Neural network and ML tools
5
+ *
6
+ * ✅ HYBRID Implementation:
7
+ * - Uses @claude-flow/embeddings for REAL ML embeddings when available
8
+ * - Falls back to deterministic hash-based embeddings when ML model not installed
9
+ * - Pattern storage and search with cosine similarity (real math in all tiers)
10
+ * - Training stores patterns as searchable embeddings (not simulated)
11
+ *
12
+ * Note: For production neural features, use @claude-flow/neural module
13
+ */
14
+ import { getProjectCwd } from './types.js';
15
+ import { validateIdentifier, validateText } from './validate-input.js';
16
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
17
+ import { join } from 'node:path';
18
+ // Try to import real embeddings — prefer agentic-flow v3 ReasoningBank, then @claude-flow/embeddings
19
+ let realEmbeddings = null;
20
+ let embeddingServiceName = 'none';
21
+ try {
22
+ // Tier 1: agentic-flow v3 ReasoningBank (fastest — WASM-accelerated)
23
+ const rb = await import('agentic-flow/reasoningbank').catch(() => null);
24
+ if (rb?.computeEmbedding) {
25
+ realEmbeddings = { embed: (text) => rb.computeEmbedding(text) };
26
+ embeddingServiceName = 'agentic-flow/reasoningbank';
27
+ }
28
+ // Tier 2: @claude-flow/embeddings with agentic-flow provider
29
+ if (!realEmbeddings) {
30
+ const embeddingsModule = await import('@claude-flow/embeddings').catch(() => null);
31
+ if (embeddingsModule?.createEmbeddingService) {
32
+ try {
33
+ const service = embeddingsModule.createEmbeddingService({ provider: 'agentic-flow' });
34
+ realEmbeddings = {
35
+ embed: async (text) => {
36
+ const result = await service.embed(text);
37
+ return Array.from(result.embedding);
38
+ },
39
+ };
40
+ embeddingServiceName = 'agentic-flow';
41
+ }
42
+ catch {
43
+ // agentic-flow provider not available, try ONNX
44
+ }
45
+ }
46
+ }
47
+ // Tier 3: @claude-flow/embeddings with ONNX provider
48
+ if (!realEmbeddings) {
49
+ const embeddingsModule = await import('@claude-flow/embeddings').catch(() => null);
50
+ if (embeddingsModule?.createEmbeddingService) {
51
+ try {
52
+ const service = embeddingsModule.createEmbeddingService({ provider: 'onnx' });
53
+ realEmbeddings = {
54
+ embed: async (text) => {
55
+ const result = await service.embed(text);
56
+ return Array.from(result.embedding);
57
+ },
58
+ };
59
+ embeddingServiceName = 'onnx';
60
+ }
61
+ catch {
62
+ // ONNX provider not available, fall through to mock
63
+ }
64
+ }
65
+ }
66
+ // No Tier 4 mock fallback. If Tier 1 (agentic-flow) and Tier 3 (onnx)
67
+ // both failed to import, leave realEmbeddings null and let downstream
68
+ // code use the explicit hash-fallback path with a clear _embeddingNote
69
+ // in stats. Silently substituting mock embeddings would hide a missing
70
+ // production dependency from callers.
71
+ }
72
+ catch {
73
+ // No embedding provider available, will use fallback
74
+ }
75
+ // Storage paths
76
+ const STORAGE_DIR = '.claude-flow';
77
+ const NEURAL_DIR = 'neural';
78
+ const MODELS_FILE = 'models.json';
79
+ const PATTERNS_FILE = 'patterns.json';
80
+ function getNeuralDir() {
81
+ return join(getProjectCwd(), STORAGE_DIR, NEURAL_DIR);
82
+ }
83
+ function getNeuralPath() {
84
+ return join(getNeuralDir(), MODELS_FILE);
85
+ }
86
+ function ensureNeuralDir() {
87
+ const dir = getNeuralDir();
88
+ if (!existsSync(dir)) {
89
+ mkdirSync(dir, { recursive: true });
90
+ }
91
+ }
92
+ function loadNeuralStore() {
93
+ try {
94
+ const path = getNeuralPath();
95
+ if (existsSync(path)) {
96
+ return JSON.parse(readFileSync(path, 'utf-8'));
97
+ }
98
+ }
99
+ catch {
100
+ // Return empty store
101
+ }
102
+ return { models: {}, patterns: {}, version: '3.0.0' };
103
+ }
104
+ function saveNeuralStore(store) {
105
+ ensureNeuralDir();
106
+ writeFileSync(getNeuralPath(), JSON.stringify(store, null, 2), 'utf-8');
107
+ }
108
+ // Generate embedding - uses real ML embeddings if available, falls back to deterministic hash
109
+ async function generateEmbedding(text, dims = 384) {
110
+ // If real embeddings available and text provided, use them
111
+ if (realEmbeddings && text) {
112
+ try {
113
+ return await realEmbeddings.embed(text);
114
+ }
115
+ catch {
116
+ // Fall back to hash-based
117
+ }
118
+ }
119
+ // Hash-based deterministic embedding (better than pure random for consistency)
120
+ // NOTE: No semantic meaning — only useful for consistent deduplication, not similarity search
121
+ if (text) {
122
+ if (embeddingServiceName === 'none') {
123
+ embeddingServiceName = 'hash-fallback';
124
+ }
125
+ const hash = text.split('').reduce((acc, char, i) => {
126
+ return acc + char.charCodeAt(0) * (i + 1);
127
+ }, 0);
128
+ // Use hash to seed a deterministic embedding
129
+ const embedding = [];
130
+ let seed = hash;
131
+ for (let i = 0; i < dims; i++) {
132
+ // Simple LCG random with seed
133
+ seed = (seed * 1103515245 + 12345) & 0x7fffffff;
134
+ embedding.push((seed / 0x7fffffff) * 2 - 1);
135
+ }
136
+ return embedding;
137
+ }
138
+ // No text provided — return zero vector (callers should always provide text)
139
+ return new Array(dims).fill(0);
140
+ }
141
+ // Cosine similarity for pattern search
142
+ function cosineSimilarity(a, b) {
143
+ if (a.length !== b.length)
144
+ return 0;
145
+ let dotProduct = 0;
146
+ let normA = 0;
147
+ let normB = 0;
148
+ for (let i = 0; i < a.length; i++) {
149
+ dotProduct += a[i] * b[i];
150
+ normA += a[i] * a[i];
151
+ normB += b[i] * b[i];
152
+ }
153
+ return dotProduct / (Math.sqrt(normA) * Math.sqrt(normB) || 1);
154
+ }
155
+ export const neuralTools = [
156
+ {
157
+ name: 'neural_train',
158
+ description: 'Train a neural model Use when nothing native trains on your workflow — Claude Code has no learning loop. Use to train SONA/MoE/EWC patterns from successful task outcomes; query via neural_predict before spawning agents. Off-path for one-shot work.',
159
+ category: 'neural',
160
+ inputSchema: {
161
+ type: 'object',
162
+ properties: {
163
+ modelId: { type: 'string', description: 'Model ID to train' },
164
+ modelType: { type: 'string', enum: ['moe', 'transformer', 'classifier', 'embedding'], description: 'Model type' },
165
+ epochs: { type: 'number', description: 'Number of training epochs' },
166
+ learningRate: { type: 'number', description: 'Learning rate' },
167
+ data: { type: 'object', description: 'Training data' },
168
+ },
169
+ required: ['modelType'],
170
+ },
171
+ handler: async (input) => {
172
+ if (input.modelId) {
173
+ const v = validateIdentifier(input.modelId, 'modelId');
174
+ if (!v.valid)
175
+ return { success: false, error: v.error };
176
+ }
177
+ const store = loadNeuralStore();
178
+ const modelId = input.modelId || `model-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`;
179
+ const modelType = input.modelType;
180
+ const epochs = input.epochs || 10;
181
+ const model = {
182
+ id: modelId,
183
+ name: `${modelType}-model`,
184
+ type: modelType,
185
+ status: 'training',
186
+ accuracy: 0,
187
+ epochs,
188
+ config: {
189
+ learningRate: input.learningRate || 0.001,
190
+ batchSize: 32,
191
+ },
192
+ };
193
+ store.models[modelId] = model;
194
+ saveNeuralStore(store);
195
+ // Real training: embed training data and store as searchable patterns
196
+ const trainingData = input.data;
197
+ let patternsStored = 0;
198
+ if (trainingData) {
199
+ const entries = Array.isArray(trainingData) ? trainingData : [trainingData];
200
+ for (let i = 0; i < entries.length; i++) {
201
+ const entry = entries[i];
202
+ const text = typeof entry === 'string' ? entry
203
+ : entry?.text
204
+ || entry?.content
205
+ || entry?.label
206
+ || JSON.stringify(entry);
207
+ if (!text)
208
+ continue;
209
+ const embedding = await generateEmbedding(text, 384);
210
+ const patternId = `${modelId}-train-${i}`;
211
+ // ADR-093 F11: extract a meaningful label instead of dumping raw
212
+ // training JSON as the pattern name. Audit reported neural_predict
213
+ // returned `label: <raw training data JSON>` because the previous
214
+ // fallback was `text.slice(0, 100)` where text was `JSON.stringify(entry)`.
215
+ let label;
216
+ if (typeof entry === 'string') {
217
+ label = entry.slice(0, 80);
218
+ }
219
+ else if (entry && typeof entry === 'object') {
220
+ const e = entry;
221
+ // Prefer common semantic fields over a JSON dump
222
+ const labelField = e.label ?? e.category ?? e.class ?? e.tag ?? e.intent ?? e.name ?? e.title;
223
+ if (typeof labelField === 'string' && labelField.length > 0) {
224
+ label = labelField.slice(0, 80);
225
+ }
226
+ else {
227
+ const summaryField = e.text ?? e.input ?? e.task ?? e.description ?? e.content;
228
+ if (typeof summaryField === 'string' && summaryField.length > 0) {
229
+ label = `${summaryField.slice(0, 60)}${summaryField.length > 60 ? '…' : ''}`;
230
+ }
231
+ else {
232
+ // Last resort: reduce to a stable short hash-like id
233
+ label = `${modelType}:entry-${i}`;
234
+ }
235
+ }
236
+ }
237
+ else {
238
+ label = `${modelType}:entry-${i}`;
239
+ }
240
+ store.patterns[patternId] = {
241
+ id: patternId,
242
+ name: label,
243
+ type: modelType,
244
+ embedding,
245
+ metadata: { modelId, epoch: epochs, index: i, raw: entry },
246
+ createdAt: new Date().toISOString(),
247
+ usageCount: 0,
248
+ };
249
+ patternsStored++;
250
+ }
251
+ }
252
+ model.status = 'ready';
253
+ model.accuracy = patternsStored > 0 ? 1.0 : 0; // accuracy = data stored, not simulated
254
+ model.trainedAt = new Date().toISOString();
255
+ saveNeuralStore(store);
256
+ return {
257
+ success: true,
258
+ _realEmbedding: !!realEmbeddings,
259
+ _embeddingSource: embeddingServiceName,
260
+ embeddingProvider: embeddingServiceName,
261
+ modelId,
262
+ type: modelType,
263
+ status: model.status,
264
+ patternsStored,
265
+ totalPatterns: Object.keys(store.patterns).length,
266
+ epochs,
267
+ trainedAt: model.trainedAt,
268
+ ...(embeddingServiceName === 'hash-fallback' || embeddingServiceName === 'none' ? {
269
+ platformNote: 'ONNX embeddings not available — using hash-based fallback. Install @claude-flow/embeddings and run "embeddings init --download" for semantic search.',
270
+ } : {}),
271
+ };
272
+ },
273
+ },
274
+ {
275
+ name: 'neural_predict',
276
+ description: 'Make predictions using a neural model Use when nothing native trains on your workflow — Claude Code has no learning loop. Use to train SONA/MoE/EWC patterns from successful task outcomes; query via neural_predict before spawning agents. Off-path for one-shot work.',
277
+ category: 'neural',
278
+ inputSchema: {
279
+ type: 'object',
280
+ properties: {
281
+ modelId: { type: 'string', description: 'Model ID to use' },
282
+ input: { type: 'string', description: 'Input text or data' },
283
+ topK: { type: 'number', description: 'Number of top predictions' },
284
+ },
285
+ required: ['input'],
286
+ },
287
+ handler: async (input) => {
288
+ {
289
+ const v = validateText(input.input, 'input');
290
+ if (!v.valid)
291
+ return { success: false, error: v.error };
292
+ }
293
+ if (input.modelId) {
294
+ const v = validateIdentifier(input.modelId, 'modelId');
295
+ if (!v.valid)
296
+ return { success: false, error: v.error };
297
+ }
298
+ const store = loadNeuralStore();
299
+ const modelId = input.modelId;
300
+ const inputText = input.input;
301
+ const topK = input.topK || 3;
302
+ // Find model or use default
303
+ const model = modelId ? store.models[modelId] : Object.values(store.models).find(m => m.status === 'ready');
304
+ if (model && model.status !== 'ready') {
305
+ return { success: false, error: 'Model not ready' };
306
+ }
307
+ // Generate real embedding for the input
308
+ const startTime = performance.now();
309
+ const embedding = await generateEmbedding(inputText, 384);
310
+ const latency = Math.round(performance.now() - startTime);
311
+ // ADR-093 F11: real classifier head over stored patterns. Previously
312
+ // confidence was the raw cosine similarity (often clamped to 0 when
313
+ // stored embeddings were stale or zero-vectored). Now we run k-NN
314
+ // with cosine distance and apply a temperature-controlled softmax
315
+ // over the top-K so confidence is a proper distribution that sums
316
+ // to 1, and we surface enough metadata to trust the result.
317
+ const storedPatterns = Object.values(store.patterns);
318
+ let predictions;
319
+ if (storedPatterns.length > 0) {
320
+ // Step 1: k-NN with cosine
321
+ const scored = storedPatterns
322
+ .map(p => {
323
+ const sim = cosineSimilarity(embedding, p.embedding);
324
+ return {
325
+ patternId: p.id,
326
+ label: p.name || p.type || p.id,
327
+ cosineSimilarity: sim,
328
+ };
329
+ })
330
+ .sort((a, b) => b.cosineSimilarity - a.cosineSimilarity)
331
+ .slice(0, topK);
332
+ // Step 2: temperature-softmax over the top-K so confidence sums to 1.
333
+ // Temperature 0.1 sharpens differences between similar candidates.
334
+ const tau = 0.1;
335
+ const exps = scored.map(s => Math.exp(s.cosineSimilarity / tau));
336
+ const z = exps.reduce((a, b) => a + b, 0) || 1;
337
+ predictions = scored.map((s, i) => ({
338
+ label: s.label,
339
+ patternId: s.patternId,
340
+ cosineSimilarity: Number(s.cosineSimilarity.toFixed(4)),
341
+ confidence: Number((exps[i] / z).toFixed(4)),
342
+ }));
343
+ }
344
+ else {
345
+ // No patterns stored — no predictions possible. Be honest about it
346
+ // instead of returning empty silently.
347
+ predictions = [];
348
+ }
349
+ const topConfidence = predictions[0]?.confidence ?? 0;
350
+ const topSimilarity = predictions[0]?.cosineSimilarity ?? 0;
351
+ return {
352
+ success: true,
353
+ _realEmbedding: !!realEmbeddings,
354
+ _embeddingSource: embeddingServiceName,
355
+ embeddingProvider: embeddingServiceName,
356
+ _hasStoredPatterns: storedPatterns.length > 0,
357
+ _classifierHead: storedPatterns.length > 0 ? 'knn-cosine+softmax(tau=0.1)' : 'none',
358
+ modelId: model?.id || 'default',
359
+ input: inputText,
360
+ predictions,
361
+ // Surface cosineSimilarity separately so callers know whether the
362
+ // softmax confidence reflects true match strength.
363
+ topPrediction: predictions[0]?.label ?? null,
364
+ topConfidence,
365
+ topSimilarity,
366
+ embedding: embedding.slice(0, 8), // Preview of embedding
367
+ embeddingDims: embedding.length,
368
+ latency,
369
+ ...(storedPatterns.length === 0 ? {
370
+ _note: 'No patterns stored. Train with neural_train(modelType, trainingData) before predicting.',
371
+ } : {}),
372
+ };
373
+ },
374
+ },
375
+ {
376
+ name: 'neural_patterns',
377
+ description: 'Get or manage neural patterns Use when nothing native trains on your workflow — Claude Code has no learning loop. Use to train SONA/MoE/EWC patterns from successful task outcomes; query via neural_predict before spawning agents. Off-path for one-shot work.',
378
+ category: 'neural',
379
+ inputSchema: {
380
+ type: 'object',
381
+ properties: {
382
+ action: { type: 'string', enum: ['list', 'get', 'store', 'search', 'delete'], description: 'Action to perform' },
383
+ patternId: { type: 'string', description: 'Pattern ID' },
384
+ name: { type: 'string', description: 'Pattern name' },
385
+ type: { type: 'string', description: 'Pattern type' },
386
+ query: { type: 'string', description: 'Search query' },
387
+ data: { type: 'object', description: 'Pattern data' },
388
+ },
389
+ },
390
+ handler: async (input) => {
391
+ if (input.patternId) {
392
+ const v = validateIdentifier(input.patternId, 'patternId');
393
+ if (!v.valid)
394
+ return { success: false, error: v.error };
395
+ }
396
+ if (input.name) {
397
+ const v = validateText(input.name, 'name');
398
+ if (!v.valid)
399
+ return { success: false, error: v.error };
400
+ }
401
+ if (input.type) {
402
+ const v = validateIdentifier(input.type, 'type');
403
+ if (!v.valid)
404
+ return { success: false, error: v.error };
405
+ }
406
+ if (input.query) {
407
+ const v = validateText(input.query, 'query');
408
+ if (!v.valid)
409
+ return { success: false, error: v.error };
410
+ }
411
+ const store = loadNeuralStore();
412
+ const action = input.action || 'list';
413
+ if (action === 'list') {
414
+ const patterns = Object.values(store.patterns);
415
+ const typeFilter = input.type;
416
+ const filtered = typeFilter ? patterns.filter(p => p.type === typeFilter) : patterns;
417
+ return {
418
+ patterns: filtered.map(p => ({
419
+ id: p.id,
420
+ name: p.name,
421
+ type: p.type,
422
+ usageCount: p.usageCount,
423
+ createdAt: p.createdAt,
424
+ })),
425
+ total: filtered.length,
426
+ };
427
+ }
428
+ if (action === 'get') {
429
+ const pattern = store.patterns[input.patternId];
430
+ if (!pattern) {
431
+ return { success: false, error: 'Pattern not found' };
432
+ }
433
+ return { success: true, pattern };
434
+ }
435
+ if (action === 'store') {
436
+ const patternId = `pattern-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`;
437
+ const patternName = input.name || 'Unnamed pattern';
438
+ // Generate embedding from pattern name/content
439
+ const embedding = await generateEmbedding(patternName, 384);
440
+ const pattern = {
441
+ id: patternId,
442
+ name: patternName,
443
+ type: input.type || 'general',
444
+ embedding,
445
+ metadata: input.data || {},
446
+ createdAt: new Date().toISOString(),
447
+ usageCount: 0,
448
+ };
449
+ store.patterns[patternId] = pattern;
450
+ saveNeuralStore(store);
451
+ return {
452
+ success: true,
453
+ _realEmbedding: !!realEmbeddings,
454
+ _embeddingSource: embeddingServiceName,
455
+ embeddingProvider: embeddingServiceName,
456
+ patternId,
457
+ name: pattern.name,
458
+ type: pattern.type,
459
+ embeddingDims: embedding.length,
460
+ createdAt: pattern.createdAt,
461
+ };
462
+ }
463
+ if (action === 'search') {
464
+ const query = input.query;
465
+ // Generate query embedding for real similarity search
466
+ const queryEmbedding = await generateEmbedding(query, 384);
467
+ // Calculate REAL cosine similarity against stored patterns
468
+ const results = Object.values(store.patterns)
469
+ .map(p => ({
470
+ ...p,
471
+ similarity: cosineSimilarity(queryEmbedding, p.embedding),
472
+ }))
473
+ .sort((a, b) => b.similarity - a.similarity)
474
+ .slice(0, 10);
475
+ return {
476
+ _realSimilarity: true,
477
+ _realEmbedding: !!realEmbeddings,
478
+ _embeddingSource: embeddingServiceName,
479
+ embeddingProvider: embeddingServiceName,
480
+ query,
481
+ results: results.map(r => ({
482
+ id: r.id,
483
+ name: r.name,
484
+ type: r.type,
485
+ similarity: r.similarity,
486
+ })),
487
+ total: results.length,
488
+ };
489
+ }
490
+ if (action === 'delete') {
491
+ const patternId = input.patternId;
492
+ if (!store.patterns[patternId]) {
493
+ return { success: false, error: 'Pattern not found' };
494
+ }
495
+ delete store.patterns[patternId];
496
+ saveNeuralStore(store);
497
+ return { success: true, deleted: patternId };
498
+ }
499
+ return { success: false, error: 'Unknown action' };
500
+ },
501
+ },
502
+ {
503
+ name: 'neural_compress',
504
+ description: 'Compress neural model or embeddings Use when nothing native trains on your workflow — Claude Code has no learning loop. Use to train SONA/MoE/EWC patterns from successful task outcomes; query via neural_predict before spawning agents. Off-path for one-shot work.',
505
+ category: 'neural',
506
+ inputSchema: {
507
+ type: 'object',
508
+ properties: {
509
+ modelId: { type: 'string', description: 'Model ID to compress' },
510
+ method: { type: 'string', enum: ['quantize', 'prune', 'distill'], description: 'Compression method' },
511
+ targetSize: { type: 'number', description: 'Target size reduction (0-1)' },
512
+ },
513
+ },
514
+ handler: async (input) => {
515
+ if (input.modelId) {
516
+ const v = validateIdentifier(input.modelId, 'modelId');
517
+ if (!v.valid)
518
+ return { success: false, error: v.error };
519
+ }
520
+ const store = loadNeuralStore();
521
+ const method = input.method || 'quantize';
522
+ const targetReduction = input.targetSize || 0.5;
523
+ const patterns = Object.values(store.patterns);
524
+ if (patterns.length === 0) {
525
+ return { success: false, error: 'No patterns to compress. Train patterns first with neural_train.' };
526
+ }
527
+ const beforeCount = patterns.length;
528
+ const beforeSize = patterns.reduce((s, p) => s + (p.embedding?.length || 0) * 4, 0); // Float32 = 4 bytes
529
+ if (method === 'quantize') {
530
+ try {
531
+ const { quantizeInt8, getQuantizationStats } = await import('../memory/memory-initializer.js');
532
+ let totalCompressed = 0;
533
+ for (const pattern of patterns) {
534
+ if (pattern.embedding && pattern.embedding.length > 0) {
535
+ const stats = getQuantizationStats(pattern.embedding);
536
+ const quantized = quantizeInt8(pattern.embedding);
537
+ // Store quantized metadata (keep original embedding for search)
538
+ pattern._quantized = {
539
+ scale: quantized.scale,
540
+ zeroPoint: quantized.zeroPoint,
541
+ compressionRatio: stats.compressionRatio,
542
+ };
543
+ totalCompressed++;
544
+ }
545
+ }
546
+ saveNeuralStore(store);
547
+ return {
548
+ success: true, _real: true, method,
549
+ embeddingProvider: embeddingServiceName,
550
+ patternsCompressed: totalCompressed,
551
+ compressionRatio: '3.92x (Int8)',
552
+ beforeBytes: beforeSize,
553
+ afterBytes: Math.round(beforeSize / 3.92),
554
+ };
555
+ }
556
+ catch {
557
+ return { success: false, error: 'Quantization requires memory-initializer. Run `memory init` first.' };
558
+ }
559
+ }
560
+ if (method === 'prune') {
561
+ // Prune patterns with low usage count below threshold (targetReduction as min usage)
562
+ const threshold = targetReduction;
563
+ const toRemove = [];
564
+ for (const [id, pattern] of Object.entries(store.patterns)) {
565
+ if ((pattern.usageCount || 0) < threshold)
566
+ toRemove.push(id);
567
+ }
568
+ for (const id of toRemove)
569
+ delete store.patterns[id];
570
+ saveNeuralStore(store);
571
+ return {
572
+ success: true, _real: true, method,
573
+ embeddingProvider: embeddingServiceName,
574
+ threshold,
575
+ patternsRemoved: toRemove.length,
576
+ patternsBefore: beforeCount,
577
+ patternsAfter: Object.keys(store.patterns).length,
578
+ };
579
+ }
580
+ if (method === 'distill') {
581
+ // Merge similar patterns by cosine similarity > 0.95
582
+ const patternList = Object.entries(store.patterns);
583
+ const merged = [];
584
+ for (let i = 0; i < patternList.length; i++) {
585
+ const [idA, a] = patternList[i];
586
+ if (merged.includes(idA))
587
+ continue;
588
+ for (let j = i + 1; j < patternList.length; j++) {
589
+ const [idB, b] = patternList[j];
590
+ if (!a.embedding || !b.embedding || merged.includes(idB))
591
+ continue;
592
+ const sim = cosineSimilarity(a.embedding, b.embedding);
593
+ if (sim > 0.95) {
594
+ // Merge: average embeddings, keep higher usage count
595
+ for (let k = 0; k < a.embedding.length; k++) {
596
+ a.embedding[k] = (a.embedding[k] + (b.embedding[k] || 0)) / 2;
597
+ }
598
+ a.usageCount = Math.max(a.usageCount || 0, b.usageCount || 0);
599
+ delete store.patterns[idB];
600
+ merged.push(idB);
601
+ }
602
+ }
603
+ }
604
+ saveNeuralStore(store);
605
+ return {
606
+ success: true, _real: true, method,
607
+ embeddingProvider: embeddingServiceName,
608
+ patternsMerged: merged.length,
609
+ patternsBefore: beforeCount,
610
+ patternsAfter: Object.keys(store.patterns).length,
611
+ };
612
+ }
613
+ return { success: false, error: `Unknown method: ${method}. Use quantize, prune, or distill.` };
614
+ },
615
+ },
616
+ {
617
+ name: 'neural_status',
618
+ description: 'Get neural system status Use when nothing native trains on your workflow — Claude Code has no learning loop. Use to train SONA/MoE/EWC patterns from successful task outcomes; query via neural_predict before spawning agents. Off-path for one-shot work.',
619
+ category: 'neural',
620
+ inputSchema: {
621
+ type: 'object',
622
+ properties: {
623
+ modelId: { type: 'string', description: 'Specific model ID' },
624
+ detailed: { type: 'boolean', description: 'Include detailed info' },
625
+ },
626
+ },
627
+ handler: async (input) => {
628
+ if (input.modelId) {
629
+ const v = validateIdentifier(input.modelId, 'modelId');
630
+ if (!v.valid)
631
+ return { success: false, error: v.error };
632
+ }
633
+ const store = loadNeuralStore();
634
+ if (input.modelId) {
635
+ const model = store.models[input.modelId];
636
+ if (!model) {
637
+ return { success: false, error: 'Model not found' };
638
+ }
639
+ return { success: true, model };
640
+ }
641
+ const models = Object.values(store.models);
642
+ const patterns = Object.values(store.patterns);
643
+ return {
644
+ _realEmbeddings: !!realEmbeddings,
645
+ embeddingProvider: realEmbeddings ? `@claude-flow/embeddings (${embeddingServiceName})` : 'hash-based (deterministic)',
646
+ models: {
647
+ total: models.length,
648
+ ready: models.filter(m => m.status === 'ready').length,
649
+ training: models.filter(m => m.status === 'training').length,
650
+ avgAccuracy: models.length > 0
651
+ ? models.reduce((sum, m) => sum + m.accuracy, 0) / models.length
652
+ : 0,
653
+ },
654
+ patterns: {
655
+ total: patterns.length,
656
+ byType: patterns.reduce((acc, p) => {
657
+ acc[p.type] = (acc[p.type] || 0) + 1;
658
+ return acc;
659
+ }, {}),
660
+ totalEmbeddingDims: patterns.length > 0 ? patterns[0].embedding.length : 384,
661
+ },
662
+ features: {
663
+ hnsw: true,
664
+ quantization: true,
665
+ // #1770: probe the real loader instead of returning a literal false.
666
+ // Was hardcoded false, which contradicted hooks_intelligence_stats's
667
+ // simultaneous claim of `implementation: real-flash-attention`.
668
+ // The two surfaces now agree on a single source of truth.
669
+ flashAttention: await (async () => {
670
+ try {
671
+ // #1773 item 4 — flash-attention now lives in @claude-flow/neural
672
+ const { getFlashAttention } = await import('@claude-flow/neural');
673
+ return getFlashAttention() !== null;
674
+ }
675
+ catch {
676
+ return false;
677
+ }
678
+ })(),
679
+ reasoningBank: true,
680
+ },
681
+ };
682
+ },
683
+ },
684
+ {
685
+ name: 'neural_optimize',
686
+ description: 'Optimize neural model performance Use when nothing native trains on your workflow — Claude Code has no learning loop. Use to train SONA/MoE/EWC patterns from successful task outcomes; query via neural_predict before spawning agents. Off-path for one-shot work.',
687
+ category: 'neural',
688
+ inputSchema: {
689
+ type: 'object',
690
+ properties: {
691
+ modelId: { type: 'string', description: 'Model ID to optimize' },
692
+ target: { type: 'string', enum: ['speed', 'memory', 'accuracy', 'balanced'], description: 'Optimization target' },
693
+ },
694
+ },
695
+ handler: async (input) => {
696
+ if (input.modelId) {
697
+ const v = validateIdentifier(input.modelId, 'modelId');
698
+ if (!v.valid)
699
+ return { success: false, error: v.error };
700
+ }
701
+ const store = loadNeuralStore();
702
+ const target = input.target || 'balanced';
703
+ const patterns = Object.values(store.patterns);
704
+ if (patterns.length === 0) {
705
+ return { success: false, error: 'No patterns to optimize. Train patterns first with neural_train.' };
706
+ }
707
+ const startTime = performance.now();
708
+ const actions = [];
709
+ const beforeCount = patterns.length;
710
+ const dims = patterns[0]?.embedding?.length || 0;
711
+ let patternsRemoved = 0;
712
+ let patternsQuantized = 0;
713
+ let duplicatesRemoved = 0;
714
+ // speed / balanced: deduplicate identical or near-identical patterns
715
+ if (target === 'speed' || target === 'balanced') {
716
+ const seen = new Map(); // hash -> id
717
+ for (const [id, p] of Object.entries(store.patterns)) {
718
+ if (!p.embedding || p.embedding.length === 0)
719
+ continue;
720
+ // Quick hash: first 8 dims rounded
721
+ const hash = p.embedding.slice(0, 8).map(v => v.toFixed(4)).join(',');
722
+ if (seen.has(hash)) {
723
+ // Verify with full cosine similarity
724
+ const existingId = seen.get(hash);
725
+ const existing = store.patterns[existingId];
726
+ if (existing && cosineSimilarity(p.embedding, existing.embedding) > 0.99) {
727
+ existing.usageCount = Math.max(existing.usageCount || 0, p.usageCount || 0);
728
+ delete store.patterns[id];
729
+ duplicatesRemoved++;
730
+ }
731
+ }
732
+ else {
733
+ seen.set(hash, id);
734
+ }
735
+ }
736
+ if (duplicatesRemoved > 0)
737
+ actions.push(`Removed ${duplicatesRemoved} near-duplicate patterns`);
738
+ }
739
+ // memory / balanced: quantize large embeddings
740
+ if (target === 'memory' || target === 'balanced') {
741
+ try {
742
+ const { quantizeInt8, getQuantizationStats } = await import('../memory/memory-initializer.js');
743
+ for (const p of Object.values(store.patterns)) {
744
+ if (p.embedding && p.embedding.length > 0 && !p._quantized) {
745
+ const stats = getQuantizationStats(p.embedding);
746
+ const q = quantizeInt8(p.embedding);
747
+ p._quantized = { scale: q.scale, zeroPoint: q.zeroPoint, compressionRatio: stats.compressionRatio };
748
+ patternsQuantized++;
749
+ }
750
+ }
751
+ if (patternsQuantized > 0)
752
+ actions.push(`Quantized ${patternsQuantized} pattern embeddings (Int8, ~3.92x)`);
753
+ }
754
+ catch {
755
+ actions.push('Quantization skipped (memory-initializer not available)');
756
+ }
757
+ }
758
+ // accuracy / balanced: prune low-usage, zero-embedding patterns
759
+ if (target === 'accuracy' || target === 'balanced') {
760
+ for (const [id, p] of Object.entries(store.patterns)) {
761
+ if (!p.embedding || p.embedding.length === 0) {
762
+ delete store.patterns[id];
763
+ patternsRemoved++;
764
+ continue;
765
+ }
766
+ // Remove patterns with all-zero embeddings (no useful signal)
767
+ const norm = p.embedding.reduce((s, v) => s + v * v, 0);
768
+ if (norm < 1e-10) {
769
+ delete store.patterns[id];
770
+ patternsRemoved++;
771
+ }
772
+ }
773
+ if (patternsRemoved > 0)
774
+ actions.push(`Pruned ${patternsRemoved} empty/zero-signal patterns`);
775
+ }
776
+ saveNeuralStore(store);
777
+ const elapsed = Math.round(performance.now() - startTime);
778
+ return {
779
+ success: true, _real: true, target,
780
+ embeddingProvider: embeddingServiceName,
781
+ actions,
782
+ patternsBefore: beforeCount,
783
+ patternsAfter: Object.keys(store.patterns).length,
784
+ duplicatesRemoved,
785
+ patternsQuantized,
786
+ patternsRemoved,
787
+ embeddingDims: dims,
788
+ elapsedMs: elapsed,
789
+ };
790
+ },
791
+ },
792
+ ];
793
+ //# sourceMappingURL=neural-tools.js.map