moflo 4.8.49 → 4.8.51

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 (439) hide show
  1. package/.claude/guidance/shipped/moflo-core-guidance.md +646 -646
  2. package/bin/cli.js +1 -1
  3. package/bin/hooks.mjs +607 -607
  4. package/bin/index-all.mjs +2 -2
  5. package/bin/session-start-launcher.mjs +272 -272
  6. package/package.json +22 -23
  7. package/src/{@claude-flow → packages}/cli/dist/src/init/claudemd-generator.js +45 -45
  8. package/src/{@claude-flow → packages}/cli/dist/src/init/executor.js +0 -4
  9. package/src/{@claude-flow → packages}/cli/dist/src/init/moflo-init.js +764 -764
  10. package/src/{@claude-flow → packages}/cli/dist/src/version.js +1 -1
  11. package/src/{@claude-flow → packages}/cli/package.json +1 -1
  12. package/.claude/agents/dual-mode/codex-coordinator.md +0 -224
  13. package/.claude/agents/dual-mode/codex-worker.md +0 -211
  14. package/.claude/agents/dual-mode/dual-orchestrator.md +0 -291
  15. package/.claude/agents/payments/agentic-payments.md +0 -126
  16. package/.claude/agents/sublinear/consensus-coordinator.md +0 -338
  17. package/.claude/agents/sublinear/matrix-optimizer.md +0 -185
  18. package/.claude/agents/sublinear/pagerank-analyzer.md +0 -299
  19. package/.claude/agents/sublinear/performance-optimizer.md +0 -368
  20. package/.claude/agents/sublinear/trading-predictor.md +0 -246
  21. package/.claude/agents/templates/automation-smart-agent.md +0 -205
  22. package/.claude/agents/templates/coordinator-swarm-init.md +0 -105
  23. package/.claude/agents/templates/github-pr-manager.md +0 -177
  24. package/.claude/agents/templates/implementer-sparc-coder.md +0 -259
  25. package/.claude/agents/templates/memory-coordinator.md +0 -187
  26. package/.claude/agents/templates/migration-plan.md +0 -746
  27. package/.claude/agents/templates/orchestrator-task.md +0 -139
  28. package/.claude/agents/templates/performance-analyzer.md +0 -199
  29. package/.claude/agents/templates/sparc-coordinator.md +0 -183
  30. package/.claude/commands/agents/README.md +0 -10
  31. package/.claude/commands/agents/agent-capabilities.md +0 -21
  32. package/.claude/commands/agents/agent-coordination.md +0 -28
  33. package/.claude/commands/agents/agent-spawning.md +0 -28
  34. package/.claude/commands/agents/agent-types.md +0 -26
  35. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +0 -54
  36. package/.claude/commands/analysis/README.md +0 -9
  37. package/.claude/commands/analysis/bottleneck-detect.md +0 -162
  38. package/.claude/commands/analysis/performance-bottlenecks.md +0 -59
  39. package/.claude/commands/analysis/performance-report.md +0 -25
  40. package/.claude/commands/analysis/token-efficiency.md +0 -45
  41. package/.claude/commands/analysis/token-usage.md +0 -25
  42. package/.claude/commands/automation/README.md +0 -9
  43. package/.claude/commands/automation/auto-agent.md +0 -122
  44. package/.claude/commands/automation/self-healing.md +0 -106
  45. package/.claude/commands/automation/session-memory.md +0 -90
  46. package/.claude/commands/automation/smart-agents.md +0 -73
  47. package/.claude/commands/automation/smart-spawn.md +0 -25
  48. package/.claude/commands/automation/workflow-select.md +0 -25
  49. package/.claude/commands/monitoring/README.md +0 -9
  50. package/.claude/commands/monitoring/agent-metrics.md +0 -25
  51. package/.claude/commands/monitoring/agents.md +0 -44
  52. package/.claude/commands/monitoring/real-time-view.md +0 -25
  53. package/.claude/commands/monitoring/status.md +0 -46
  54. package/.claude/commands/monitoring/swarm-monitor.md +0 -25
  55. package/.claude/commands/optimization/README.md +0 -9
  56. package/.claude/commands/optimization/auto-topology.md +0 -62
  57. package/.claude/commands/optimization/cache-manage.md +0 -25
  58. package/.claude/commands/optimization/parallel-execute.md +0 -25
  59. package/.claude/commands/optimization/parallel-execution.md +0 -50
  60. package/.claude/commands/optimization/topology-optimize.md +0 -25
  61. package/.claude/scripts/build-embeddings.mjs +0 -549
  62. package/.claude/scripts/generate-code-map.mjs +0 -956
  63. package/.claude/scripts/hooks.mjs +0 -607
  64. package/.claude/scripts/index-all.mjs +0 -193
  65. package/.claude/scripts/index-guidance.mjs +0 -917
  66. package/.claude/scripts/index-tests.mjs +0 -729
  67. package/.claude/scripts/lib/moflo-resolve.mjs +0 -14
  68. package/.claude/scripts/lib/process-manager.mjs +0 -256
  69. package/.claude/scripts/lib/registry-cleanup.cjs +0 -41
  70. package/.claude/scripts/semantic-search.mjs +0 -473
  71. package/.claude/scripts/session-start-launcher.mjs +0 -272
  72. package/src/@claude-flow/cli/dist/src/commands/orc.js +0 -767
  73. package/src/@claude-flow/cli/dist/src/services/container-worker-pool.js +0 -584
  74. package/src/@claude-flow/memory/dist/hybrid-backend.js +0 -569
  75. package/src/@claude-flow/memory/dist/hybrid-backend.test.js +0 -320
  76. package/src/@claude-flow/memory/dist/sqlite-backend.js +0 -572
  77. /package/src/{@claude-flow → packages}/cli/README.md +0 -0
  78. /package/src/{@claude-flow → packages}/cli/bin/cli.js +0 -0
  79. /package/src/{@claude-flow → packages}/cli/bin/mcp-server.js +0 -0
  80. /package/src/{@claude-flow → packages}/cli/bin/preinstall.cjs +0 -0
  81. /package/src/{@claude-flow → packages}/cli/dist/src/appliance/gguf-engine.js +0 -0
  82. /package/src/{@claude-flow → packages}/cli/dist/src/appliance/ruvllm-bridge.js +0 -0
  83. /package/src/{@claude-flow → packages}/cli/dist/src/appliance/rvfa-builder.js +0 -0
  84. /package/src/{@claude-flow → packages}/cli/dist/src/appliance/rvfa-distribution.js +0 -0
  85. /package/src/{@claude-flow → packages}/cli/dist/src/appliance/rvfa-format.js +0 -0
  86. /package/src/{@claude-flow → packages}/cli/dist/src/appliance/rvfa-runner.js +0 -0
  87. /package/src/{@claude-flow → packages}/cli/dist/src/appliance/rvfa-signing.js +0 -0
  88. /package/src/{@claude-flow → packages}/cli/dist/src/benchmarks/pretrain/index.js +0 -0
  89. /package/src/{@claude-flow → packages}/cli/dist/src/commands/agent.js +0 -0
  90. /package/src/{@claude-flow → packages}/cli/dist/src/commands/analyze.js +0 -0
  91. /package/src/{@claude-flow → packages}/cli/dist/src/commands/appliance-advanced.js +0 -0
  92. /package/src/{@claude-flow → packages}/cli/dist/src/commands/appliance.js +0 -0
  93. /package/src/{@claude-flow → packages}/cli/dist/src/commands/benchmark.js +0 -0
  94. /package/src/{@claude-flow → packages}/cli/dist/src/commands/claims.js +0 -0
  95. /package/src/{@claude-flow → packages}/cli/dist/src/commands/completions.js +0 -0
  96. /package/src/{@claude-flow → packages}/cli/dist/src/commands/config.js +0 -0
  97. /package/src/{@claude-flow → packages}/cli/dist/src/commands/daemon.js +0 -0
  98. /package/src/{@claude-flow → packages}/cli/dist/src/commands/deployment.js +0 -0
  99. /package/src/{@claude-flow → packages}/cli/dist/src/commands/diagnose.js +0 -0
  100. /package/src/{@claude-flow → packages}/cli/dist/src/commands/doctor.js +0 -0
  101. /package/src/{@claude-flow → packages}/cli/dist/src/commands/embeddings.js +0 -0
  102. /package/src/{@claude-flow → packages}/cli/dist/src/commands/epic.js +0 -0
  103. /package/src/{@claude-flow → packages}/cli/dist/src/commands/gate.js +0 -0
  104. /package/src/{@claude-flow → packages}/cli/dist/src/commands/github.js +0 -0
  105. /package/src/{@claude-flow → packages}/cli/dist/src/commands/guidance.js +0 -0
  106. /package/src/{@claude-flow → packages}/cli/dist/src/commands/hive-mind.js +0 -0
  107. /package/src/{@claude-flow → packages}/cli/dist/src/commands/hooks.js +0 -0
  108. /package/src/{@claude-flow → packages}/cli/dist/src/commands/index.js +0 -0
  109. /package/src/{@claude-flow → packages}/cli/dist/src/commands/init.js +0 -0
  110. /package/src/{@claude-flow → packages}/cli/dist/src/commands/issues.js +0 -0
  111. /package/src/{@claude-flow → packages}/cli/dist/src/commands/mcp.js +0 -0
  112. /package/src/{@claude-flow → packages}/cli/dist/src/commands/memory.js +0 -0
  113. /package/src/{@claude-flow → packages}/cli/dist/src/commands/migrate.js +0 -0
  114. /package/src/{@claude-flow → packages}/cli/dist/src/commands/neural.js +0 -0
  115. /package/src/{@claude-flow → packages}/cli/dist/src/commands/performance.js +0 -0
  116. /package/src/{@claude-flow → packages}/cli/dist/src/commands/plugins.js +0 -0
  117. /package/src/{@claude-flow → packages}/cli/dist/src/commands/process.js +0 -0
  118. /package/src/{@claude-flow → packages}/cli/dist/src/commands/progress.js +0 -0
  119. /package/src/{@claude-flow → packages}/cli/dist/src/commands/providers.js +0 -0
  120. /package/src/{@claude-flow → packages}/cli/dist/src/commands/route.js +0 -0
  121. /package/src/{@claude-flow → packages}/cli/dist/src/commands/ruvector/backup.js +0 -0
  122. /package/src/{@claude-flow → packages}/cli/dist/src/commands/ruvector/benchmark.js +0 -0
  123. /package/src/{@claude-flow → packages}/cli/dist/src/commands/ruvector/import.js +0 -0
  124. /package/src/{@claude-flow → packages}/cli/dist/src/commands/ruvector/index.js +0 -0
  125. /package/src/{@claude-flow → packages}/cli/dist/src/commands/ruvector/init.js +0 -0
  126. /package/src/{@claude-flow → packages}/cli/dist/src/commands/ruvector/migrate.js +0 -0
  127. /package/src/{@claude-flow → packages}/cli/dist/src/commands/ruvector/optimize.js +0 -0
  128. /package/src/{@claude-flow → packages}/cli/dist/src/commands/ruvector/setup.js +0 -0
  129. /package/src/{@claude-flow → packages}/cli/dist/src/commands/ruvector/status.js +0 -0
  130. /package/src/{@claude-flow → packages}/cli/dist/src/commands/security.js +0 -0
  131. /package/src/{@claude-flow → packages}/cli/dist/src/commands/session.js +0 -0
  132. /package/src/{@claude-flow → packages}/cli/dist/src/commands/start.js +0 -0
  133. /package/src/{@claude-flow → packages}/cli/dist/src/commands/status.js +0 -0
  134. /package/src/{@claude-flow → packages}/cli/dist/src/commands/swarm.js +0 -0
  135. /package/src/{@claude-flow → packages}/cli/dist/src/commands/task.js +0 -0
  136. /package/src/{@claude-flow → packages}/cli/dist/src/commands/transfer-store.js +0 -0
  137. /package/src/{@claude-flow → packages}/cli/dist/src/commands/update.js +0 -0
  138. /package/src/{@claude-flow → packages}/cli/dist/src/commands/workflow.js +0 -0
  139. /package/src/{@claude-flow → packages}/cli/dist/src/config/moflo-config.js +0 -0
  140. /package/src/{@claude-flow → packages}/cli/dist/src/config-adapter.js +0 -0
  141. /package/src/{@claude-flow → packages}/cli/dist/src/index.js +0 -0
  142. /package/src/{@claude-flow → packages}/cli/dist/src/infrastructure/in-memory-repositories.js +0 -0
  143. /package/src/{@claude-flow → packages}/cli/dist/src/init/helpers-generator.js +0 -0
  144. /package/src/{@claude-flow → packages}/cli/dist/src/init/index.js +0 -0
  145. /package/src/{@claude-flow → packages}/cli/dist/src/init/mcp-generator.js +0 -0
  146. /package/src/{@claude-flow → packages}/cli/dist/src/init/settings-generator.js +0 -0
  147. /package/src/{@claude-flow → packages}/cli/dist/src/init/statusline-generator.js +0 -0
  148. /package/src/{@claude-flow → packages}/cli/dist/src/init/types.js +0 -0
  149. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-client.js +0 -0
  150. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-server.js +0 -0
  151. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/agent-tools.js +0 -0
  152. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/agentdb-tools.js +0 -0
  153. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/analyze-tools.js +0 -0
  154. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/auto-install.js +0 -0
  155. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/browser-tools.js +0 -0
  156. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/claims-tools.js +0 -0
  157. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/config-tools.js +0 -0
  158. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/coordination-tools.js +0 -0
  159. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/daa-tools.js +0 -0
  160. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/embeddings-tools.js +0 -0
  161. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/github-tools.js +0 -0
  162. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/hive-mind-tools.js +0 -0
  163. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/hooks-tools.js +0 -0
  164. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/index.js +0 -0
  165. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/memory-tools.js +0 -0
  166. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/neural-tools.js +0 -0
  167. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/performance-tools.js +0 -0
  168. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/progress-tools.js +0 -0
  169. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/security-tools.js +0 -0
  170. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/session-tools.js +0 -0
  171. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/swarm-tools.js +0 -0
  172. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/system-tools.js +0 -0
  173. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/task-tools.js +0 -0
  174. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/terminal-tools.js +0 -0
  175. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/transfer-tools.js +0 -0
  176. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/types.js +0 -0
  177. /package/src/{@claude-flow → packages}/cli/dist/src/mcp-tools/workflow-tools.js +0 -0
  178. /package/src/{@claude-flow → packages}/cli/dist/src/memory/ewc-consolidation.js +0 -0
  179. /package/src/{@claude-flow → packages}/cli/dist/src/memory/intelligence.js +0 -0
  180. /package/src/{@claude-flow → packages}/cli/dist/src/memory/memory-bridge.js +0 -0
  181. /package/src/{@claude-flow → packages}/cli/dist/src/memory/memory-initializer.js +0 -0
  182. /package/src/{@claude-flow → packages}/cli/dist/src/memory/sona-optimizer.js +0 -0
  183. /package/src/{@claude-flow → packages}/cli/dist/src/output.js +0 -0
  184. /package/src/{@claude-flow → packages}/cli/dist/src/parser.js +0 -0
  185. /package/src/{@claude-flow → packages}/cli/dist/src/plugins/manager.js +0 -0
  186. /package/src/{@claude-flow → packages}/cli/dist/src/plugins/store/discovery.js +0 -0
  187. /package/src/{@claude-flow → packages}/cli/dist/src/plugins/store/index.js +0 -0
  188. /package/src/{@claude-flow → packages}/cli/dist/src/plugins/store/search.js +0 -0
  189. /package/src/{@claude-flow → packages}/cli/dist/src/plugins/store/types.js +0 -0
  190. /package/src/{@claude-flow → packages}/cli/dist/src/plugins/tests/demo-plugin-store.js +0 -0
  191. /package/src/{@claude-flow → packages}/cli/dist/src/plugins/tests/standalone-test.js +0 -0
  192. /package/src/{@claude-flow → packages}/cli/dist/src/plugins/tests/test-plugin-store.js +0 -0
  193. /package/src/{@claude-flow → packages}/cli/dist/src/production/circuit-breaker.js +0 -0
  194. /package/src/{@claude-flow → packages}/cli/dist/src/production/error-handler.js +0 -0
  195. /package/src/{@claude-flow → packages}/cli/dist/src/production/index.js +0 -0
  196. /package/src/{@claude-flow → packages}/cli/dist/src/production/monitoring.js +0 -0
  197. /package/src/{@claude-flow → packages}/cli/dist/src/production/rate-limiter.js +0 -0
  198. /package/src/{@claude-flow → packages}/cli/dist/src/production/retry.js +0 -0
  199. /package/src/{@claude-flow → packages}/cli/dist/src/prompt.js +0 -0
  200. /package/src/{@claude-flow → packages}/cli/dist/src/runtime/headless.js +0 -0
  201. /package/src/{@claude-flow → packages}/cli/dist/src/ruvector/ast-analyzer.js +0 -0
  202. /package/src/{@claude-flow → packages}/cli/dist/src/ruvector/coverage-router.js +0 -0
  203. /package/src/{@claude-flow → packages}/cli/dist/src/ruvector/coverage-tools.js +0 -0
  204. /package/src/{@claude-flow → packages}/cli/dist/src/ruvector/diff-classifier.js +0 -0
  205. /package/src/{@claude-flow → packages}/cli/dist/src/ruvector/enhanced-model-router.js +0 -0
  206. /package/src/{@claude-flow → packages}/cli/dist/src/ruvector/flash-attention.js +0 -0
  207. /package/src/{@claude-flow → packages}/cli/dist/src/ruvector/graph-analyzer.js +0 -0
  208. /package/src/{@claude-flow → packages}/cli/dist/src/ruvector/index.js +0 -0
  209. /package/src/{@claude-flow → packages}/cli/dist/src/ruvector/lora-adapter.js +0 -0
  210. /package/src/{@claude-flow → packages}/cli/dist/src/ruvector/model-router.js +0 -0
  211. /package/src/{@claude-flow → packages}/cli/dist/src/ruvector/moe-router.js +0 -0
  212. /package/src/{@claude-flow → packages}/cli/dist/src/ruvector/q-learning-router.js +0 -0
  213. /package/src/{@claude-flow → packages}/cli/dist/src/ruvector/semantic-router.js +0 -0
  214. /package/src/{@claude-flow → packages}/cli/dist/src/ruvector/vector-db.js +0 -0
  215. /package/src/{@claude-flow → packages}/cli/dist/src/services/agent-router.js +0 -0
  216. /package/src/{@claude-flow → packages}/cli/dist/src/services/agentic-flow-bridge.js +0 -0
  217. /package/src/{@claude-flow → packages}/cli/dist/src/services/claim-service.js +0 -0
  218. /package/src/{@claude-flow → packages}/cli/dist/src/services/daemon-lock.js +0 -0
  219. /package/src/{@claude-flow → packages}/cli/dist/src/services/headless-worker-executor.js +0 -0
  220. /package/src/{@claude-flow → packages}/cli/dist/src/services/index.js +0 -0
  221. /package/src/{@claude-flow → packages}/cli/dist/src/services/learning-service.js +0 -0
  222. /package/src/{@claude-flow → packages}/cli/dist/src/services/moflo-require.js +0 -0
  223. /package/src/{@claude-flow → packages}/cli/dist/src/services/registry-api.js +0 -0
  224. /package/src/{@claude-flow → packages}/cli/dist/src/services/ruvector-training.js +0 -0
  225. /package/src/{@claude-flow → packages}/cli/dist/src/services/worker-daemon.js +0 -0
  226. /package/src/{@claude-flow → packages}/cli/dist/src/services/worker-queue.js +0 -0
  227. /package/src/{@claude-flow → packages}/cli/dist/src/services/workflow-gate.js +0 -0
  228. /package/src/{@claude-flow → packages}/cli/dist/src/suggest.js +0 -0
  229. /package/src/{@claude-flow → packages}/cli/dist/src/transfer/anonymization/index.js +0 -0
  230. /package/src/{@claude-flow → packages}/cli/dist/src/transfer/deploy-seraphine.js +0 -0
  231. /package/src/{@claude-flow → packages}/cli/dist/src/transfer/export.js +0 -0
  232. /package/src/{@claude-flow → packages}/cli/dist/src/transfer/index.js +0 -0
  233. /package/src/{@claude-flow → packages}/cli/dist/src/transfer/ipfs/client.js +0 -0
  234. /package/src/{@claude-flow → packages}/cli/dist/src/transfer/ipfs/upload.js +0 -0
  235. /package/src/{@claude-flow → packages}/cli/dist/src/transfer/models/seraphine.js +0 -0
  236. /package/src/{@claude-flow → packages}/cli/dist/src/transfer/serialization/cfp.js +0 -0
  237. /package/src/{@claude-flow → packages}/cli/dist/src/transfer/storage/gcs.js +0 -0
  238. /package/src/{@claude-flow → packages}/cli/dist/src/transfer/storage/index.js +0 -0
  239. /package/src/{@claude-flow → packages}/cli/dist/src/transfer/store/discovery.js +0 -0
  240. /package/src/{@claude-flow → packages}/cli/dist/src/transfer/store/download.js +0 -0
  241. /package/src/{@claude-flow → packages}/cli/dist/src/transfer/store/index.js +0 -0
  242. /package/src/{@claude-flow → packages}/cli/dist/src/transfer/store/publish.js +0 -0
  243. /package/src/{@claude-flow → packages}/cli/dist/src/transfer/store/registry.js +0 -0
  244. /package/src/{@claude-flow → packages}/cli/dist/src/transfer/store/search.js +0 -0
  245. /package/src/{@claude-flow → packages}/cli/dist/src/transfer/store/tests/standalone-test.js +0 -0
  246. /package/src/{@claude-flow → packages}/cli/dist/src/transfer/store/types.js +0 -0
  247. /package/src/{@claude-flow → packages}/cli/dist/src/transfer/test-seraphine.js +0 -0
  248. /package/src/{@claude-flow → packages}/cli/dist/src/transfer/tests/test-store.js +0 -0
  249. /package/src/{@claude-flow → packages}/cli/dist/src/transfer/types.js +0 -0
  250. /package/src/{@claude-flow → packages}/cli/dist/src/types.js +0 -0
  251. /package/src/{@claude-flow → packages}/cli/dist/src/update/checker.js +0 -0
  252. /package/src/{@claude-flow → packages}/cli/dist/src/update/executor.js +0 -0
  253. /package/src/{@claude-flow → packages}/cli/dist/src/update/index.js +0 -0
  254. /package/src/{@claude-flow → packages}/cli/dist/src/update/rate-limiter.js +0 -0
  255. /package/src/{@claude-flow → packages}/cli/dist/src/update/validator.js +0 -0
  256. /package/src/{@claude-flow → packages}/guidance/README.md +0 -0
  257. /package/src/{@claude-flow → packages}/guidance/dist/adversarial.js +0 -0
  258. /package/src/{@claude-flow → packages}/guidance/dist/analyzer.js +0 -0
  259. /package/src/{@claude-flow → packages}/guidance/dist/artifacts.js +0 -0
  260. /package/src/{@claude-flow → packages}/guidance/dist/authority.js +0 -0
  261. /package/src/{@claude-flow → packages}/guidance/dist/capabilities.js +0 -0
  262. /package/src/{@claude-flow → packages}/guidance/dist/coherence.js +0 -0
  263. /package/src/{@claude-flow → packages}/guidance/dist/compiler.js +0 -0
  264. /package/src/{@claude-flow → packages}/guidance/dist/conformance-kit.js +0 -0
  265. /package/src/{@claude-flow → packages}/guidance/dist/continue-gate.js +0 -0
  266. /package/src/{@claude-flow → packages}/guidance/dist/crypto-utils.js +0 -0
  267. /package/src/{@claude-flow → packages}/guidance/dist/evolution.js +0 -0
  268. /package/src/{@claude-flow → packages}/guidance/dist/gates.js +0 -0
  269. /package/src/{@claude-flow → packages}/guidance/dist/gateway.js +0 -0
  270. /package/src/{@claude-flow → packages}/guidance/dist/generators.js +0 -0
  271. /package/src/{@claude-flow → packages}/guidance/dist/headless.js +0 -0
  272. /package/src/{@claude-flow → packages}/guidance/dist/hooks.js +0 -0
  273. /package/src/{@claude-flow → packages}/guidance/dist/index.js +0 -0
  274. /package/src/{@claude-flow → packages}/guidance/dist/ledger.js +0 -0
  275. /package/src/{@claude-flow → packages}/guidance/dist/manifest-validator.js +0 -0
  276. /package/src/{@claude-flow → packages}/guidance/dist/memory-gate.js +0 -0
  277. /package/src/{@claude-flow → packages}/guidance/dist/meta-governance.js +0 -0
  278. /package/src/{@claude-flow → packages}/guidance/dist/optimizer.js +0 -0
  279. /package/src/{@claude-flow → packages}/guidance/dist/persistence.js +0 -0
  280. /package/src/{@claude-flow → packages}/guidance/dist/proof.js +0 -0
  281. /package/src/{@claude-flow → packages}/guidance/dist/retriever.js +0 -0
  282. /package/src/{@claude-flow → packages}/guidance/dist/ruvbot-integration.js +0 -0
  283. /package/src/{@claude-flow → packages}/guidance/dist/temporal.js +0 -0
  284. /package/src/{@claude-flow → packages}/guidance/dist/trust.js +0 -0
  285. /package/src/{@claude-flow → packages}/guidance/dist/truth-anchors.js +0 -0
  286. /package/src/{@claude-flow → packages}/guidance/dist/types.js +0 -0
  287. /package/src/{@claude-flow → packages}/guidance/dist/uncertainty.js +0 -0
  288. /package/src/{@claude-flow → packages}/guidance/dist/wasm-kernel.js +0 -0
  289. /package/src/{@claude-flow → packages}/guidance/package.json +0 -0
  290. /package/src/{@claude-flow → packages}/memory/README.md +0 -0
  291. /package/src/{@claude-flow → packages}/memory/dist/agent-memory-scope.js +0 -0
  292. /package/src/{@claude-flow → packages}/memory/dist/agent-memory-scope.test.js +0 -0
  293. /package/src/{@claude-flow → packages}/memory/dist/agentdb-adapter.js +0 -0
  294. /package/src/{@claude-flow → packages}/memory/dist/agentdb-backend.js +0 -0
  295. /package/src/{@claude-flow → packages}/memory/dist/agentdb-backend.test.js +0 -0
  296. /package/src/{@claude-flow → packages}/memory/dist/application/commands/delete-memory.command.js +0 -0
  297. /package/src/{@claude-flow → packages}/memory/dist/application/commands/store-memory.command.js +0 -0
  298. /package/src/{@claude-flow → packages}/memory/dist/application/index.js +0 -0
  299. /package/src/{@claude-flow → packages}/memory/dist/application/queries/search-memory.query.js +0 -0
  300. /package/src/{@claude-flow → packages}/memory/dist/application/services/memory-application-service.js +0 -0
  301. /package/src/{@claude-flow → packages}/memory/dist/auto-memory-bridge.js +0 -0
  302. /package/src/{@claude-flow → packages}/memory/dist/auto-memory-bridge.test.js +0 -0
  303. /package/src/{@claude-flow → packages}/memory/dist/benchmark.test.js +0 -0
  304. /package/src/{@claude-flow → packages}/memory/dist/cache-manager.js +0 -0
  305. /package/src/{@claude-flow → packages}/memory/dist/controller-registry.js +0 -0
  306. /package/src/{@claude-flow → packages}/memory/dist/controller-registry.test.js +0 -0
  307. /package/src/{@claude-flow → packages}/memory/dist/database-provider.js +0 -0
  308. /package/src/{@claude-flow → packages}/memory/dist/database-provider.test.js +0 -0
  309. /package/src/{@claude-flow → packages}/memory/dist/domain/entities/memory-entry.js +0 -0
  310. /package/src/{@claude-flow → packages}/memory/dist/domain/index.js +0 -0
  311. /package/src/{@claude-flow → packages}/memory/dist/domain/repositories/memory-repository.interface.js +0 -0
  312. /package/src/{@claude-flow → packages}/memory/dist/domain/services/memory-domain-service.js +0 -0
  313. /package/src/{@claude-flow → packages}/memory/dist/hnsw-index.js +0 -0
  314. /package/src/{@claude-flow → packages}/memory/dist/hnsw-lite.js +0 -0
  315. /package/src/{@claude-flow → packages}/memory/dist/index.js +0 -0
  316. /package/src/{@claude-flow → packages}/memory/dist/infrastructure/index.js +0 -0
  317. /package/src/{@claude-flow → packages}/memory/dist/infrastructure/repositories/hybrid-memory-repository.js +0 -0
  318. /package/src/{@claude-flow → packages}/memory/dist/learning-bridge.js +0 -0
  319. /package/src/{@claude-flow → packages}/memory/dist/learning-bridge.test.js +0 -0
  320. /package/src/{@claude-flow → packages}/memory/dist/memory-graph.js +0 -0
  321. /package/src/{@claude-flow → packages}/memory/dist/memory-graph.test.js +0 -0
  322. /package/src/{@claude-flow → packages}/memory/dist/migration.js +0 -0
  323. /package/src/{@claude-flow → packages}/memory/dist/persistent-sona.js +0 -0
  324. /package/src/{@claude-flow → packages}/memory/dist/query-builder.js +0 -0
  325. /package/src/{@claude-flow → packages}/memory/dist/rvf-backend.js +0 -0
  326. /package/src/{@claude-flow → packages}/memory/dist/rvf-learning-store.js +0 -0
  327. /package/src/{@claude-flow → packages}/memory/dist/rvf-migration.js +0 -0
  328. /package/src/{@claude-flow → packages}/memory/dist/sqljs-backend.js +0 -0
  329. /package/src/{@claude-flow → packages}/memory/dist/types.js +0 -0
  330. /package/src/{@claude-flow → packages}/memory/package.json +0 -0
  331. /package/src/{@claude-flow → packages}/neural/README.md +0 -0
  332. /package/src/{@claude-flow → packages}/neural/dist/algorithms/a2c.js +0 -0
  333. /package/src/{@claude-flow → packages}/neural/dist/algorithms/curiosity.js +0 -0
  334. /package/src/{@claude-flow → packages}/neural/dist/algorithms/decision-transformer.js +0 -0
  335. /package/src/{@claude-flow → packages}/neural/dist/algorithms/dqn.js +0 -0
  336. /package/src/{@claude-flow → packages}/neural/dist/algorithms/index.js +0 -0
  337. /package/src/{@claude-flow → packages}/neural/dist/algorithms/ppo.js +0 -0
  338. /package/src/{@claude-flow → packages}/neural/dist/algorithms/q-learning.js +0 -0
  339. /package/src/{@claude-flow → packages}/neural/dist/algorithms/sarsa.js +0 -0
  340. /package/src/{@claude-flow → packages}/neural/dist/application/index.js +0 -0
  341. /package/src/{@claude-flow → packages}/neural/dist/application/services/neural-application-service.js +0 -0
  342. /package/src/{@claude-flow → packages}/neural/dist/domain/entities/pattern.js +0 -0
  343. /package/src/{@claude-flow → packages}/neural/dist/domain/index.js +0 -0
  344. /package/src/{@claude-flow → packages}/neural/dist/domain/services/learning-service.js +0 -0
  345. /package/src/{@claude-flow → packages}/neural/dist/index.js +0 -0
  346. /package/src/{@claude-flow → packages}/neural/dist/modes/balanced.js +0 -0
  347. /package/src/{@claude-flow → packages}/neural/dist/modes/base.js +0 -0
  348. /package/src/{@claude-flow → packages}/neural/dist/modes/batch.js +0 -0
  349. /package/src/{@claude-flow → packages}/neural/dist/modes/edge.js +0 -0
  350. /package/src/{@claude-flow → packages}/neural/dist/modes/index.js +0 -0
  351. /package/src/{@claude-flow → packages}/neural/dist/modes/real-time.js +0 -0
  352. /package/src/{@claude-flow → packages}/neural/dist/modes/research.js +0 -0
  353. /package/src/{@claude-flow → packages}/neural/dist/pattern-learner.js +0 -0
  354. /package/src/{@claude-flow → packages}/neural/dist/reasoning-bank.js +0 -0
  355. /package/src/{@claude-flow → packages}/neural/dist/reasoningbank-adapter.js +0 -0
  356. /package/src/{@claude-flow → packages}/neural/dist/sona-integration.js +0 -0
  357. /package/src/{@claude-flow → packages}/neural/dist/sona-manager.js +0 -0
  358. /package/src/{@claude-flow → packages}/neural/dist/types.js +0 -0
  359. /package/src/{@claude-flow → packages}/neural/package.json +0 -0
  360. /package/src/{@claude-flow → packages}/shared/README.md +0 -0
  361. /package/src/{@claude-flow → packages}/shared/dist/core/config/defaults.js +0 -0
  362. /package/src/{@claude-flow → packages}/shared/dist/core/config/index.js +0 -0
  363. /package/src/{@claude-flow → packages}/shared/dist/core/config/loader.js +0 -0
  364. /package/src/{@claude-flow → packages}/shared/dist/core/config/schema.js +0 -0
  365. /package/src/{@claude-flow → packages}/shared/dist/core/config/validator.js +0 -0
  366. /package/src/{@claude-flow → packages}/shared/dist/core/event-bus.js +0 -0
  367. /package/src/{@claude-flow → packages}/shared/dist/core/index.js +0 -0
  368. /package/src/{@claude-flow → packages}/shared/dist/core/interfaces/agent.interface.js +0 -0
  369. /package/src/{@claude-flow → packages}/shared/dist/core/interfaces/coordinator.interface.js +0 -0
  370. /package/src/{@claude-flow → packages}/shared/dist/core/interfaces/event.interface.js +0 -0
  371. /package/src/{@claude-flow → packages}/shared/dist/core/interfaces/index.js +0 -0
  372. /package/src/{@claude-flow → packages}/shared/dist/core/interfaces/memory.interface.js +0 -0
  373. /package/src/{@claude-flow → packages}/shared/dist/core/interfaces/task.interface.js +0 -0
  374. /package/src/{@claude-flow → packages}/shared/dist/core/orchestrator/event-coordinator.js +0 -0
  375. /package/src/{@claude-flow → packages}/shared/dist/core/orchestrator/health-monitor.js +0 -0
  376. /package/src/{@claude-flow → packages}/shared/dist/core/orchestrator/index.js +0 -0
  377. /package/src/{@claude-flow → packages}/shared/dist/core/orchestrator/lifecycle-manager.js +0 -0
  378. /package/src/{@claude-flow → packages}/shared/dist/core/orchestrator/session-manager.js +0 -0
  379. /package/src/{@claude-flow → packages}/shared/dist/core/orchestrator/task-manager.js +0 -0
  380. /package/src/{@claude-flow → packages}/shared/dist/events/domain-events.js +0 -0
  381. /package/src/{@claude-flow → packages}/shared/dist/events/event-store.js +0 -0
  382. /package/src/{@claude-flow → packages}/shared/dist/events/event-store.test.js +0 -0
  383. /package/src/{@claude-flow → packages}/shared/dist/events/example-usage.js +0 -0
  384. /package/src/{@claude-flow → packages}/shared/dist/events/index.js +0 -0
  385. /package/src/{@claude-flow → packages}/shared/dist/events/projections.js +0 -0
  386. /package/src/{@claude-flow → packages}/shared/dist/events/rvf-event-log.js +0 -0
  387. /package/src/{@claude-flow → packages}/shared/dist/events/state-reconstructor.js +0 -0
  388. /package/src/{@claude-flow → packages}/shared/dist/events.js +0 -0
  389. /package/src/{@claude-flow → packages}/shared/dist/hooks/example-usage.js +0 -0
  390. /package/src/{@claude-flow → packages}/shared/dist/hooks/executor.js +0 -0
  391. /package/src/{@claude-flow → packages}/shared/dist/hooks/hooks.test.js +0 -0
  392. /package/src/{@claude-flow → packages}/shared/dist/hooks/index.js +0 -0
  393. /package/src/{@claude-flow → packages}/shared/dist/hooks/registry.js +0 -0
  394. /package/src/{@claude-flow → packages}/shared/dist/hooks/safety/bash-safety.js +0 -0
  395. /package/src/{@claude-flow → packages}/shared/dist/hooks/safety/file-organization.js +0 -0
  396. /package/src/{@claude-flow → packages}/shared/dist/hooks/safety/git-commit.js +0 -0
  397. /package/src/{@claude-flow → packages}/shared/dist/hooks/safety/index.js +0 -0
  398. /package/src/{@claude-flow → packages}/shared/dist/hooks/session-hooks.js +0 -0
  399. /package/src/{@claude-flow → packages}/shared/dist/hooks/task-hooks.js +0 -0
  400. /package/src/{@claude-flow → packages}/shared/dist/hooks/types.js +0 -0
  401. /package/src/{@claude-flow → packages}/shared/dist/hooks/verify-exports.test.js +0 -0
  402. /package/src/{@claude-flow → packages}/shared/dist/index.js +0 -0
  403. /package/src/{@claude-flow → packages}/shared/dist/mcp/connection-pool.js +0 -0
  404. /package/src/{@claude-flow → packages}/shared/dist/mcp/index.js +0 -0
  405. /package/src/{@claude-flow → packages}/shared/dist/mcp/server.js +0 -0
  406. /package/src/{@claude-flow → packages}/shared/dist/mcp/session-manager.js +0 -0
  407. /package/src/{@claude-flow → packages}/shared/dist/mcp/tool-registry.js +0 -0
  408. /package/src/{@claude-flow → packages}/shared/dist/mcp/transport/http.js +0 -0
  409. /package/src/{@claude-flow → packages}/shared/dist/mcp/transport/index.js +0 -0
  410. /package/src/{@claude-flow → packages}/shared/dist/mcp/transport/stdio.js +0 -0
  411. /package/src/{@claude-flow → packages}/shared/dist/mcp/transport/websocket.js +0 -0
  412. /package/src/{@claude-flow → packages}/shared/dist/mcp/types.js +0 -0
  413. /package/src/{@claude-flow → packages}/shared/dist/plugin-interface.js +0 -0
  414. /package/src/{@claude-flow → packages}/shared/dist/plugin-loader.js +0 -0
  415. /package/src/{@claude-flow → packages}/shared/dist/plugin-registry.js +0 -0
  416. /package/src/{@claude-flow → packages}/shared/dist/plugins/index.js +0 -0
  417. /package/src/{@claude-flow → packages}/shared/dist/plugins/official/hive-mind-plugin.js +0 -0
  418. /package/src/{@claude-flow → packages}/shared/dist/plugins/official/index.js +0 -0
  419. /package/src/{@claude-flow → packages}/shared/dist/plugins/official/maestro-plugin.js +0 -0
  420. /package/src/{@claude-flow → packages}/shared/dist/plugins/types.js +0 -0
  421. /package/src/{@claude-flow → packages}/shared/dist/resilience/bulkhead.js +0 -0
  422. /package/src/{@claude-flow → packages}/shared/dist/resilience/circuit-breaker.js +0 -0
  423. /package/src/{@claude-flow → packages}/shared/dist/resilience/index.js +0 -0
  424. /package/src/{@claude-flow → packages}/shared/dist/resilience/rate-limiter.js +0 -0
  425. /package/src/{@claude-flow → packages}/shared/dist/resilience/retry.js +0 -0
  426. /package/src/{@claude-flow → packages}/shared/dist/security/index.js +0 -0
  427. /package/src/{@claude-flow → packages}/shared/dist/security/input-validation.js +0 -0
  428. /package/src/{@claude-flow → packages}/shared/dist/security/secure-random.js +0 -0
  429. /package/src/{@claude-flow → packages}/shared/dist/services/index.js +0 -0
  430. /package/src/{@claude-flow → packages}/shared/dist/services/v3-progress.service.js +0 -0
  431. /package/src/{@claude-flow → packages}/shared/dist/types/agent.types.js +0 -0
  432. /package/src/{@claude-flow → packages}/shared/dist/types/index.js +0 -0
  433. /package/src/{@claude-flow → packages}/shared/dist/types/mcp.types.js +0 -0
  434. /package/src/{@claude-flow → packages}/shared/dist/types/memory.types.js +0 -0
  435. /package/src/{@claude-flow → packages}/shared/dist/types/swarm.types.js +0 -0
  436. /package/src/{@claude-flow → packages}/shared/dist/types/task.types.js +0 -0
  437. /package/src/{@claude-flow → packages}/shared/dist/types.js +0 -0
  438. /package/src/{@claude-flow → packages}/shared/dist/utils/secure-logger.js +0 -0
  439. /package/src/{@claude-flow → packages}/shared/package.json +0 -0
