odd-flow 1.0.0

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 (730) 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/system-design/arch-system-design.md +36 -0
  6. package/.claude/agents/base-template-generator.md +41 -0
  7. package/.claude/agents/consensus/byzantine-coordinator.md +43 -0
  8. package/.claude/agents/consensus/crdt-synchronizer.md +977 -0
  9. package/.claude/agents/consensus/gossip-coordinator.md +43 -0
  10. package/.claude/agents/consensus/performance-benchmarker.md +831 -0
  11. package/.claude/agents/consensus/quorum-manager.md +803 -0
  12. package/.claude/agents/consensus/raft-manager.md +43 -0
  13. package/.claude/agents/consensus/security-manager.md +602 -0
  14. package/.claude/agents/core/coder.md +244 -0
  15. package/.claude/agents/core/planner.md +152 -0
  16. package/.claude/agents/core/researcher.md +174 -0
  17. package/.claude/agents/core/reviewer.md +309 -0
  18. package/.claude/agents/core/tester.md +300 -0
  19. package/.claude/agents/custom/test-long-runner.md +43 -0
  20. package/.claude/agents/data/ml/data-ml-model.md +76 -0
  21. package/.claude/agents/database-specialist.md +9 -0
  22. package/.claude/agents/development/backend/dev-backend-api.md +29 -0
  23. package/.claude/agents/development/dev-backend-api.md +178 -0
  24. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +52 -0
  25. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +63 -0
  26. package/.claude/agents/dual-mode/codex-coordinator.md +201 -0
  27. package/.claude/agents/dual-mode/codex-worker.md +183 -0
  28. package/.claude/agents/dual-mode/dual-orchestrator.md +253 -0
  29. package/.claude/agents/flow-nexus/app-store.md +88 -0
  30. package/.claude/agents/flow-nexus/authentication.md +69 -0
  31. package/.claude/agents/flow-nexus/challenges.md +81 -0
  32. package/.claude/agents/flow-nexus/neural-network.md +88 -0
  33. package/.claude/agents/flow-nexus/payments.md +83 -0
  34. package/.claude/agents/flow-nexus/sandbox.md +76 -0
  35. package/.claude/agents/flow-nexus/swarm.md +76 -0
  36. package/.claude/agents/flow-nexus/user-tools.md +96 -0
  37. package/.claude/agents/flow-nexus/workflow.md +84 -0
  38. package/.claude/agents/github/code-review-swarm.md +521 -0
  39. package/.claude/agents/github/github-modes.md +154 -0
  40. package/.claude/agents/github/issue-tracker.md +299 -0
  41. package/.claude/agents/github/multi-repo-swarm.md +525 -0
  42. package/.claude/agents/github/pr-manager.md +163 -0
  43. package/.claude/agents/github/project-board-sync.md +478 -0
  44. package/.claude/agents/github/release-manager.md +336 -0
  45. package/.claude/agents/github/release-swarm.md +551 -0
  46. package/.claude/agents/github/repo-architect.md +365 -0
  47. package/.claude/agents/github/swarm-issue.md +548 -0
  48. package/.claude/agents/github/swarm-pr.md +399 -0
  49. package/.claude/agents/github/sync-coordinator.md +423 -0
  50. package/.claude/agents/github/workflow-automation.md +605 -0
  51. package/.claude/agents/goal/agent.md +817 -0
  52. package/.claude/agents/goal/code-goal-planner.md +445 -0
  53. package/.claude/agents/goal/goal-planner.md +168 -0
  54. package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +129 -0
  55. package/.claude/agents/hive-mind/queen-coordinator.md +202 -0
  56. package/.claude/agents/hive-mind/scout-explorer.md +241 -0
  57. package/.claude/agents/hive-mind/swarm-memory-manager.md +192 -0
  58. package/.claude/agents/hive-mind/worker-specialist.md +216 -0
  59. package/.claude/agents/neural/safla-neural.md +74 -0
  60. package/.claude/agents/optimization/benchmark-suite.md +663 -0
  61. package/.claude/agents/optimization/load-balancer.md +429 -0
  62. package/.claude/agents/optimization/performance-monitor.md +670 -0
  63. package/.claude/agents/optimization/resource-allocator.md +672 -0
  64. package/.claude/agents/optimization/topology-optimizer.md +806 -0
  65. package/.claude/agents/payments/agentic-payments.md +126 -0
  66. package/.claude/agents/project-coordinator.md +8 -0
  67. package/.claude/agents/python-specialist.md +9 -0
  68. package/.claude/agents/reasoning/agent.md +817 -0
  69. package/.claude/agents/reasoning/goal-planner.md +73 -0
  70. package/.claude/agents/security-auditor.md +9 -0
  71. package/.claude/agents/sona/sona-learning-optimizer.md +65 -0
  72. package/.claude/agents/sparc/architecture.md +453 -0
  73. package/.claude/agents/sparc/pseudocode.md +299 -0
  74. package/.claude/agents/sparc/refinement.md +504 -0
  75. package/.claude/agents/sparc/specification.md +258 -0
  76. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +88 -0
  77. package/.claude/agents/sublinear/consensus-coordinator.md +338 -0
  78. package/.claude/agents/sublinear/matrix-optimizer.md +185 -0
  79. package/.claude/agents/sublinear/pagerank-analyzer.md +299 -0
  80. package/.claude/agents/sublinear/performance-optimizer.md +368 -0
  81. package/.claude/agents/sublinear/trading-predictor.md +246 -0
  82. package/.claude/agents/swarm/adaptive-coordinator.md +364 -0
  83. package/.claude/agents/swarm/hierarchical-coordinator.md +300 -0
  84. package/.claude/agents/swarm/mesh-coordinator.md +363 -0
  85. package/.claude/agents/templates/automation-smart-agent.md +185 -0
  86. package/.claude/agents/templates/coordinator-swarm-init.md +83 -0
  87. package/.claude/agents/templates/github-pr-manager.md +155 -0
  88. package/.claude/agents/templates/implementer-sparc-coder.md +231 -0
  89. package/.claude/agents/templates/memory-coordinator.md +163 -0
  90. package/.claude/agents/templates/migration-plan.md +724 -0
  91. package/.claude/agents/templates/orchestrator-task.md +120 -0
  92. package/.claude/agents/templates/performance-analyzer.md +179 -0
  93. package/.claude/agents/templates/sparc-coordinator.md +163 -0
  94. package/.claude/agents/testing/production-validator.md +373 -0
  95. package/.claude/agents/testing/tdd-london-swarm.md +222 -0
  96. package/.claude/agents/testing/unit/tdd-london-swarm.md +222 -0
  97. package/.claude/agents/testing/validation/production-validator.md +373 -0
  98. package/.claude/agents/typescript-specialist.md +9 -0
  99. package/.claude/agents/v3/database-specialist.md +9 -0
  100. package/.claude/agents/v3/project-coordinator.md +8 -0
  101. package/.claude/agents/v3/python-specialist.md +9 -0
  102. package/.claude/agents/v3/test-architect.md +9 -0
  103. package/.claude/agents/v3/typescript-specialist.md +9 -0
  104. package/.claude/agents/v3/v3-integration-architect.md +312 -0
  105. package/.claude/agents/v3/v3-memory-specialist.md +281 -0
  106. package/.claude/agents/v3/v3-performance-engineer.md +363 -0
  107. package/.claude/agents/v3/v3-queen-coordinator.md +63 -0
  108. package/.claude/agents/v3/v3-security-architect.md +140 -0
  109. package/.claude/checkpoints/1767754460.json +8 -0
  110. package/.claude/commands/agents/README.md +10 -0
  111. package/.claude/commands/agents/agent-capabilities.md +21 -0
  112. package/.claude/commands/agents/agent-coordination.md +28 -0
  113. package/.claude/commands/agents/agent-spawning.md +28 -0
  114. package/.claude/commands/agents/agent-types.md +26 -0
  115. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
  116. package/.claude/commands/analysis/README.md +9 -0
  117. package/.claude/commands/analysis/bottleneck-detect.md +162 -0
  118. package/.claude/commands/analysis/performance-bottlenecks.md +59 -0
  119. package/.claude/commands/analysis/performance-report.md +25 -0
  120. package/.claude/commands/analysis/token-efficiency.md +45 -0
  121. package/.claude/commands/analysis/token-usage.md +25 -0
  122. package/.claude/commands/automation/README.md +9 -0
  123. package/.claude/commands/automation/auto-agent.md +122 -0
  124. package/.claude/commands/automation/self-healing.md +106 -0
  125. package/.claude/commands/automation/session-memory.md +90 -0
  126. package/.claude/commands/automation/smart-agents.md +73 -0
  127. package/.claude/commands/automation/smart-spawn.md +25 -0
  128. package/.claude/commands/automation/workflow-select.md +25 -0
  129. package/.claude/commands/claude-flow-help.md +103 -0
  130. package/.claude/commands/claude-flow-memory.md +107 -0
  131. package/.claude/commands/claude-flow-swarm.md +205 -0
  132. package/.claude/commands/coordination/README.md +9 -0
  133. package/.claude/commands/coordination/agent-spawn.md +25 -0
  134. package/.claude/commands/coordination/init.md +44 -0
  135. package/.claude/commands/coordination/orchestrate.md +43 -0
  136. package/.claude/commands/coordination/spawn.md +45 -0
  137. package/.claude/commands/coordination/swarm-init.md +85 -0
  138. package/.claude/commands/coordination/task-orchestrate.md +25 -0
  139. package/.claude/commands/flow-nexus/app-store.md +124 -0
  140. package/.claude/commands/flow-nexus/challenges.md +120 -0
  141. package/.claude/commands/flow-nexus/login-registration.md +65 -0
  142. package/.claude/commands/flow-nexus/neural-network.md +134 -0
  143. package/.claude/commands/flow-nexus/payments.md +116 -0
  144. package/.claude/commands/flow-nexus/sandbox.md +83 -0
  145. package/.claude/commands/flow-nexus/swarm.md +87 -0
  146. package/.claude/commands/flow-nexus/user-tools.md +152 -0
  147. package/.claude/commands/flow-nexus/workflow.md +115 -0
  148. package/.claude/commands/github/README.md +11 -0
  149. package/.claude/commands/github/code-review-swarm.md +514 -0
  150. package/.claude/commands/github/code-review.md +25 -0
  151. package/.claude/commands/github/github-modes.md +147 -0
  152. package/.claude/commands/github/github-swarm.md +121 -0
  153. package/.claude/commands/github/issue-tracker.md +292 -0
  154. package/.claude/commands/github/issue-triage.md +25 -0
  155. package/.claude/commands/github/multi-repo-swarm.md +519 -0
  156. package/.claude/commands/github/pr-enhance.md +26 -0
  157. package/.claude/commands/github/pr-manager.md +170 -0
  158. package/.claude/commands/github/project-board-sync.md +471 -0
  159. package/.claude/commands/github/release-manager.md +338 -0
  160. package/.claude/commands/github/release-swarm.md +544 -0
  161. package/.claude/commands/github/repo-analyze.md +25 -0
  162. package/.claude/commands/github/repo-architect.md +367 -0
  163. package/.claude/commands/github/swarm-issue.md +482 -0
  164. package/.claude/commands/github/swarm-pr.md +285 -0
  165. package/.claude/commands/github/sync-coordinator.md +301 -0
  166. package/.claude/commands/github/workflow-automation.md +442 -0
  167. package/.claude/commands/hive-mind/README.md +17 -0
  168. package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -0
  169. package/.claude/commands/hive-mind/hive-mind-init.md +18 -0
  170. package/.claude/commands/hive-mind/hive-mind-memory.md +8 -0
  171. package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -0
  172. package/.claude/commands/hive-mind/hive-mind-resume.md +8 -0
  173. package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -0
  174. package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -0
  175. package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
  176. package/.claude/commands/hive-mind/hive-mind-stop.md +8 -0
  177. package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -0
  178. package/.claude/commands/hive-mind/hive-mind.md +27 -0
  179. package/.claude/commands/hooks/README.md +11 -0
  180. package/.claude/commands/hooks/overview.md +58 -0
  181. package/.claude/commands/hooks/post-edit.md +117 -0
  182. package/.claude/commands/hooks/post-task.md +112 -0
  183. package/.claude/commands/hooks/pre-edit.md +113 -0
  184. package/.claude/commands/hooks/pre-task.md +111 -0
  185. package/.claude/commands/hooks/session-end.md +118 -0
  186. package/.claude/commands/hooks/setup.md +103 -0
  187. package/.claude/commands/memory/README.md +9 -0
  188. package/.claude/commands/memory/memory-persist.md +25 -0
  189. package/.claude/commands/memory/memory-search.md +25 -0
  190. package/.claude/commands/memory/memory-usage.md +25 -0
  191. package/.claude/commands/memory/neural.md +47 -0
  192. package/.claude/commands/monitoring/README.md +9 -0
  193. package/.claude/commands/monitoring/agent-metrics.md +25 -0
  194. package/.claude/commands/monitoring/agents.md +44 -0
  195. package/.claude/commands/monitoring/real-time-view.md +25 -0
  196. package/.claude/commands/monitoring/status.md +46 -0
  197. package/.claude/commands/monitoring/swarm-monitor.md +25 -0
  198. package/.claude/commands/optimization/README.md +9 -0
  199. package/.claude/commands/optimization/auto-topology.md +62 -0
  200. package/.claude/commands/optimization/cache-manage.md +25 -0
  201. package/.claude/commands/optimization/parallel-execute.md +25 -0
  202. package/.claude/commands/optimization/parallel-execution.md +50 -0
  203. package/.claude/commands/optimization/topology-optimize.md +25 -0
  204. package/.claude/commands/pair/README.md +261 -0
  205. package/.claude/commands/pair/commands.md +546 -0
  206. package/.claude/commands/pair/config.md +510 -0
  207. package/.claude/commands/pair/examples.md +512 -0
  208. package/.claude/commands/pair/modes.md +348 -0
  209. package/.claude/commands/pair/session.md +407 -0
  210. package/.claude/commands/pair/start.md +209 -0
  211. package/.claude/commands/sparc/analyzer.md +52 -0
  212. package/.claude/commands/sparc/architect.md +53 -0
  213. package/.claude/commands/sparc/ask.md +97 -0
  214. package/.claude/commands/sparc/batch-executor.md +54 -0
  215. package/.claude/commands/sparc/code.md +89 -0
  216. package/.claude/commands/sparc/coder.md +54 -0
  217. package/.claude/commands/sparc/debug.md +83 -0
  218. package/.claude/commands/sparc/debugger.md +54 -0
  219. package/.claude/commands/sparc/designer.md +53 -0
  220. package/.claude/commands/sparc/devops.md +109 -0
  221. package/.claude/commands/sparc/docs-writer.md +80 -0
  222. package/.claude/commands/sparc/documenter.md +54 -0
  223. package/.claude/commands/sparc/innovator.md +54 -0
  224. package/.claude/commands/sparc/integration.md +83 -0
  225. package/.claude/commands/sparc/mcp.md +117 -0
  226. package/.claude/commands/sparc/memory-manager.md +54 -0
  227. package/.claude/commands/sparc/optimizer.md +54 -0
  228. package/.claude/commands/sparc/orchestrator.md +132 -0
  229. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -0
  230. package/.claude/commands/sparc/refinement-optimization-mode.md +83 -0
  231. package/.claude/commands/sparc/researcher.md +54 -0
  232. package/.claude/commands/sparc/reviewer.md +54 -0
  233. package/.claude/commands/sparc/security-review.md +80 -0
  234. package/.claude/commands/sparc/sparc-modes.md +174 -0
  235. package/.claude/commands/sparc/sparc.md +111 -0
  236. package/.claude/commands/sparc/spec-pseudocode.md +80 -0
  237. package/.claude/commands/sparc/supabase-admin.md +348 -0
  238. package/.claude/commands/sparc/swarm-coordinator.md +54 -0
  239. package/.claude/commands/sparc/tdd.md +54 -0
  240. package/.claude/commands/sparc/tester.md +54 -0
  241. package/.claude/commands/sparc/tutorial.md +79 -0
  242. package/.claude/commands/sparc/workflow-manager.md +54 -0
  243. package/.claude/commands/sparc.md +166 -0
  244. package/.claude/commands/stream-chain/pipeline.md +121 -0
  245. package/.claude/commands/stream-chain/run.md +70 -0
  246. package/.claude/commands/swarm/README.md +15 -0
  247. package/.claude/commands/swarm/analysis.md +95 -0
  248. package/.claude/commands/swarm/development.md +96 -0
  249. package/.claude/commands/swarm/examples.md +168 -0
  250. package/.claude/commands/swarm/maintenance.md +102 -0
  251. package/.claude/commands/swarm/optimization.md +117 -0
  252. package/.claude/commands/swarm/research.md +136 -0
  253. package/.claude/commands/swarm/swarm-analysis.md +8 -0
  254. package/.claude/commands/swarm/swarm-background.md +8 -0
  255. package/.claude/commands/swarm/swarm-init.md +19 -0
  256. package/.claude/commands/swarm/swarm-modes.md +8 -0
  257. package/.claude/commands/swarm/swarm-monitor.md +8 -0
  258. package/.claude/commands/swarm/swarm-spawn.md +19 -0
  259. package/.claude/commands/swarm/swarm-status.md +8 -0
  260. package/.claude/commands/swarm/swarm-strategies.md +8 -0
  261. package/.claude/commands/swarm/swarm.md +27 -0
  262. package/.claude/commands/swarm/testing.md +131 -0
  263. package/.claude/commands/training/README.md +9 -0
  264. package/.claude/commands/training/model-update.md +25 -0
  265. package/.claude/commands/training/neural-patterns.md +74 -0
  266. package/.claude/commands/training/neural-train.md +25 -0
  267. package/.claude/commands/training/pattern-learn.md +25 -0
  268. package/.claude/commands/training/specialization.md +63 -0
  269. package/.claude/commands/truth/start.md +143 -0
  270. package/.claude/commands/verify/check.md +50 -0
  271. package/.claude/commands/verify/start.md +128 -0
  272. package/.claude/commands/workflows/README.md +9 -0
  273. package/.claude/commands/workflows/development.md +78 -0
  274. package/.claude/commands/workflows/research.md +63 -0
  275. package/.claude/commands/workflows/workflow-create.md +25 -0
  276. package/.claude/commands/workflows/workflow-execute.md +25 -0
  277. package/.claude/commands/workflows/workflow-export.md +25 -0
  278. package/.claude/config/v3-dependency-optimization.json +266 -0
  279. package/.claude/config/v3-performance-targets.json +251 -0
  280. package/.claude/helpers/README.md +97 -0
  281. package/.claude/helpers/adr-compliance.sh +186 -0
  282. package/.claude/helpers/aggressive-microcompact.mjs +36 -0
  283. package/.claude/helpers/auto-commit.sh +178 -0
  284. package/.claude/helpers/auto-memory-hook.mjs +369 -0
  285. package/.claude/helpers/checkpoint-manager.sh +251 -0
  286. package/.claude/helpers/context-persistence-hook.mjs +1979 -0
  287. package/.claude/helpers/daemon-manager.sh +252 -0
  288. package/.claude/helpers/ddd-tracker.sh +144 -0
  289. package/.claude/helpers/github-safe.js +106 -0
  290. package/.claude/helpers/github-setup.sh +28 -0
  291. package/.claude/helpers/guidance-hook.sh +13 -0
  292. package/.claude/helpers/guidance-hooks.sh +102 -0
  293. package/.claude/helpers/health-monitor.sh +108 -0
  294. package/.claude/helpers/hook-handler.cjs +234 -0
  295. package/.claude/helpers/intelligence.cjs +207 -0
  296. package/.claude/helpers/learning-hooks.sh +329 -0
  297. package/.claude/helpers/learning-optimizer.sh +127 -0
  298. package/.claude/helpers/learning-service.mjs +1144 -0
  299. package/.claude/helpers/memory.cjs +84 -0
  300. package/.claude/helpers/metrics-db.mjs +488 -0
  301. package/.claude/helpers/pattern-consolidator.sh +86 -0
  302. package/.claude/helpers/perf-worker.sh +160 -0
  303. package/.claude/helpers/quick-start.sh +19 -0
  304. package/.claude/helpers/router.cjs +62 -0
  305. package/.claude/helpers/security-scanner.sh +127 -0
  306. package/.claude/helpers/session.cjs +125 -0
  307. package/.claude/helpers/setup-mcp.sh +18 -0
  308. package/.claude/helpers/standard-checkpoint-hooks.sh +189 -0
  309. package/.claude/helpers/statusline.cjs +770 -0
  310. package/.claude/helpers/swarm-comms.sh +353 -0
  311. package/.claude/helpers/swarm-hooks.sh +761 -0
  312. package/.claude/helpers/swarm-monitor.sh +211 -0
  313. package/.claude/helpers/sync-v3-metrics.sh +245 -0
  314. package/.claude/helpers/update-v3-progress.sh +166 -0
  315. package/.claude/helpers/v3-quick-status.sh +58 -0
  316. package/.claude/helpers/v3.sh +111 -0
  317. package/.claude/helpers/validate-v3-config.sh +216 -0
  318. package/.claude/helpers/worker-manager.sh +170 -0
  319. package/.claude/mcp.json +13 -0
  320. package/.claude/settings copy.json +526 -0
  321. package/.claude/settings.json +305 -0
  322. package/.claude/skills/agentdb-advanced/SKILL.md +550 -0
  323. package/.claude/skills/agentdb-learning/SKILL.md +545 -0
  324. package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -0
  325. package/.claude/skills/agentdb-optimization/SKILL.md +509 -0
  326. package/.claude/skills/agentdb-vector-search/SKILL.md +339 -0
  327. package/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
  328. package/.claude/skills/dual-mode/README.md +71 -0
  329. package/.claude/skills/dual-mode/dual-collect.md +103 -0
  330. package/.claude/skills/dual-mode/dual-coordinate.md +85 -0
  331. package/.claude/skills/dual-mode/dual-spawn.md +81 -0
  332. package/.claude/skills/flow-nexus-neural/SKILL.md +727 -0
  333. package/.claude/skills/flow-nexus-platform/SKILL.md +1154 -0
  334. package/.claude/skills/flow-nexus-swarm/SKILL.md +604 -0
  335. package/.claude/skills/github-code-review/SKILL.md +1125 -0
  336. package/.claude/skills/github-multi-repo/SKILL.md +862 -0
  337. package/.claude/skills/github-project-management/SKILL.md +1250 -0
  338. package/.claude/skills/github-release-management/SKILL.md +1064 -0
  339. package/.claude/skills/github-workflow-automation/SKILL.md +1047 -0
  340. package/.claude/skills/hive-mind-advanced/SKILL.md +709 -0
  341. package/.claude/skills/hooks-automation/SKILL.md +1201 -0
  342. package/.claude/skills/pair-programming/SKILL.md +1202 -0
  343. package/.claude/skills/performance-analysis/SKILL.md +560 -0
  344. package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -0
  345. package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -0
  346. package/.claude/skills/skill-builder/SKILL.md +910 -0
  347. package/.claude/skills/sparc-methodology/SKILL.md +1106 -0
  348. package/.claude/skills/stream-chain/SKILL.md +560 -0
  349. package/.claude/skills/swarm-advanced/SKILL.md +970 -0
  350. package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
  351. package/.claude/skills/v3-cli-modernization/SKILL.md +872 -0
  352. package/.claude/skills/v3-core-implementation/SKILL.md +797 -0
  353. package/.claude/skills/v3-ddd-architecture/SKILL.md +442 -0
  354. package/.claude/skills/v3-integration-deep/SKILL.md +241 -0
  355. package/.claude/skills/v3-mcp-optimization/SKILL.md +777 -0
  356. package/.claude/skills/v3-memory-unification/SKILL.md +174 -0
  357. package/.claude/skills/v3-performance-optimization/SKILL.md +390 -0
  358. package/.claude/skills/v3-security-overhaul/SKILL.md +82 -0
  359. package/.claude/skills/v3-swarm-coordination/SKILL.md +340 -0
  360. package/.claude/skills/verification-quality/SKILL.md +647 -0
  361. package/.claude/skills/worker-benchmarks/SKILL.md +129 -0
  362. package/.claude/skills/worker-integration/SKILL.md +147 -0
  363. package/.claude/statusline-command.sh +176 -0
  364. package/.claude/statusline.mjs +109 -0
  365. package/.claude/statusline.sh +431 -0
  366. package/.claude-plugin/README.md +720 -0
  367. package/.claude-plugin/docs/INSTALLATION.md +261 -0
  368. package/.claude-plugin/docs/PLUGIN_SUMMARY.md +361 -0
  369. package/.claude-plugin/docs/QUICKSTART.md +361 -0
  370. package/.claude-plugin/docs/STRUCTURE.md +128 -0
  371. package/.claude-plugin/hooks/hooks.json +74 -0
  372. package/.claude-plugin/marketplace.json +96 -0
  373. package/.claude-plugin/plugin.json +71 -0
  374. package/.claude-plugin/scripts/install.sh +234 -0
  375. package/.claude-plugin/scripts/uninstall.sh +36 -0
  376. package/.claude-plugin/scripts/verify.sh +108 -0
  377. package/LICENSE +21 -0
  378. package/README.md +7541 -0
  379. package/bin/cli.js +11 -0
  380. package/bin/npx-repair.js +7 -0
  381. package/bin/npx-safe-launch.js +9 -0
  382. package/package.json +84 -0
  383. package/v3/@claude-flow/cli/README.md +192 -0
  384. package/v3/@claude-flow/cli/bin/cli.js +156 -0
  385. package/v3/@claude-flow/cli/bin/mcp-server.js +189 -0
  386. package/v3/@claude-flow/cli/bin/preinstall.cjs +2 -0
  387. package/v3/@claude-flow/cli/dist/src/appliance/gguf-engine.d.ts +91 -0
  388. package/v3/@claude-flow/cli/dist/src/appliance/gguf-engine.js +425 -0
  389. package/v3/@claude-flow/cli/dist/src/appliance/ruvllm-bridge.d.ts +102 -0
  390. package/v3/@claude-flow/cli/dist/src/appliance/ruvllm-bridge.js +292 -0
  391. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-builder.d.ts +44 -0
  392. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-builder.js +329 -0
  393. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-distribution.d.ts +97 -0
  394. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-distribution.js +370 -0
  395. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-format.d.ts +111 -0
  396. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-format.js +393 -0
  397. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-runner.d.ts +69 -0
  398. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-runner.js +237 -0
  399. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-signing.d.ts +123 -0
  400. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-signing.js +347 -0
  401. package/v3/@claude-flow/cli/dist/src/autopilot-state.d.ts +77 -0
  402. package/v3/@claude-flow/cli/dist/src/autopilot-state.js +279 -0
  403. package/v3/@claude-flow/cli/dist/src/benchmarks/pretrain/index.d.ts +58 -0
  404. package/v3/@claude-flow/cli/dist/src/benchmarks/pretrain/index.js +404 -0
  405. package/v3/@claude-flow/cli/dist/src/commands/agent-wasm.d.ts +14 -0
  406. package/v3/@claude-flow/cli/dist/src/commands/agent-wasm.js +333 -0
  407. package/v3/@claude-flow/cli/dist/src/commands/agent.d.ts +8 -0
  408. package/v3/@claude-flow/cli/dist/src/commands/agent.js +927 -0
  409. package/v3/@claude-flow/cli/dist/src/commands/analyze.d.ts +17 -0
  410. package/v3/@claude-flow/cli/dist/src/commands/analyze.js +1821 -0
  411. package/v3/@claude-flow/cli/dist/src/commands/appliance-advanced.d.ts +9 -0
  412. package/v3/@claude-flow/cli/dist/src/commands/appliance-advanced.js +215 -0
  413. package/v3/@claude-flow/cli/dist/src/commands/appliance.d.ts +8 -0
  414. package/v3/@claude-flow/cli/dist/src/commands/appliance.js +406 -0
  415. package/v3/@claude-flow/cli/dist/src/commands/autopilot.d.ts +15 -0
  416. package/v3/@claude-flow/cli/dist/src/commands/autopilot.js +362 -0
  417. package/v3/@claude-flow/cli/dist/src/commands/benchmark.d.ts +10 -0
  418. package/v3/@claude-flow/cli/dist/src/commands/benchmark.js +459 -0
  419. package/v3/@claude-flow/cli/dist/src/commands/claims.d.ts +8 -0
  420. package/v3/@claude-flow/cli/dist/src/commands/claims.js +621 -0
  421. package/v3/@claude-flow/cli/dist/src/commands/cleanup.d.ts +11 -0
  422. package/v3/@claude-flow/cli/dist/src/commands/cleanup.js +216 -0
  423. package/v3/@claude-flow/cli/dist/src/commands/completions.d.ts +8 -0
  424. package/v3/@claude-flow/cli/dist/src/commands/completions.js +537 -0
  425. package/v3/@claude-flow/cli/dist/src/commands/config.d.ts +8 -0
  426. package/v3/@claude-flow/cli/dist/src/commands/config.js +356 -0
  427. package/v3/@claude-flow/cli/dist/src/commands/daemon.d.ts +8 -0
  428. package/v3/@claude-flow/cli/dist/src/commands/daemon.js +669 -0
  429. package/v3/@claude-flow/cli/dist/src/commands/deployment.d.ts +8 -0
  430. package/v3/@claude-flow/cli/dist/src/commands/deployment.js +669 -0
  431. package/v3/@claude-flow/cli/dist/src/commands/doctor.d.ts +8 -0
  432. package/v3/@claude-flow/cli/dist/src/commands/doctor.js +617 -0
  433. package/v3/@claude-flow/cli/dist/src/commands/embeddings.d.ts +16 -0
  434. package/v3/@claude-flow/cli/dist/src/commands/embeddings.js +1573 -0
  435. package/v3/@claude-flow/cli/dist/src/commands/guidance.d.ts +8 -0
  436. package/v3/@claude-flow/cli/dist/src/commands/guidance.js +560 -0
  437. package/v3/@claude-flow/cli/dist/src/commands/hive-mind.d.ts +11 -0
  438. package/v3/@claude-flow/cli/dist/src/commands/hive-mind.js +1237 -0
  439. package/v3/@claude-flow/cli/dist/src/commands/hooks.d.ts +8 -0
  440. package/v3/@claude-flow/cli/dist/src/commands/hooks.js +4441 -0
  441. package/v3/@claude-flow/cli/dist/src/commands/index.d.ts +117 -0
  442. package/v3/@claude-flow/cli/dist/src/commands/index.js +384 -0
  443. package/v3/@claude-flow/cli/dist/src/commands/init.d.ts +8 -0
  444. package/v3/@claude-flow/cli/dist/src/commands/init.js +969 -0
  445. package/v3/@claude-flow/cli/dist/src/commands/issues.d.ts +21 -0
  446. package/v3/@claude-flow/cli/dist/src/commands/issues.js +567 -0
  447. package/v3/@claude-flow/cli/dist/src/commands/mcp.d.ts +11 -0
  448. package/v3/@claude-flow/cli/dist/src/commands/mcp.js +718 -0
  449. package/v3/@claude-flow/cli/dist/src/commands/memory.d.ts +8 -0
  450. package/v3/@claude-flow/cli/dist/src/commands/memory.js +1299 -0
  451. package/v3/@claude-flow/cli/dist/src/commands/migrate.d.ts +8 -0
  452. package/v3/@claude-flow/cli/dist/src/commands/migrate.js +742 -0
  453. package/v3/@claude-flow/cli/dist/src/commands/neural.d.ts +8 -0
  454. package/v3/@claude-flow/cli/dist/src/commands/neural.js +1451 -0
  455. package/v3/@claude-flow/cli/dist/src/commands/performance.d.ts +8 -0
  456. package/v3/@claude-flow/cli/dist/src/commands/performance.js +576 -0
  457. package/v3/@claude-flow/cli/dist/src/commands/plugins.d.ts +9 -0
  458. package/v3/@claude-flow/cli/dist/src/commands/plugins.js +817 -0
  459. package/v3/@claude-flow/cli/dist/src/commands/process.d.ts +10 -0
  460. package/v3/@claude-flow/cli/dist/src/commands/process.js +641 -0
  461. package/v3/@claude-flow/cli/dist/src/commands/progress.d.ts +11 -0
  462. package/v3/@claude-flow/cli/dist/src/commands/progress.js +259 -0
  463. package/v3/@claude-flow/cli/dist/src/commands/providers.d.ts +8 -0
  464. package/v3/@claude-flow/cli/dist/src/commands/providers.js +355 -0
  465. package/v3/@claude-flow/cli/dist/src/commands/route.d.ts +14 -0
  466. package/v3/@claude-flow/cli/dist/src/commands/route.js +811 -0
  467. package/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.d.ts +11 -0
  468. package/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.js +746 -0
  469. package/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.d.ts +11 -0
  470. package/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.js +480 -0
  471. package/v3/@claude-flow/cli/dist/src/commands/ruvector/import.d.ts +16 -0
  472. package/v3/@claude-flow/cli/dist/src/commands/ruvector/import.js +347 -0
  473. package/v3/@claude-flow/cli/dist/src/commands/ruvector/index.d.ts +27 -0
  474. package/v3/@claude-flow/cli/dist/src/commands/ruvector/index.js +127 -0
  475. package/v3/@claude-flow/cli/dist/src/commands/ruvector/init.d.ts +11 -0
  476. package/v3/@claude-flow/cli/dist/src/commands/ruvector/init.js +431 -0
  477. package/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.d.ts +11 -0
  478. package/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.js +481 -0
  479. package/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.d.ts +11 -0
  480. package/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.js +503 -0
  481. package/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.d.ts +16 -0
  482. package/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.js +763 -0
  483. package/v3/@claude-flow/cli/dist/src/commands/ruvector/status.d.ts +11 -0
  484. package/v3/@claude-flow/cli/dist/src/commands/ruvector/status.js +456 -0
  485. package/v3/@claude-flow/cli/dist/src/commands/security.d.ts +8 -0
  486. package/v3/@claude-flow/cli/dist/src/commands/security.js +614 -0
  487. package/v3/@claude-flow/cli/dist/src/commands/session.d.ts +8 -0
  488. package/v3/@claude-flow/cli/dist/src/commands/session.js +750 -0
  489. package/v3/@claude-flow/cli/dist/src/commands/start.d.ts +8 -0
  490. package/v3/@claude-flow/cli/dist/src/commands/start.js +418 -0
  491. package/v3/@claude-flow/cli/dist/src/commands/status.d.ts +8 -0
  492. package/v3/@claude-flow/cli/dist/src/commands/status.js +591 -0
  493. package/v3/@claude-flow/cli/dist/src/commands/swarm.d.ts +8 -0
  494. package/v3/@claude-flow/cli/dist/src/commands/swarm.js +802 -0
  495. package/v3/@claude-flow/cli/dist/src/commands/task.d.ts +8 -0
  496. package/v3/@claude-flow/cli/dist/src/commands/task.js +671 -0
  497. package/v3/@claude-flow/cli/dist/src/commands/transfer-store.d.ts +13 -0
  498. package/v3/@claude-flow/cli/dist/src/commands/transfer-store.js +428 -0
  499. package/v3/@claude-flow/cli/dist/src/commands/update.d.ts +8 -0
  500. package/v3/@claude-flow/cli/dist/src/commands/update.js +276 -0
  501. package/v3/@claude-flow/cli/dist/src/commands/workflow.d.ts +8 -0
  502. package/v3/@claude-flow/cli/dist/src/commands/workflow.js +617 -0
  503. package/v3/@claude-flow/cli/dist/src/config-adapter.d.ts +15 -0
  504. package/v3/@claude-flow/cli/dist/src/config-adapter.js +186 -0
  505. package/v3/@claude-flow/cli/dist/src/index.d.ts +74 -0
  506. package/v3/@claude-flow/cli/dist/src/index.js +469 -0
  507. package/v3/@claude-flow/cli/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
  508. package/v3/@claude-flow/cli/dist/src/infrastructure/in-memory-repositories.js +264 -0
  509. package/v3/@claude-flow/cli/dist/src/init/claudemd-generator.d.ts +25 -0
  510. package/v3/@claude-flow/cli/dist/src/init/claudemd-generator.js +486 -0
  511. package/v3/@claude-flow/cli/dist/src/init/executor.d.ts +41 -0
  512. package/v3/@claude-flow/cli/dist/src/init/executor.js +1776 -0
  513. package/v3/@claude-flow/cli/dist/src/init/helpers-generator.d.ts +60 -0
  514. package/v3/@claude-flow/cli/dist/src/init/helpers-generator.js +1181 -0
  515. package/v3/@claude-flow/cli/dist/src/init/index.d.ts +13 -0
  516. package/v3/@claude-flow/cli/dist/src/init/index.js +15 -0
  517. package/v3/@claude-flow/cli/dist/src/init/mcp-generator.d.ts +26 -0
  518. package/v3/@claude-flow/cli/dist/src/init/mcp-generator.js +101 -0
  519. package/v3/@claude-flow/cli/dist/src/init/settings-generator.d.ts +14 -0
  520. package/v3/@claude-flow/cli/dist/src/init/settings-generator.js +392 -0
  521. package/v3/@claude-flow/cli/dist/src/init/statusline-generator.d.ts +28 -0
  522. package/v3/@claude-flow/cli/dist/src/init/statusline-generator.js +833 -0
  523. package/v3/@claude-flow/cli/dist/src/init/types.d.ts +295 -0
  524. package/v3/@claude-flow/cli/dist/src/init/types.js +263 -0
  525. package/v3/@claude-flow/cli/dist/src/mcp-client.d.ts +92 -0
  526. package/v3/@claude-flow/cli/dist/src/mcp-client.js +227 -0
  527. package/v3/@claude-flow/cli/dist/src/mcp-server.d.ts +163 -0
  528. package/v3/@claude-flow/cli/dist/src/mcp-server.js +654 -0
  529. package/v3/@claude-flow/cli/dist/src/mcp-tools/agent-tools.d.ts +9 -0
  530. package/v3/@claude-flow/cli/dist/src/mcp-tools/agent-tools.js +550 -0
  531. package/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.d.ts +30 -0
  532. package/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.js +557 -0
  533. package/v3/@claude-flow/cli/dist/src/mcp-tools/analyze-tools.d.ts +38 -0
  534. package/v3/@claude-flow/cli/dist/src/mcp-tools/analyze-tools.js +317 -0
  535. package/v3/@claude-flow/cli/dist/src/mcp-tools/claims-tools.d.ts +12 -0
  536. package/v3/@claude-flow/cli/dist/src/mcp-tools/claims-tools.js +732 -0
  537. package/v3/@claude-flow/cli/dist/src/mcp-tools/config-tools.d.ts +8 -0
  538. package/v3/@claude-flow/cli/dist/src/mcp-tools/config-tools.js +357 -0
  539. package/v3/@claude-flow/cli/dist/src/mcp-tools/coordination-tools.d.ts +13 -0
  540. package/v3/@claude-flow/cli/dist/src/mcp-tools/coordination-tools.js +665 -0
  541. package/v3/@claude-flow/cli/dist/src/mcp-tools/embeddings-tools.d.ts +9 -0
  542. package/v3/@claude-flow/cli/dist/src/mcp-tools/embeddings-tools.js +782 -0
  543. package/v3/@claude-flow/cli/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -0
  544. package/v3/@claude-flow/cli/dist/src/mcp-tools/hive-mind-tools.js +811 -0
  545. package/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.d.ts +44 -0
  546. package/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.js +3120 -0
  547. package/v3/@claude-flow/cli/dist/src/mcp-tools/index.d.ts +22 -0
  548. package/v3/@claude-flow/cli/dist/src/mcp-tools/index.js +21 -0
  549. package/v3/@claude-flow/cli/dist/src/mcp-tools/memory-tools.d.ts +14 -0
  550. package/v3/@claude-flow/cli/dist/src/mcp-tools/memory-tools.js +512 -0
  551. package/v3/@claude-flow/cli/dist/src/mcp-tools/neural-tools.d.ts +16 -0
  552. package/v3/@claude-flow/cli/dist/src/mcp-tools/neural-tools.js +461 -0
  553. package/v3/@claude-flow/cli/dist/src/mcp-tools/performance-tools.d.ts +16 -0
  554. package/v3/@claude-flow/cli/dist/src/mcp-tools/performance-tools.js +534 -0
  555. package/v3/@claude-flow/cli/dist/src/mcp-tools/progress-tools.d.ts +14 -0
  556. package/v3/@claude-flow/cli/dist/src/mcp-tools/progress-tools.js +348 -0
  557. package/v3/@claude-flow/cli/dist/src/mcp-tools/security-tools.d.ts +16 -0
  558. package/v3/@claude-flow/cli/dist/src/mcp-tools/security-tools.js +404 -0
  559. package/v3/@claude-flow/cli/dist/src/mcp-tools/session-tools.d.ts +8 -0
  560. package/v3/@claude-flow/cli/dist/src/mcp-tools/session-tools.js +315 -0
  561. package/v3/@claude-flow/cli/dist/src/mcp-tools/swarm-tools.d.ts +9 -0
  562. package/v3/@claude-flow/cli/dist/src/mcp-tools/swarm-tools.js +288 -0
  563. package/v3/@claude-flow/cli/dist/src/mcp-tools/system-tools.d.ts +13 -0
  564. package/v3/@claude-flow/cli/dist/src/mcp-tools/system-tools.js +408 -0
  565. package/v3/@claude-flow/cli/dist/src/mcp-tools/task-tools.d.ts +8 -0
  566. package/v3/@claude-flow/cli/dist/src/mcp-tools/task-tools.js +405 -0
  567. package/v3/@claude-flow/cli/dist/src/mcp-tools/types.d.ts +31 -0
  568. package/v3/@claude-flow/cli/dist/src/mcp-tools/types.js +7 -0
  569. package/v3/@claude-flow/cli/dist/src/mcp-tools/workflow-tools.d.ts +8 -0
  570. package/v3/@claude-flow/cli/dist/src/mcp-tools/workflow-tools.js +572 -0
  571. package/v3/@claude-flow/cli/dist/src/memory/ewc-consolidation.d.ts +295 -0
  572. package/v3/@claude-flow/cli/dist/src/memory/ewc-consolidation.js +601 -0
  573. package/v3/@claude-flow/cli/dist/src/memory/intelligence.d.ts +338 -0
  574. package/v3/@claude-flow/cli/dist/src/memory/intelligence.js +1023 -0
  575. package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.d.ts +407 -0
  576. package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.js +1499 -0
  577. package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.d.ts +412 -0
  578. package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.js +2222 -0
  579. package/v3/@claude-flow/cli/dist/src/memory/sona-optimizer.d.ts +227 -0
  580. package/v3/@claude-flow/cli/dist/src/memory/sona-optimizer.js +633 -0
  581. package/v3/@claude-flow/cli/dist/src/output.d.ts +133 -0
  582. package/v3/@claude-flow/cli/dist/src/output.js +514 -0
  583. package/v3/@claude-flow/cli/dist/src/parser.d.ts +51 -0
  584. package/v3/@claude-flow/cli/dist/src/parser.js +425 -0
  585. package/v3/@claude-flow/cli/dist/src/plugins/manager.d.ts +133 -0
  586. package/v3/@claude-flow/cli/dist/src/plugins/manager.js +400 -0
  587. package/v3/@claude-flow/cli/dist/src/plugins/store/discovery.d.ts +88 -0
  588. package/v3/@claude-flow/cli/dist/src/plugins/store/discovery.js +1147 -0
  589. package/v3/@claude-flow/cli/dist/src/plugins/store/index.d.ts +76 -0
  590. package/v3/@claude-flow/cli/dist/src/plugins/store/index.js +141 -0
  591. package/v3/@claude-flow/cli/dist/src/plugins/store/search.d.ts +46 -0
  592. package/v3/@claude-flow/cli/dist/src/plugins/store/search.js +230 -0
  593. package/v3/@claude-flow/cli/dist/src/plugins/store/types.d.ts +274 -0
  594. package/v3/@claude-flow/cli/dist/src/plugins/store/types.js +7 -0
  595. package/v3/@claude-flow/cli/dist/src/plugins/tests/demo-plugin-store.d.ts +7 -0
  596. package/v3/@claude-flow/cli/dist/src/plugins/tests/demo-plugin-store.js +126 -0
  597. package/v3/@claude-flow/cli/dist/src/plugins/tests/standalone-test.d.ts +12 -0
  598. package/v3/@claude-flow/cli/dist/src/plugins/tests/standalone-test.js +188 -0
  599. package/v3/@claude-flow/cli/dist/src/plugins/tests/test-plugin-store.d.ts +7 -0
  600. package/v3/@claude-flow/cli/dist/src/plugins/tests/test-plugin-store.js +206 -0
  601. package/v3/@claude-flow/cli/dist/src/production/circuit-breaker.d.ts +101 -0
  602. package/v3/@claude-flow/cli/dist/src/production/circuit-breaker.js +241 -0
  603. package/v3/@claude-flow/cli/dist/src/production/error-handler.d.ts +92 -0
  604. package/v3/@claude-flow/cli/dist/src/production/error-handler.js +299 -0
  605. package/v3/@claude-flow/cli/dist/src/production/index.d.ts +23 -0
  606. package/v3/@claude-flow/cli/dist/src/production/index.js +18 -0
  607. package/v3/@claude-flow/cli/dist/src/production/monitoring.d.ts +161 -0
  608. package/v3/@claude-flow/cli/dist/src/production/monitoring.js +356 -0
  609. package/v3/@claude-flow/cli/dist/src/production/rate-limiter.d.ts +80 -0
  610. package/v3/@claude-flow/cli/dist/src/production/rate-limiter.js +201 -0
  611. package/v3/@claude-flow/cli/dist/src/production/retry.d.ts +48 -0
  612. package/v3/@claude-flow/cli/dist/src/production/retry.js +179 -0
  613. package/v3/@claude-flow/cli/dist/src/prompt.d.ts +44 -0
  614. package/v3/@claude-flow/cli/dist/src/prompt.js +501 -0
  615. package/v3/@claude-flow/cli/dist/src/runtime/headless.d.ts +60 -0
  616. package/v3/@claude-flow/cli/dist/src/runtime/headless.js +284 -0
  617. package/v3/@claude-flow/cli/dist/src/ruvector/agent-wasm.d.ts +182 -0
  618. package/v3/@claude-flow/cli/dist/src/ruvector/agent-wasm.js +316 -0
  619. package/v3/@claude-flow/cli/dist/src/ruvector/ast-analyzer.d.ts +67 -0
  620. package/v3/@claude-flow/cli/dist/src/ruvector/ast-analyzer.js +277 -0
  621. package/v3/@claude-flow/cli/dist/src/ruvector/coverage-router.d.ts +160 -0
  622. package/v3/@claude-flow/cli/dist/src/ruvector/coverage-router.js +529 -0
  623. package/v3/@claude-flow/cli/dist/src/ruvector/coverage-tools.d.ts +33 -0
  624. package/v3/@claude-flow/cli/dist/src/ruvector/coverage-tools.js +157 -0
  625. package/v3/@claude-flow/cli/dist/src/ruvector/diff-classifier.d.ts +175 -0
  626. package/v3/@claude-flow/cli/dist/src/ruvector/diff-classifier.js +698 -0
  627. package/v3/@claude-flow/cli/dist/src/ruvector/enhanced-model-router.d.ts +146 -0
  628. package/v3/@claude-flow/cli/dist/src/ruvector/enhanced-model-router.js +513 -0
  629. package/v3/@claude-flow/cli/dist/src/ruvector/flash-attention.d.ts +193 -0
  630. package/v3/@claude-flow/cli/dist/src/ruvector/flash-attention.js +641 -0
  631. package/v3/@claude-flow/cli/dist/src/ruvector/graph-analyzer.d.ts +187 -0
  632. package/v3/@claude-flow/cli/dist/src/ruvector/graph-analyzer.js +929 -0
  633. package/v3/@claude-flow/cli/dist/src/ruvector/index.d.ts +40 -0
  634. package/v3/@claude-flow/cli/dist/src/ruvector/index.js +76 -0
  635. package/v3/@claude-flow/cli/dist/src/ruvector/lora-adapter.d.ts +218 -0
  636. package/v3/@claude-flow/cli/dist/src/ruvector/lora-adapter.js +455 -0
  637. package/v3/@claude-flow/cli/dist/src/ruvector/model-router.d.ts +220 -0
  638. package/v3/@claude-flow/cli/dist/src/ruvector/model-router.js +488 -0
  639. package/v3/@claude-flow/cli/dist/src/ruvector/moe-router.d.ts +206 -0
  640. package/v3/@claude-flow/cli/dist/src/ruvector/moe-router.js +626 -0
  641. package/v3/@claude-flow/cli/dist/src/ruvector/q-learning-router.d.ts +211 -0
  642. package/v3/@claude-flow/cli/dist/src/ruvector/q-learning-router.js +681 -0
  643. package/v3/@claude-flow/cli/dist/src/ruvector/ruvllm-wasm.d.ts +179 -0
  644. package/v3/@claude-flow/cli/dist/src/ruvector/ruvllm-wasm.js +363 -0
  645. package/v3/@claude-flow/cli/dist/src/ruvector/semantic-router.d.ts +77 -0
  646. package/v3/@claude-flow/cli/dist/src/ruvector/semantic-router.js +178 -0
  647. package/v3/@claude-flow/cli/dist/src/ruvector/vector-db.d.ts +67 -0
  648. package/v3/@claude-flow/cli/dist/src/ruvector/vector-db.js +241 -0
  649. package/v3/@claude-flow/cli/dist/src/services/agentic-flow-bridge.d.ts +50 -0
  650. package/v3/@claude-flow/cli/dist/src/services/agentic-flow-bridge.js +95 -0
  651. package/v3/@claude-flow/cli/dist/src/services/claim-service.d.ts +204 -0
  652. package/v3/@claude-flow/cli/dist/src/services/claim-service.js +818 -0
  653. package/v3/@claude-flow/cli/dist/src/services/config-file-manager.d.ts +37 -0
  654. package/v3/@claude-flow/cli/dist/src/services/config-file-manager.js +224 -0
  655. package/v3/@claude-flow/cli/dist/src/services/container-worker-pool.d.ts +197 -0
  656. package/v3/@claude-flow/cli/dist/src/services/container-worker-pool.js +583 -0
  657. package/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.d.ts +304 -0
  658. package/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.js +1024 -0
  659. package/v3/@claude-flow/cli/dist/src/services/index.d.ts +13 -0
  660. package/v3/@claude-flow/cli/dist/src/services/index.js +11 -0
  661. package/v3/@claude-flow/cli/dist/src/services/registry-api.d.ts +58 -0
  662. package/v3/@claude-flow/cli/dist/src/services/registry-api.js +146 -0
  663. package/v3/@claude-flow/cli/dist/src/services/ruvector-training.d.ts +220 -0
  664. package/v3/@claude-flow/cli/dist/src/services/ruvector-training.js +686 -0
  665. package/v3/@claude-flow/cli/dist/src/services/worker-daemon.d.ts +245 -0
  666. package/v3/@claude-flow/cli/dist/src/services/worker-daemon.js +960 -0
  667. package/v3/@claude-flow/cli/dist/src/services/worker-queue.d.ts +194 -0
  668. package/v3/@claude-flow/cli/dist/src/services/worker-queue.js +513 -0
  669. package/v3/@claude-flow/cli/dist/src/suggest.d.ts +51 -0
  670. package/v3/@claude-flow/cli/dist/src/suggest.js +198 -0
  671. package/v3/@claude-flow/cli/dist/src/transfer/anonymization/index.d.ts +25 -0
  672. package/v3/@claude-flow/cli/dist/src/transfer/anonymization/index.js +175 -0
  673. package/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.d.ts +13 -0
  674. package/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.js +205 -0
  675. package/v3/@claude-flow/cli/dist/src/transfer/export.d.ts +25 -0
  676. package/v3/@claude-flow/cli/dist/src/transfer/export.js +113 -0
  677. package/v3/@claude-flow/cli/dist/src/transfer/index.d.ts +12 -0
  678. package/v3/@claude-flow/cli/dist/src/transfer/index.js +31 -0
  679. package/v3/@claude-flow/cli/dist/src/transfer/ipfs/client.d.ts +109 -0
  680. package/v3/@claude-flow/cli/dist/src/transfer/ipfs/client.js +307 -0
  681. package/v3/@claude-flow/cli/dist/src/transfer/ipfs/upload.d.ts +95 -0
  682. package/v3/@claude-flow/cli/dist/src/transfer/ipfs/upload.js +411 -0
  683. package/v3/@claude-flow/cli/dist/src/transfer/models/seraphine.d.ts +72 -0
  684. package/v3/@claude-flow/cli/dist/src/transfer/models/seraphine.js +373 -0
  685. package/v3/@claude-flow/cli/dist/src/transfer/serialization/cfp.d.ts +49 -0
  686. package/v3/@claude-flow/cli/dist/src/transfer/serialization/cfp.js +183 -0
  687. package/v3/@claude-flow/cli/dist/src/transfer/storage/gcs.d.ts +82 -0
  688. package/v3/@claude-flow/cli/dist/src/transfer/storage/gcs.js +272 -0
  689. package/v3/@claude-flow/cli/dist/src/transfer/storage/index.d.ts +6 -0
  690. package/v3/@claude-flow/cli/dist/src/transfer/storage/index.js +6 -0
  691. package/v3/@claude-flow/cli/dist/src/transfer/store/discovery.d.ts +84 -0
  692. package/v3/@claude-flow/cli/dist/src/transfer/store/discovery.js +382 -0
  693. package/v3/@claude-flow/cli/dist/src/transfer/store/download.d.ts +70 -0
  694. package/v3/@claude-flow/cli/dist/src/transfer/store/download.js +334 -0
  695. package/v3/@claude-flow/cli/dist/src/transfer/store/index.d.ts +84 -0
  696. package/v3/@claude-flow/cli/dist/src/transfer/store/index.js +153 -0
  697. package/v3/@claude-flow/cli/dist/src/transfer/store/publish.d.ts +76 -0
  698. package/v3/@claude-flow/cli/dist/src/transfer/store/publish.js +294 -0
  699. package/v3/@claude-flow/cli/dist/src/transfer/store/registry.d.ts +58 -0
  700. package/v3/@claude-flow/cli/dist/src/transfer/store/registry.js +285 -0
  701. package/v3/@claude-flow/cli/dist/src/transfer/store/search.d.ts +54 -0
  702. package/v3/@claude-flow/cli/dist/src/transfer/store/search.js +232 -0
  703. package/v3/@claude-flow/cli/dist/src/transfer/store/tests/standalone-test.d.ts +12 -0
  704. package/v3/@claude-flow/cli/dist/src/transfer/store/tests/standalone-test.js +190 -0
  705. package/v3/@claude-flow/cli/dist/src/transfer/store/types.d.ts +193 -0
  706. package/v3/@claude-flow/cli/dist/src/transfer/store/types.js +6 -0
  707. package/v3/@claude-flow/cli/dist/src/transfer/test-seraphine.d.ts +6 -0
  708. package/v3/@claude-flow/cli/dist/src/transfer/test-seraphine.js +105 -0
  709. package/v3/@claude-flow/cli/dist/src/transfer/tests/test-store.d.ts +7 -0
  710. package/v3/@claude-flow/cli/dist/src/transfer/tests/test-store.js +214 -0
  711. package/v3/@claude-flow/cli/dist/src/transfer/types.d.ts +245 -0
  712. package/v3/@claude-flow/cli/dist/src/transfer/types.js +6 -0
  713. package/v3/@claude-flow/cli/dist/src/types.d.ts +198 -0
  714. package/v3/@claude-flow/cli/dist/src/types.js +38 -0
  715. package/v3/@claude-flow/cli/dist/src/update/checker.d.ts +34 -0
  716. package/v3/@claude-flow/cli/dist/src/update/checker.js +190 -0
  717. package/v3/@claude-flow/cli/dist/src/update/executor.d.ts +32 -0
  718. package/v3/@claude-flow/cli/dist/src/update/executor.js +181 -0
  719. package/v3/@claude-flow/cli/dist/src/update/index.d.ts +33 -0
  720. package/v3/@claude-flow/cli/dist/src/update/index.js +64 -0
  721. package/v3/@claude-flow/cli/dist/src/update/rate-limiter.d.ts +20 -0
  722. package/v3/@claude-flow/cli/dist/src/update/rate-limiter.js +96 -0
  723. package/v3/@claude-flow/cli/dist/src/update/validator.d.ts +17 -0
  724. package/v3/@claude-flow/cli/dist/src/update/validator.js +123 -0
  725. package/v3/@claude-flow/cli/dist/src/utils/path-validation.d.ts +20 -0
  726. package/v3/@claude-flow/cli/dist/src/utils/path-validation.js +80 -0
  727. package/v3/@claude-flow/cli/package.json +75 -0
  728. package/v3/@claude-flow/shared/README.md +323 -0
  729. package/v3/@claude-flow/shared/package.json +42 -0
  730. package/v3/README.md +493 -0
@@ -0,0 +1,977 @@
1
+ ---
2
+ name: crdt-synchronizer
3
+ description: Implements Conflict-free Replicated Data Types for eventually consistent state synchronization
4
+ ---
5
+
6
+ # CRDT Synchronizer
7
+
8
+ Implements Conflict-free Replicated Data Types for eventually consistent distributed state synchronization.
9
+
10
+ ## Core Responsibilities
11
+
12
+ 1. **CRDT Implementation**: Deploy state-based and operation-based conflict-free data types
13
+ 2. **Data Structure Management**: Handle counters, sets, registers, and composite structures
14
+ 3. **Delta Synchronization**: Implement efficient incremental state updates
15
+ 4. **Conflict Resolution**: Ensure deterministic conflict-free merge operations
16
+ 5. **Causal Consistency**: Maintain proper ordering of causally related operations
17
+
18
+ ## Technical Implementation
19
+
20
+ ### Base CRDT Framework
21
+ ```javascript
22
+ class CRDTSynchronizer {
23
+ constructor(nodeId, replicationGroup) {
24
+ this.nodeId = nodeId;
25
+ this.replicationGroup = replicationGroup;
26
+ this.crdtInstances = new Map();
27
+ this.vectorClock = new VectorClock(nodeId);
28
+ this.deltaBuffer = new Map();
29
+ this.syncScheduler = new SyncScheduler();
30
+ this.causalTracker = new CausalTracker();
31
+ }
32
+
33
+ // Register CRDT instance
34
+ registerCRDT(name, crdtType, initialState = null) {
35
+ const crdt = this.createCRDTInstance(crdtType, initialState);
36
+ this.crdtInstances.set(name, crdt);
37
+
38
+ // Subscribe to CRDT changes for delta tracking
39
+ crdt.onUpdate((delta) => {
40
+ this.trackDelta(name, delta);
41
+ });
42
+
43
+ return crdt;
44
+ }
45
+
46
+ // Create specific CRDT instance
47
+ createCRDTInstance(type, initialState) {
48
+ switch (type) {
49
+ case 'G_COUNTER':
50
+ return new GCounter(this.nodeId, this.replicationGroup, initialState);
51
+ case 'PN_COUNTER':
52
+ return new PNCounter(this.nodeId, this.replicationGroup, initialState);
53
+ case 'OR_SET':
54
+ return new ORSet(this.nodeId, initialState);
55
+ case 'LWW_REGISTER':
56
+ return new LWWRegister(this.nodeId, initialState);
57
+ case 'OR_MAP':
58
+ return new ORMap(this.nodeId, this.replicationGroup, initialState);
59
+ case 'RGA':
60
+ return new RGA(this.nodeId, initialState);
61
+ default:
62
+ throw new Error(`Unknown CRDT type: ${type}`);
63
+ }
64
+ }
65
+
66
+ // Synchronize with peer nodes
67
+ async synchronize(peerNodes = null) {
68
+ const targets = peerNodes || Array.from(this.replicationGroup);
69
+
70
+ for (const peer of targets) {
71
+ if (peer !== this.nodeId) {
72
+ await this.synchronizeWithPeer(peer);
73
+ }
74
+ }
75
+ }
76
+
77
+ async synchronizeWithPeer(peerNode) {
78
+ // Get current state and deltas
79
+ const localState = this.getCurrentState();
80
+ const deltas = this.getDeltasSince(peerNode);
81
+
82
+ // Send sync request
83
+ const syncRequest = {
84
+ type: 'CRDT_SYNC_REQUEST',
85
+ sender: this.nodeId,
86
+ vectorClock: this.vectorClock.clone(),
87
+ state: localState,
88
+ deltas: deltas
89
+ };
90
+
91
+ try {
92
+ const response = await this.sendSyncRequest(peerNode, syncRequest);
93
+ await this.processSyncResponse(response);
94
+ } catch (error) {
95
+ console.error(`Sync failed with ${peerNode}:`, error);
96
+ }
97
+ }
98
+ }
99
+ ```
100
+
101
+ ### G-Counter Implementation
102
+ ```javascript
103
+ class GCounter {
104
+ constructor(nodeId, replicationGroup, initialState = null) {
105
+ this.nodeId = nodeId;
106
+ this.replicationGroup = replicationGroup;
107
+ this.payload = new Map();
108
+
109
+ // Initialize counters for all nodes
110
+ for (const node of replicationGroup) {
111
+ this.payload.set(node, 0);
112
+ }
113
+
114
+ if (initialState) {
115
+ this.merge(initialState);
116
+ }
117
+
118
+ this.updateCallbacks = [];
119
+ }
120
+
121
+ // Increment operation (can only be performed by owner node)
122
+ increment(amount = 1) {
123
+ if (amount < 0) {
124
+ throw new Error('G-Counter only supports positive increments');
125
+ }
126
+
127
+ const oldValue = this.payload.get(this.nodeId) || 0;
128
+ const newValue = oldValue + amount;
129
+ this.payload.set(this.nodeId, newValue);
130
+
131
+ // Notify observers
132
+ this.notifyUpdate({
133
+ type: 'INCREMENT',
134
+ node: this.nodeId,
135
+ oldValue: oldValue,
136
+ newValue: newValue,
137
+ delta: amount
138
+ });
139
+
140
+ return newValue;
141
+ }
142
+
143
+ // Get current value (sum of all node counters)
144
+ value() {
145
+ return Array.from(this.payload.values()).reduce((sum, val) => sum + val, 0);
146
+ }
147
+
148
+ // Merge with another G-Counter state
149
+ merge(otherState) {
150
+ let changed = false;
151
+
152
+ for (const [node, otherValue] of otherState.payload) {
153
+ const currentValue = this.payload.get(node) || 0;
154
+ if (otherValue > currentValue) {
155
+ this.payload.set(node, otherValue);
156
+ changed = true;
157
+ }
158
+ }
159
+
160
+ if (changed) {
161
+ this.notifyUpdate({
162
+ type: 'MERGE',
163
+ mergedFrom: otherState
164
+ });
165
+ }
166
+ }
167
+
168
+ // Compare with another state
169
+ compare(otherState) {
170
+ for (const [node, otherValue] of otherState.payload) {
171
+ const currentValue = this.payload.get(node) || 0;
172
+ if (currentValue < otherValue) {
173
+ return 'LESS_THAN';
174
+ } else if (currentValue > otherValue) {
175
+ return 'GREATER_THAN';
176
+ }
177
+ }
178
+ return 'EQUAL';
179
+ }
180
+
181
+ // Clone current state
182
+ clone() {
183
+ const newCounter = new GCounter(this.nodeId, this.replicationGroup);
184
+ newCounter.payload = new Map(this.payload);
185
+ return newCounter;
186
+ }
187
+
188
+ onUpdate(callback) {
189
+ this.updateCallbacks.push(callback);
190
+ }
191
+
192
+ notifyUpdate(delta) {
193
+ this.updateCallbacks.forEach(callback => callback(delta));
194
+ }
195
+ }
196
+ ```
197
+
198
+ ### OR-Set Implementation
199
+ ```javascript
200
+ class ORSet {
201
+ constructor(nodeId, initialState = null) {
202
+ this.nodeId = nodeId;
203
+ this.elements = new Map(); // element -> Set of unique tags
204
+ this.tombstones = new Set(); // removed element tags
205
+ this.tagCounter = 0;
206
+
207
+ if (initialState) {
208
+ this.merge(initialState);
209
+ }
210
+
211
+ this.updateCallbacks = [];
212
+ }
213
+
214
+ // Add element to set
215
+ add(element) {
216
+ const tag = this.generateUniqueTag();
217
+
218
+ if (!this.elements.has(element)) {
219
+ this.elements.set(element, new Set());
220
+ }
221
+
222
+ this.elements.get(element).add(tag);
223
+
224
+ this.notifyUpdate({
225
+ type: 'ADD',
226
+ element: element,
227
+ tag: tag
228
+ });
229
+
230
+ return tag;
231
+ }
232
+
233
+ // Remove element from set
234
+ remove(element) {
235
+ if (!this.elements.has(element)) {
236
+ return false; // Element not present
237
+ }
238
+
239
+ const tags = this.elements.get(element);
240
+ const removedTags = [];
241
+
242
+ // Add all tags to tombstones
243
+ for (const tag of tags) {
244
+ this.tombstones.add(tag);
245
+ removedTags.push(tag);
246
+ }
247
+
248
+ this.notifyUpdate({
249
+ type: 'REMOVE',
250
+ element: element,
251
+ removedTags: removedTags
252
+ });
253
+
254
+ return true;
255
+ }
256
+
257
+ // Check if element is in set
258
+ has(element) {
259
+ if (!this.elements.has(element)) {
260
+ return false;
261
+ }
262
+
263
+ const tags = this.elements.get(element);
264
+
265
+ // Element is present if it has at least one non-tombstoned tag
266
+ for (const tag of tags) {
267
+ if (!this.tombstones.has(tag)) {
268
+ return true;
269
+ }
270
+ }
271
+
272
+ return false;
273
+ }
274
+
275
+ // Get all elements in set
276
+ values() {
277
+ const result = new Set();
278
+
279
+ for (const [element, tags] of this.elements) {
280
+ // Include element if it has at least one non-tombstoned tag
281
+ for (const tag of tags) {
282
+ if (!this.tombstones.has(tag)) {
283
+ result.add(element);
284
+ break;
285
+ }
286
+ }
287
+ }
288
+
289
+ return result;
290
+ }
291
+
292
+ // Merge with another OR-Set
293
+ merge(otherState) {
294
+ let changed = false;
295
+
296
+ // Merge elements and their tags
297
+ for (const [element, otherTags] of otherState.elements) {
298
+ if (!this.elements.has(element)) {
299
+ this.elements.set(element, new Set());
300
+ }
301
+
302
+ const currentTags = this.elements.get(element);
303
+
304
+ for (const tag of otherTags) {
305
+ if (!currentTags.has(tag)) {
306
+ currentTags.add(tag);
307
+ changed = true;
308
+ }
309
+ }
310
+ }
311
+
312
+ // Merge tombstones
313
+ for (const tombstone of otherState.tombstones) {
314
+ if (!this.tombstones.has(tombstone)) {
315
+ this.tombstones.add(tombstone);
316
+ changed = true;
317
+ }
318
+ }
319
+
320
+ if (changed) {
321
+ this.notifyUpdate({
322
+ type: 'MERGE',
323
+ mergedFrom: otherState
324
+ });
325
+ }
326
+ }
327
+
328
+ generateUniqueTag() {
329
+ return `${this.nodeId}-${Date.now()}-${++this.tagCounter}`;
330
+ }
331
+
332
+ onUpdate(callback) {
333
+ this.updateCallbacks.push(callback);
334
+ }
335
+
336
+ notifyUpdate(delta) {
337
+ this.updateCallbacks.forEach(callback => callback(delta));
338
+ }
339
+ }
340
+ ```
341
+
342
+ ### LWW-Register Implementation
343
+ ```javascript
344
+ class LWWRegister {
345
+ constructor(nodeId, initialValue = null) {
346
+ this.nodeId = nodeId;
347
+ this.value = initialValue;
348
+ this.timestamp = initialValue ? Date.now() : 0;
349
+ this.vectorClock = new VectorClock(nodeId);
350
+ this.updateCallbacks = [];
351
+ }
352
+
353
+ // Set new value with timestamp
354
+ set(newValue, timestamp = null) {
355
+ const ts = timestamp || Date.now();
356
+
357
+ if (ts > this.timestamp ||
358
+ (ts === this.timestamp && this.nodeId > this.getLastWriter())) {
359
+ const oldValue = this.value;
360
+ this.value = newValue;
361
+ this.timestamp = ts;
362
+ this.vectorClock.increment();
363
+
364
+ this.notifyUpdate({
365
+ type: 'SET',
366
+ oldValue: oldValue,
367
+ newValue: newValue,
368
+ timestamp: ts
369
+ });
370
+ }
371
+ }
372
+
373
+ // Get current value
374
+ get() {
375
+ return this.value;
376
+ }
377
+
378
+ // Merge with another LWW-Register
379
+ merge(otherRegister) {
380
+ if (otherRegister.timestamp > this.timestamp ||
381
+ (otherRegister.timestamp === this.timestamp &&
382
+ otherRegister.nodeId > this.nodeId)) {
383
+
384
+ const oldValue = this.value;
385
+ this.value = otherRegister.value;
386
+ this.timestamp = otherRegister.timestamp;
387
+
388
+ this.notifyUpdate({
389
+ type: 'MERGE',
390
+ oldValue: oldValue,
391
+ newValue: this.value,
392
+ mergedFrom: otherRegister
393
+ });
394
+ }
395
+
396
+ // Merge vector clocks
397
+ this.vectorClock.merge(otherRegister.vectorClock);
398
+ }
399
+
400
+ getLastWriter() {
401
+ // In real implementation, this would track the actual writer
402
+ return this.nodeId;
403
+ }
404
+
405
+ onUpdate(callback) {
406
+ this.updateCallbacks.push(callback);
407
+ }
408
+
409
+ notifyUpdate(delta) {
410
+ this.updateCallbacks.forEach(callback => callback(delta));
411
+ }
412
+ }
413
+ ```
414
+
415
+ ### RGA (Replicated Growable Array) Implementation
416
+ ```javascript
417
+ class RGA {
418
+ constructor(nodeId, initialSequence = []) {
419
+ this.nodeId = nodeId;
420
+ this.sequence = [];
421
+ this.tombstones = new Set();
422
+ this.vertexCounter = 0;
423
+
424
+ // Initialize with sequence
425
+ for (const element of initialSequence) {
426
+ this.insert(this.sequence.length, element);
427
+ }
428
+
429
+ this.updateCallbacks = [];
430
+ }
431
+
432
+ // Insert element at position
433
+ insert(position, element) {
434
+ const vertex = this.createVertex(element, position);
435
+
436
+ // Find insertion point based on causal ordering
437
+ const insertionIndex = this.findInsertionIndex(vertex, position);
438
+
439
+ this.sequence.splice(insertionIndex, 0, vertex);
440
+
441
+ this.notifyUpdate({
442
+ type: 'INSERT',
443
+ position: insertionIndex,
444
+ element: element,
445
+ vertex: vertex
446
+ });
447
+
448
+ return vertex.id;
449
+ }
450
+
451
+ // Remove element at position
452
+ remove(position) {
453
+ if (position < 0 || position >= this.visibleLength()) {
454
+ throw new Error('Position out of bounds');
455
+ }
456
+
457
+ const visibleVertex = this.getVisibleVertex(position);
458
+ if (visibleVertex) {
459
+ this.tombstones.add(visibleVertex.id);
460
+
461
+ this.notifyUpdate({
462
+ type: 'REMOVE',
463
+ position: position,
464
+ vertex: visibleVertex
465
+ });
466
+
467
+ return true;
468
+ }
469
+
470
+ return false;
471
+ }
472
+
473
+ // Get visible elements (non-tombstoned)
474
+ toArray() {
475
+ return this.sequence
476
+ .filter(vertex => !this.tombstones.has(vertex.id))
477
+ .map(vertex => vertex.element);
478
+ }
479
+
480
+ // Get visible length
481
+ visibleLength() {
482
+ return this.sequence.filter(vertex => !this.tombstones.has(vertex.id)).length;
483
+ }
484
+
485
+ // Merge with another RGA
486
+ merge(otherRGA) {
487
+ let changed = false;
488
+
489
+ // Merge sequences
490
+ const mergedSequence = this.mergeSequences(this.sequence, otherRGA.sequence);
491
+ if (mergedSequence.length !== this.sequence.length) {
492
+ this.sequence = mergedSequence;
493
+ changed = true;
494
+ }
495
+
496
+ // Merge tombstones
497
+ for (const tombstone of otherRGA.tombstones) {
498
+ if (!this.tombstones.has(tombstone)) {
499
+ this.tombstones.add(tombstone);
500
+ changed = true;
501
+ }
502
+ }
503
+
504
+ if (changed) {
505
+ this.notifyUpdate({
506
+ type: 'MERGE',
507
+ mergedFrom: otherRGA
508
+ });
509
+ }
510
+ }
511
+
512
+ createVertex(element, position) {
513
+ const leftVertex = position > 0 ? this.getVisibleVertex(position - 1) : null;
514
+
515
+ return {
516
+ id: `${this.nodeId}-${++this.vertexCounter}`,
517
+ element: element,
518
+ leftOrigin: leftVertex ? leftVertex.id : null,
519
+ timestamp: Date.now(),
520
+ nodeId: this.nodeId
521
+ };
522
+ }
523
+
524
+ findInsertionIndex(vertex, targetPosition) {
525
+ // Simplified insertion logic - in practice would use more sophisticated
526
+ // causal ordering based on left origins and vector clocks
527
+ let visibleCount = 0;
528
+
529
+ for (let i = 0; i < this.sequence.length; i++) {
530
+ if (!this.tombstones.has(this.sequence[i].id)) {
531
+ if (visibleCount === targetPosition) {
532
+ return i;
533
+ }
534
+ visibleCount++;
535
+ }
536
+ }
537
+
538
+ return this.sequence.length;
539
+ }
540
+
541
+ getVisibleVertex(position) {
542
+ let visibleCount = 0;
543
+
544
+ for (const vertex of this.sequence) {
545
+ if (!this.tombstones.has(vertex.id)) {
546
+ if (visibleCount === position) {
547
+ return vertex;
548
+ }
549
+ visibleCount++;
550
+ }
551
+ }
552
+
553
+ return null;
554
+ }
555
+
556
+ mergeSequences(seq1, seq2) {
557
+ // Simplified merge - real implementation would use topological sort
558
+ // based on causal dependencies
559
+ const merged = [...seq1];
560
+
561
+ for (const vertex of seq2) {
562
+ if (!merged.find(v => v.id === vertex.id)) {
563
+ merged.push(vertex);
564
+ }
565
+ }
566
+
567
+ // Sort by timestamp for basic ordering
568
+ return merged.sort((a, b) => a.timestamp - b.timestamp);
569
+ }
570
+
571
+ onUpdate(callback) {
572
+ this.updateCallbacks.push(callback);
573
+ }
574
+
575
+ notifyUpdate(delta) {
576
+ this.updateCallbacks.forEach(callback => callback(delta));
577
+ }
578
+ }
579
+ ```
580
+
581
+ ### Delta-State CRDT Framework
582
+ ```javascript
583
+ class DeltaStateCRDT {
584
+ constructor(baseCRDT) {
585
+ this.baseCRDT = baseCRDT;
586
+ this.deltaBuffer = [];
587
+ this.lastSyncVector = new Map();
588
+ this.maxDeltaBuffer = 1000;
589
+ }
590
+
591
+ // Apply operation and track delta
592
+ applyOperation(operation) {
593
+ const oldState = this.baseCRDT.clone();
594
+ const result = this.baseCRDT.applyOperation(operation);
595
+ const newState = this.baseCRDT.clone();
596
+
597
+ // Compute delta
598
+ const delta = this.computeDelta(oldState, newState);
599
+ this.addDelta(delta);
600
+
601
+ return result;
602
+ }
603
+
604
+ // Add delta to buffer
605
+ addDelta(delta) {
606
+ this.deltaBuffer.push({
607
+ delta: delta,
608
+ timestamp: Date.now(),
609
+ vectorClock: this.baseCRDT.vectorClock.clone()
610
+ });
611
+
612
+ // Maintain buffer size
613
+ if (this.deltaBuffer.length > this.maxDeltaBuffer) {
614
+ this.deltaBuffer.shift();
615
+ }
616
+ }
617
+
618
+ // Get deltas since last sync with peer
619
+ getDeltasSince(peerNode) {
620
+ const lastSync = this.lastSyncVector.get(peerNode) || new VectorClock();
621
+
622
+ return this.deltaBuffer.filter(deltaEntry =>
623
+ deltaEntry.vectorClock.isAfter(lastSync)
624
+ );
625
+ }
626
+
627
+ // Apply received deltas
628
+ applyDeltas(deltas) {
629
+ const sortedDeltas = this.sortDeltasByCausalOrder(deltas);
630
+
631
+ for (const delta of sortedDeltas) {
632
+ this.baseCRDT.merge(delta.delta);
633
+ }
634
+ }
635
+
636
+ // Compute delta between two states
637
+ computeDelta(oldState, newState) {
638
+ // Implementation depends on specific CRDT type
639
+ // This is a simplified version
640
+ return {
641
+ type: 'STATE_DELTA',
642
+ changes: this.compareStates(oldState, newState)
643
+ };
644
+ }
645
+
646
+ sortDeltasByCausalOrder(deltas) {
647
+ // Sort deltas to respect causal ordering
648
+ return deltas.sort((a, b) => {
649
+ if (a.vectorClock.isBefore(b.vectorClock)) return -1;
650
+ if (b.vectorClock.isBefore(a.vectorClock)) return 1;
651
+ return 0;
652
+ });
653
+ }
654
+
655
+ // Garbage collection for old deltas
656
+ garbageCollectDeltas() {
657
+ const cutoffTime = Date.now() - (24 * 60 * 60 * 1000); // 24 hours
658
+
659
+ this.deltaBuffer = this.deltaBuffer.filter(
660
+ deltaEntry => deltaEntry.timestamp > cutoffTime
661
+ );
662
+ }
663
+ }
664
+ ```
665
+
666
+ ## MCP Integration Hooks
667
+
668
+ ### Memory Coordination for CRDT State
669
+ ```javascript
670
+ // Store CRDT state persistently
671
+ await this.mcpTools.memory_usage({
672
+ action: 'store',
673
+ key: `crdt_state_${this.crdtName}`,
674
+ value: JSON.stringify({
675
+ type: this.crdtType,
676
+ state: this.serializeState(),
677
+ vectorClock: Array.from(this.vectorClock.entries()),
678
+ lastSync: Array.from(this.lastSyncVector.entries())
679
+ }),
680
+ namespace: 'crdt_synchronization',
681
+ ttl: 0 // Persistent
682
+ });
683
+
684
+ // Coordinate delta synchronization
685
+ await this.mcpTools.memory_usage({
686
+ action: 'store',
687
+ key: `deltas_${this.nodeId}_${Date.now()}`,
688
+ value: JSON.stringify(this.getDeltasSince(null)),
689
+ namespace: 'crdt_deltas',
690
+ ttl: 86400000 // 24 hours
691
+ });
692
+ ```
693
+
694
+ ### Performance Monitoring
695
+ ```javascript
696
+ // Track CRDT synchronization metrics
697
+ await this.mcpTools.metrics_collect({
698
+ components: [
699
+ 'crdt_merge_time',
700
+ 'delta_generation_time',
701
+ 'sync_convergence_time',
702
+ 'memory_usage_per_crdt'
703
+ ]
704
+ });
705
+
706
+ // Neural pattern learning for sync optimization
707
+ await this.mcpTools.neural_patterns({
708
+ action: 'learn',
709
+ operation: 'crdt_sync_optimization',
710
+ outcome: JSON.stringify({
711
+ syncPattern: this.lastSyncPattern,
712
+ convergenceTime: this.lastConvergenceTime,
713
+ networkTopology: this.networkState
714
+ })
715
+ });
716
+ ```
717
+
718
+ ## Advanced CRDT Features
719
+
720
+ ### Causal Consistency Tracker
721
+ ```javascript
722
+ class CausalTracker {
723
+ constructor(nodeId) {
724
+ this.nodeId = nodeId;
725
+ this.vectorClock = new VectorClock(nodeId);
726
+ this.causalBuffer = new Map();
727
+ this.deliveredEvents = new Set();
728
+ }
729
+
730
+ // Track causal dependencies
731
+ trackEvent(event) {
732
+ event.vectorClock = this.vectorClock.clone();
733
+ this.vectorClock.increment();
734
+
735
+ // Check if event can be delivered
736
+ if (this.canDeliver(event)) {
737
+ this.deliverEvent(event);
738
+ this.checkBufferedEvents();
739
+ } else {
740
+ this.bufferEvent(event);
741
+ }
742
+ }
743
+
744
+ canDeliver(event) {
745
+ // Event can be delivered if all its causal dependencies are satisfied
746
+ for (const [nodeId, clock] of event.vectorClock.entries()) {
747
+ if (nodeId === event.originNode) {
748
+ // Origin node's clock should be exactly one more than current
749
+ if (clock !== this.vectorClock.get(nodeId) + 1) {
750
+ return false;
751
+ }
752
+ } else {
753
+ // Other nodes' clocks should not exceed current
754
+ if (clock > this.vectorClock.get(nodeId)) {
755
+ return false;
756
+ }
757
+ }
758
+ }
759
+ return true;
760
+ }
761
+
762
+ deliverEvent(event) {
763
+ if (!this.deliveredEvents.has(event.id)) {
764
+ // Update vector clock
765
+ this.vectorClock.merge(event.vectorClock);
766
+
767
+ // Mark as delivered
768
+ this.deliveredEvents.add(event.id);
769
+
770
+ // Apply event to CRDT
771
+ this.applyCRDTOperation(event);
772
+ }
773
+ }
774
+
775
+ bufferEvent(event) {
776
+ if (!this.causalBuffer.has(event.id)) {
777
+ this.causalBuffer.set(event.id, event);
778
+ }
779
+ }
780
+
781
+ checkBufferedEvents() {
782
+ const deliverable = [];
783
+
784
+ for (const [eventId, event] of this.causalBuffer) {
785
+ if (this.canDeliver(event)) {
786
+ deliverable.push(event);
787
+ }
788
+ }
789
+
790
+ // Deliver events in causal order
791
+ for (const event of deliverable) {
792
+ this.causalBuffer.delete(event.id);
793
+ this.deliverEvent(event);
794
+ }
795
+ }
796
+ }
797
+ ```
798
+
799
+ ### CRDT Composition Framework
800
+ ```javascript
801
+ class CRDTComposer {
802
+ constructor() {
803
+ this.compositeTypes = new Map();
804
+ this.transformations = new Map();
805
+ }
806
+
807
+ // Define composite CRDT structure
808
+ defineComposite(name, schema) {
809
+ this.compositeTypes.set(name, {
810
+ schema: schema,
811
+ factory: (nodeId, replicationGroup) =>
812
+ this.createComposite(schema, nodeId, replicationGroup)
813
+ });
814
+ }
815
+
816
+ createComposite(schema, nodeId, replicationGroup) {
817
+ const composite = new CompositeCRDT(nodeId, replicationGroup);
818
+
819
+ for (const [fieldName, fieldSpec] of Object.entries(schema)) {
820
+ const fieldCRDT = this.createFieldCRDT(fieldSpec, nodeId, replicationGroup);
821
+ composite.addField(fieldName, fieldCRDT);
822
+ }
823
+
824
+ return composite;
825
+ }
826
+
827
+ createFieldCRDT(fieldSpec, nodeId, replicationGroup) {
828
+ switch (fieldSpec.type) {
829
+ case 'counter':
830
+ return fieldSpec.decrements ?
831
+ new PNCounter(nodeId, replicationGroup) :
832
+ new GCounter(nodeId, replicationGroup);
833
+ case 'set':
834
+ return new ORSet(nodeId);
835
+ case 'register':
836
+ return new LWWRegister(nodeId);
837
+ case 'map':
838
+ return new ORMap(nodeId, replicationGroup, fieldSpec.valueType);
839
+ case 'sequence':
840
+ return new RGA(nodeId);
841
+ default:
842
+ throw new Error(`Unknown CRDT field type: ${fieldSpec.type}`);
843
+ }
844
+ }
845
+ }
846
+
847
+ class CompositeCRDT {
848
+ constructor(nodeId, replicationGroup) {
849
+ this.nodeId = nodeId;
850
+ this.replicationGroup = replicationGroup;
851
+ this.fields = new Map();
852
+ this.updateCallbacks = [];
853
+ }
854
+
855
+ addField(name, crdt) {
856
+ this.fields.set(name, crdt);
857
+
858
+ // Subscribe to field updates
859
+ crdt.onUpdate((delta) => {
860
+ this.notifyUpdate({
861
+ type: 'FIELD_UPDATE',
862
+ field: name,
863
+ delta: delta
864
+ });
865
+ });
866
+ }
867
+
868
+ getField(name) {
869
+ return this.fields.get(name);
870
+ }
871
+
872
+ merge(otherComposite) {
873
+ let changed = false;
874
+
875
+ for (const [fieldName, fieldCRDT] of this.fields) {
876
+ const otherField = otherComposite.fields.get(fieldName);
877
+ if (otherField) {
878
+ const oldState = fieldCRDT.clone();
879
+ fieldCRDT.merge(otherField);
880
+
881
+ if (!this.statesEqual(oldState, fieldCRDT)) {
882
+ changed = true;
883
+ }
884
+ }
885
+ }
886
+
887
+ if (changed) {
888
+ this.notifyUpdate({
889
+ type: 'COMPOSITE_MERGE',
890
+ mergedFrom: otherComposite
891
+ });
892
+ }
893
+ }
894
+
895
+ serialize() {
896
+ const serialized = {};
897
+
898
+ for (const [fieldName, fieldCRDT] of this.fields) {
899
+ serialized[fieldName] = fieldCRDT.serialize();
900
+ }
901
+
902
+ return serialized;
903
+ }
904
+
905
+ onUpdate(callback) {
906
+ this.updateCallbacks.push(callback);
907
+ }
908
+
909
+ notifyUpdate(delta) {
910
+ this.updateCallbacks.forEach(callback => callback(delta));
911
+ }
912
+ }
913
+ ```
914
+
915
+ ## Integration with Consensus Protocols
916
+
917
+ ### CRDT-Enhanced Consensus
918
+ ```javascript
919
+ class CRDTConsensusIntegrator {
920
+ constructor(consensusProtocol, crdtSynchronizer) {
921
+ this.consensus = consensusProtocol;
922
+ this.crdt = crdtSynchronizer;
923
+ this.hybridOperations = new Map();
924
+ }
925
+
926
+ // Hybrid operation: consensus for ordering, CRDT for state
927
+ async hybridUpdate(operation) {
928
+ // Step 1: Achieve consensus on operation ordering
929
+ const consensusResult = await this.consensus.propose({
930
+ type: 'CRDT_OPERATION',
931
+ operation: operation,
932
+ timestamp: Date.now()
933
+ });
934
+
935
+ if (consensusResult.committed) {
936
+ // Step 2: Apply operation to CRDT with consensus-determined order
937
+ const orderedOperation = {
938
+ ...operation,
939
+ consensusIndex: consensusResult.index,
940
+ globalTimestamp: consensusResult.timestamp
941
+ };
942
+
943
+ await this.crdt.applyOrderedOperation(orderedOperation);
944
+
945
+ return {
946
+ success: true,
947
+ consensusIndex: consensusResult.index,
948
+ crdtState: this.crdt.getCurrentState()
949
+ };
950
+ }
951
+
952
+ return { success: false, reason: 'Consensus failed' };
953
+ }
954
+
955
+ // Optimized read operations using CRDT without consensus
956
+ async optimisticRead(key) {
957
+ return this.crdt.read(key);
958
+ }
959
+
960
+ // Strong consistency read requiring consensus verification
961
+ async strongRead(key) {
962
+ // Verify current CRDT state against consensus
963
+ const consensusState = await this.consensus.getCommittedState();
964
+ const crdtState = this.crdt.getCurrentState();
965
+
966
+ if (this.statesConsistent(consensusState, crdtState)) {
967
+ return this.crdt.read(key);
968
+ } else {
969
+ // Reconcile states before read
970
+ await this.reconcileStates(consensusState, crdtState);
971
+ return this.crdt.read(key);
972
+ }
973
+ }
974
+ }
975
+ ```
976
+
977
+ This CRDT Synchronizer provides comprehensive support for conflict-free replicated data types, enabling eventually consistent distributed state management that complements consensus protocols for different consistency requirements.