@@ -1,473 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Semantic search using 384-dim embeddings (Xenova/all-MiniLM-L6-v2 or hash fallback)
4
- *
5
- * Query embedding MUST match stored embedding model:
6
- * 1. Transformers.js with all-MiniLM-L6-v2 (best quality, matches build-embeddings)
7
- * 2. Domain-aware semantic hash embeddings (fallback when transformers unavailable)
8
- *
9
- * Usage:
10
- * node node_modules/moflo/bin/semantic-search.mjs "your search query"
11
- * npx flo-search "your search query"
12
- * npx flo-search "query" --limit 10
13
- * npx flo-search "query" --namespace guidance
14
- * npx flo-search "query" --threshold 0.3
15
- */
16
-
17
- import { existsSync, readFileSync } from 'fs';
18
- import { resolve, dirname } from 'path';
19
- import { mofloResolveURL } from './lib/moflo-resolve.mjs';
20
- const initSqlJs = (await import(mofloResolveURL('sql.js'))).default;
21
-
22
- function findProjectRoot() {
23
- let dir = process.cwd();
24
- const root = resolve(dir, '/');
25
- while (dir !== root) {
26
- if (existsSync(resolve(dir, 'package.json'))) return dir;
27
- dir = dirname(dir);
28
- }
29
- return process.cwd();
30
- }
31
-
32
- const projectRoot = findProjectRoot();
33
-
34
- const DB_PATH = resolve(projectRoot, '.swarm/memory.db');
35
- const EMBEDDING_DIMS = 384;
36
- const EMBEDDING_MODEL_NEURAL = 'Xenova/all-MiniLM-L6-v2';
37
- const EMBEDDING_MODEL_HASH = 'domain-aware-hash-v1';
38
- // 'onnx' is a legacy alias for the Xenova model — treat them as compatible vector spaces
39
- const NEURAL_ALIASES = new Set([EMBEDDING_MODEL_NEURAL, 'onnx']);
40
-
41
- // Parse args
42
- const args = process.argv.slice(2);
43
- const query = args.find(a => !a.startsWith('--'));
44
- const limit = args.includes('--limit') ? parseInt(args[args.indexOf('--limit') + 1]) : 5;
45
- let namespace = args.includes('--namespace') ? args[args.indexOf('--namespace') + 1] : null;
46
- const withTests = args.includes('--with-tests');
47
- const threshold = args.includes('--threshold') ? parseFloat(args[args.indexOf('--threshold') + 1]) : 0.3;
48
- const json = args.includes('--json');
49
- const debug = args.includes('--debug');
50
-
51
- // Auto-routing: when query mentions test-related terms, also search tests namespace
52
- const TEST_KEYWORDS = /\b(test|spec|coverage|assert|mock|stub|fixture|describe|jest|vitest|mocha|e2e|integration test)\b/i;
53
-
54
- if (!query) {
55
- console.error('Usage: npx flo-search "your query" [--limit N] [--namespace X] [--threshold N]');
56
- process.exit(1);
57
- }
58
-
59
- // ============================================================================
60
- // Transformers.js Neural Embeddings (primary — matches build-embeddings.mjs)
61
- // ============================================================================
62
-
63
- let pipeline = null;
64
- let useTransformers = false;
65
-
66
- async function loadTransformersModel() {
67
- try {
68
- const { env, pipeline: createPipeline } = await import(mofloResolveURL('@xenova/transformers'));
69
- env.allowLocalModels = false;
70
- env.backends.onnx.wasm.numThreads = 1;
71
-
72
- pipeline = await createPipeline('feature-extraction', EMBEDDING_MODEL_NEURAL, {
73
- quantized: false,
74
- });
75
-
76
- useTransformers = true;
77
- if (debug) console.error('[semantic-search] Using Transformers.js neural model');
78
- return true;
79
- } catch (err) {
80
- if (debug) console.error(`[semantic-search] Transformers.js unavailable: ${err.message?.split('\n')[0]}`);
81
- useTransformers = false;
82
- return false;
83
- }
84
- }
85
-
86
- async function generateNeuralEmbedding(text) {
87
- if (!pipeline) return null;
88
- try {
89
- const output = await pipeline(text, { pooling: 'mean', normalize: true });
90
- return Array.from(output.data);
91
- } catch {
92
- return null;
93
- }
94
- }
95
-
96
- // ============================================================================
97
- // Domain-Aware Semantic Hash Embeddings (fallback)
98
- // ============================================================================
99
-
100
- const DOMAIN_CLUSTERS = {
101
- database: ['typeorm', 'mongodb', 'database', 'entity', 'schema', 'table', 'collection',
102
- 'query', 'sql', 'nosql', 'orm', 'model', 'migration', 'repository', 'column',
103
- 'relation', 'foreign', 'primary', 'index', 'constraint', 'transaction',
104
- 'mikroorm', 'mikro', 'postgresql', 'postgres', 'soft', 'delete', 'deletedat'],
105
- frontend: ['react', 'component', 'ui', 'styling', 'css', 'html', 'jsx', 'tsx', 'frontend',
106
- 'material', 'mui', 'tailwind', 'dom', 'render', 'hook', 'state', 'props',
107
- 'redux', 'context', 'styled', 'emotion', 'theme', 'layout', 'responsive',
108
- 'mantis', 'syncfusion', 'scheduler', 'i18n', 'intl', 'locale'],
109
- backend: ['fastify', 'api', 'route', 'handler', 'rest', 'endpoint', 'server', 'controller',
110
- 'middleware', 'request', 'response', 'http', 'express', 'nest', 'graphql',
111
- 'websocket', 'socket', 'cors', 'auth', 'jwt', 'session', 'cookie',
112
- 'awilix', 'dependency', 'injection', 'scope'],
113
- testing: ['test', 'testing', 'vitest', 'jest', 'mock', 'spy', 'assert', 'expect', 'describe',
114
- 'it', 'spec', 'unit', 'integration', 'e2e', 'playwright', 'cypress', 'coverage',
115
- 'fixture', 'stub', 'fake', 'snapshot', 'beforeeach', 'aftereach',
116
- 'anti-pattern', 'antipattern', 'mocking'],
117
- tenancy: ['tenant', 'tenancy', 'companyid', 'company', 'isolation', 'multi', 'multitenant',
118
- 'organization', 'workspace', 'account', 'customer', 'client', 'subdomain'],
119
- security: ['security', 'auth', 'authentication', 'authorization', 'permission', 'role',
120
- 'access', 'token', 'jwt', 'oauth', 'password', 'encrypt', 'hash', 'salt',
121
- 'csrf', 'xss', 'injection', 'sanitize', 'validate', 'rbac'],
122
- patterns: ['pattern', 'service', 'factory', 'singleton', 'decorator', 'adapter', 'facade',
123
- 'observer', 'strategy', 'command', 'repository', 'usecase', 'domain', 'ddd',
124
- 'clean', 'architecture', 'solid', 'dry', 'kiss', 'functional', 'pipeasync'],
125
- workflow: ['workflow', 'pipeline', 'ci', 'cd', 'deploy', 'build', 'actions',
126
- 'hook', 'trigger', 'job', 'step', 'artifact', 'release', 'version', 'tag'],
127
- memory: ['memory', 'cache', 'store', 'persist', 'storage', 'redis', 'session', 'state',
128
- 'buffer', 'queue', 'stack', 'heap', 'gc', 'leak', 'embedding', 'vector', 'hnsw',
129
- 'semantic', 'search', 'index', 'retrieval'],
130
- agent: ['agent', 'swarm', 'coordinator', 'orchestrator', 'task', 'worker', 'spawn',
131
- 'parallel', 'concurrent', 'async', 'promise', 'queue', 'priority', 'schedule'],
132
- github: ['github', 'issue', 'branch', 'pr', 'pull', 'request', 'merge', 'commit', 'push',
133
- 'clone', 'fork', 'remote', 'origin', 'main', 'master', 'checkout', 'rebase',
134
- 'squash', 'repository', 'repo', 'gh', 'git', 'assignee', 'label', 'mandatory',
135
- 'checklist', 'closes', 'fixes', 'conventional', 'feat', 'refactor'],
136
- documentation: ['guidance', 'documentation', 'docs', 'readme', 'guide', 'tutorial',
137
- 'reference', 'standard', 'convention', 'rule', 'policy', 'template',
138
- 'example', 'usage', 'instruction', 'meta', 'index', 'umbrella', 'claude',
139
- 'optimized', 'audience', 'structure', 'format', 'markdown']
140
- };
141
-
142
- const COMMON_WORDS = new Set([
143
- 'the', 'a', 'an', 'is', 'are', 'was', 'were', 'be', 'been', 'being', 'have', 'has', 'had',
144
- 'do', 'does', 'did', 'will', 'would', 'could', 'should', 'may', 'might', 'must', 'shall',
145
- 'can', 'need', 'to', 'of', 'in', 'for', 'on', 'with', 'at', 'by', 'from', 'as', 'into',
146
- 'through', 'during', 'before', 'after', 'above', 'below', 'between', 'under', 'and', 'but',
147
- 'or', 'nor', 'so', 'yet', 'both', 'either', 'neither', 'not', 'only', 'own', 'same', 'than',
148
- 'too', 'very', 'just', 'also', 'this', 'that', 'these', 'those', 'it', 'its', 'if', 'then',
149
- 'else', 'when', 'where', 'why', 'how', 'all', 'each', 'every', 'any', 'some', 'no', 'yes',
150
- 'use', 'using', 'used', 'uses', 'get', 'set', 'new', 'see', 'like', 'make', 'made'
151
- ]);
152
-
153
- function hash(str, seed = 0) {
154
- let h = seed ^ str.length;
155
- for (let i = 0; i < str.length; i++) {
156
- h ^= str.charCodeAt(i);
157
- h = Math.imul(h, 0x5bd1e995);
158
- h ^= h >>> 15;
159
- }
160
- return h >>> 0;
161
- }
162
-
163
- // Pre-compute domain signatures
164
- const domainSignatures = {};
165
- for (const [domain, keywords] of Object.entries(DOMAIN_CLUSTERS)) {
166
- const sig = new Float32Array(EMBEDDING_DIMS);
167
- for (const kw of keywords) {
168
- for (let h = 0; h < 2; h++) {
169
- const idx = hash(kw + '_dom_' + domain, h) % EMBEDDING_DIMS;
170
- sig[idx] = 1;
171
- }
172
- }
173
- domainSignatures[domain] = sig;
174
- }
175
-
176
- function semanticHashEmbed(text, dims = EMBEDDING_DIMS) {
177
- const vec = new Float32Array(dims);
178
- const lowerText = text.toLowerCase();
179
- const words = lowerText.replace(/[^a-z0-9\s]/g, ' ').split(/\s+/).filter(w => w.length > 1);
180
-
181
- if (words.length === 0) return vec;
182
-
183
- // Add domain signatures
184
- for (const [domain, keywords] of Object.entries(DOMAIN_CLUSTERS)) {
185
- let matchCount = 0;
186
- for (const kw of keywords) {
187
- if (lowerText.includes(kw)) matchCount++;
188
- }
189
- if (matchCount > 0) {
190
- const weight = Math.min(2.0, 0.5 + matchCount * 0.3);
191
- const sig = domainSignatures[domain];
192
- for (let i = 0; i < dims; i++) {
193
- vec[i] += sig[i] * weight;
194
- }
195
- }
196
- }
197
-
198
- // Add word features
199
- for (const word of words) {
200
- const isCommon = COMMON_WORDS.has(word);
201
- const weight = isCommon ? 0.2 : (word.length > 6 ? 0.8 : 0.5);
202
- for (let h = 0; h < 3; h++) {
203
- const idx = hash(word, h * 17) % dims;
204
- const sign = (hash(word, h * 31 + 1) % 2 === 0) ? 1 : -1;
205
- vec[idx] += sign * weight;
206
- }
207
- }
208
-
209
- // Add bigrams
210
- for (let i = 0; i < words.length - 1; i++) {
211
- if (COMMON_WORDS.has(words[i]) && COMMON_WORDS.has(words[i + 1])) continue;
212
- const bigram = words[i] + '_' + words[i + 1];
213
- const idx = hash(bigram, 42) % dims;
214
- const sign = (hash(bigram, 43) % 2 === 0) ? 1 : -1;
215
- vec[idx] += sign * 0.4;
216
- }
217
-
218
- // Add trigrams
219
- for (let i = 0; i < words.length - 2; i++) {
220
- const trigram = words[i] + '_' + words[i + 1] + '_' + words[i + 2];
221
- const idx = hash(trigram, 99) % dims;
222
- const sign = (hash(trigram, 100) % 2 === 0) ? 1 : -1;
223
- vec[idx] += sign * 0.3;
224
- }
225
-
226
- // L2 normalize
227
- let norm = 0;
228
- for (let i = 0; i < dims; i++) norm += vec[i] * vec[i];
229
- norm = Math.sqrt(norm);
230
- if (norm > 0) {
231
- for (let i = 0; i < dims; i++) vec[i] /= norm;
232
- }
233
-
234
- return vec;
235
- }
236
-
237
- // ============================================================================
238
- // Unified Embedding Generator (matches stored embeddings)
239
- // ============================================================================
240
-
241
- /**
242
- * Generate query embedding using the SAME model as stored embeddings.
243
- * Checks what model was used for stored entries and matches it.
244
- */
245
- async function generateQueryEmbedding(queryText, db) {
246
- // Check what model the stored entries use
247
- let modelCheckSql = `SELECT embedding_model, COUNT(*) as cnt FROM memory_entries
248
- WHERE status = 'active' AND embedding IS NOT NULL AND embedding != ''
249
- ${namespace ? "AND namespace = ?" : ""}
250
- GROUP BY embedding_model ORDER BY cnt DESC LIMIT 1`;
251
- const modelStmt = db.prepare(modelCheckSql);
252
- modelStmt.bind(namespace ? [namespace] : []);
253
- const modelCheck = modelStmt.step() ? modelStmt.getAsObject() : null;
254
- modelStmt.free();
255
-
256
- const storedModel = modelCheck?.embedding_model || EMBEDDING_MODEL_HASH;
257
-
258
- if (debug) console.error(`[semantic-search] Stored model: ${storedModel}`);
259
-
260
- // If stored embeddings are neural, try to use neural for query too
261
- // Accept both canonical name and legacy 'onnx' tag (both use the same Xenova pipeline)
262
- if (storedModel === EMBEDDING_MODEL_NEURAL || storedModel === 'onnx') {
263
- await loadTransformersModel();
264
- if (useTransformers) {
265
- const neuralEmb = await generateNeuralEmbedding(queryText);
266
- if (neuralEmb && neuralEmb.length === EMBEDDING_DIMS) {
267
- return { embedding: neuralEmb, model: EMBEDDING_MODEL_NEURAL };
268
- }
269
- }
270
- // Neural failed — warn about model mismatch
271
- if (!json) {
272
- console.error('[semantic-search] WARNING: Stored embeddings use neural model but Transformers.js unavailable.');
273
- console.error('[semantic-search] Results may be poor. Run: npx flo-embeddings --force');
274
- }
275
- }
276
-
277
- // Use hash embeddings (either matching stored hash model, or as fallback)
278
- const hashEmb = Array.from(semanticHashEmbed(queryText));
279
- return { embedding: hashEmb, model: EMBEDDING_MODEL_HASH };
280
- }
281
-
282
- // ============================================================================
283
- // Search Functions
284
- // ============================================================================
285
-
286
- function cosineSimilarity(a, b) {
287
- if (!a || !b || a.length !== b.length) return 0;
288
- let dot = 0;
289
- for (let i = 0; i < a.length; i++) {
290
- dot += a[i] * b[i];
291
- }
292
- return dot; // Already L2 normalized
293
- }
294
-
295
- async function getDb() {
296
- if (!existsSync(DB_PATH)) {
297
- throw new Error(`Database not found: ${DB_PATH}`);
298
- }
299
- const SQL = await initSqlJs();
300
- const buffer = readFileSync(DB_PATH);
301
- return new SQL.Database(buffer);
302
- }
303
-
304
- async function semanticSearch(queryText, options = {}) {
305
- const { limit = 5, namespace = null, threshold = 0.3 } = options;
306
- const startTime = performance.now();
307
-
308
- const db = await getDb();
309
-
310
- // Generate query embedding matching the stored model
311
- const { embedding: queryEmbedding, model: queryModel } = await generateQueryEmbedding(queryText, db);
312
-
313
- if (debug) console.error(`[semantic-search] Query model: ${queryModel}`);
314
-
315
- // Get all entries with embeddings
316
- let sql = `
317
- SELECT id, key, namespace, content, embedding, embedding_model, metadata
318
- FROM memory_entries
319
- WHERE status = 'active' AND embedding IS NOT NULL AND embedding != ''
320
- `;
321
- const params = [];
322
-
323
- if (namespace) {
324
- sql += ` AND namespace = ?`;
325
- params.push(namespace);
326
- }
327
-
328
- const stmt = db.prepare(sql);
329
- stmt.bind(params);
330
-
331
- // Calculate similarity scores
332
- const results = [];
333
- while (stmt.step()) {
334
- const entry = stmt.getAsObject();
335
- try {
336
- const storedIsNeural = NEURAL_ALIASES.has(entry.embedding_model);
337
- const queryIsNeural = NEURAL_ALIASES.has(queryModel);
338
- if (entry.embedding_model && entry.embedding_model !== queryModel && !(storedIsNeural && queryIsNeural)) continue;
339
-
340
- const embedding = JSON.parse(entry.embedding);
341
- if (!Array.isArray(embedding) || embedding.length !== EMBEDDING_DIMS) continue;
342
-
343
- const similarity = cosineSimilarity(queryEmbedding, embedding);
344
-
345
- if (similarity >= threshold) {
346
- let metadata = {};
347
- try {
348
- metadata = JSON.parse(entry.metadata || '{}');
349
- } catch {}
350
-
351
- results.push({
352
- key: entry.key,
353
- namespace: entry.namespace,
354
- score: similarity,
355
- preview: entry.content.substring(0, 150).replace(/\n/g, ' '),
356
- type: metadata.type || 'unknown',
357
- parentDoc: metadata.parentDoc || null,
358
- chunkTitle: metadata.chunkTitle || null,
359
- });
360
- }
361
- } catch {
362
- // Skip entries with invalid embeddings
363
- }
364
- }
365
- stmt.free();
366
-
367
- db.close();
368
-
369
- // Sort by similarity (descending) and limit
370
- results.sort((a, b) => b.score - a.score);
371
- const topResults = results.slice(0, limit);
372
-
373
- const searchTime = performance.now() - startTime;
374
-
375
- return {
376
- query: queryText,
377
- results: topResults,
378
- totalMatches: results.length,
379
- searchTime: `${searchTime.toFixed(0)}ms`,
380
- indexType: 'vector-cosine',
381
- model: queryModel,
382
- };
383
- }
384
-
385
- // ============================================================================
386
- // Main
387
- // ============================================================================
388
-
389
- async function main() {
390
- if (!json) {
391
- console.log('');
392
- console.log(`[semantic-search] Query: "${query}"`);
393
- }
394
-
395
- try {
396
- // --with-tests: search both the specified namespace (or code-map) and tests
397
- // Auto-route: if query contains test keywords and no namespace specified, also search tests
398
- const autoRouteTests = !namespace && TEST_KEYWORDS.test(query);
399
- let results;
400
-
401
- if (withTests || autoRouteTests) {
402
- const primaryNs = namespace || 'code-map';
403
- const primaryResults = await semanticSearch(query, { limit, namespace: primaryNs, threshold });
404
- const testResults = await semanticSearch(query, { limit, namespace: 'tests', threshold });
405
-
406
- // Merge and re-sort by score
407
- const merged = [...primaryResults.results, ...testResults.results]
408
- .sort((a, b) => b.score - a.score)
409
- .slice(0, limit);
410
-
411
- results = {
412
- ...primaryResults,
413
- results: merged,
414
- totalMatches: primaryResults.totalMatches + testResults.totalMatches,
415
- searchTime: `${parseInt(primaryResults.searchTime) + parseInt(testResults.searchTime)}ms`,
416
- namespaces: [primaryNs, 'tests'],
417
- };
418
-
419
- if (!json && autoRouteTests) {
420
- console.log(`[semantic-search] Auto-routed to tests namespace (query contains test keywords)`);
421
- }
422
- } else {
423
- results = await semanticSearch(query, { limit, namespace, threshold });
424
- }
425
-
426
- if (json) {
427
- console.log(JSON.stringify(results, null, 2));
428
- return;
429
- }
430
-
431
- console.log(`[semantic-search] Found ${results.totalMatches} matches (${results.searchTime}) [${results.model}]`);
432
- console.log('');
433
-
434
- if (results.results.length === 0) {
435
- console.log('No results found above threshold. Try lowering --threshold or broadening your query.');
436
- return;
437
- }
438
-
439
- // Display results
440
- console.log('┌─────────────────────────────────────────────────────────────────────────────┐');
441
- console.log('│ Rank │ Score │ Key │ Type │ Preview │');
442
- console.log('├─────────────────────────────────────────────────────────────────────────────┤');
443
-
444
- for (let i = 0; i < results.results.length; i++) {
445
- const r = results.results[i];
446
- const rank = String(i + 1).padStart(4);
447
- const score = r.score.toFixed(3);
448
- const key = r.key.substring(0, 28).padEnd(28);
449
- const type = (r.type || '').substring(0, 6).padEnd(6);
450
- const preview = r.preview.substring(0, 18).padEnd(18);
451
-
452
- console.log(`│ ${rank} │ ${score} │ ${key} │ ${type} │ ${preview}… │`);
453
- }
454
-
455
- console.log('└─────────────────────────────────────────────────────────────────────────────┘');
456
-
457
- // Show chunk context
458
- console.log('');
459
- console.log('Top result details:');
460
- const top = results.results[0];
461
- console.log(` Key: ${top.key}`);
462
- console.log(` Score: ${top.score.toFixed(4)}`);
463
- if (top.chunkTitle) console.log(` Section: ${top.chunkTitle}`);
464
- if (top.parentDoc) console.log(` Parent: ${top.parentDoc}`);
465
- console.log(` Preview: ${top.preview}...`);
466
-
467
- } catch (err) {
468
- console.error(`[semantic-search] Error: ${err.message}`);
469
- process.exit(1);
470
- }
471
- }
472
-
473
- main();