@monoes/monomindcli 2.9.22 → 2.9.24

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 (1006) hide show
  1. package/.claude/agents/consensus/quorum-manager.md +35 -54
  2. package/.claude/agents/core/coordinator.md +14 -18
  3. package/.claude/agents/core/researcher.md +1 -1
  4. package/.claude/agents/github/issue-tracker.md +3 -3
  5. package/.claude/agents/github/{code-review-swarm.md → monoswarm-code-review.md} +1 -1
  6. package/.claude/agents/github/{swarm-issue.md → monoswarm-issue.md} +1 -1
  7. package/.claude/agents/github/{multi-repo-swarm.md → monoswarm-multi-repo.md} +1 -1
  8. package/.claude/agents/github/{swarm-pr.md → monoswarm-pr.md} +1 -1
  9. package/.claude/agents/github/pr-manager.md +1 -1
  10. package/.claude/agents/github/release-manager.md +1 -1
  11. package/.claude/agents/github/repo-architect.md +1 -1
  12. package/.claude/agents/github/sync-coordinator.md +4 -4
  13. package/.claude/agents/{hive-mind → monoswarm}/collective-intelligence-coordinator.md +9 -16
  14. package/.claude/agents/{swarm → monoswarm}/mesh-coordinator.md +19 -24
  15. package/.claude/agents/{hive-mind/swarm-memory-manager.md → monoswarm/monoswarm-memory-manager.md} +1 -1
  16. package/.claude/agents/templates/{coordinator-swarm-init.md → coordinator-monoswarm-init.md} +1 -1
  17. package/.claude/agents/testing/{tdd-london-swarm.md → tdd-london-monoswarm.md} +2 -2
  18. package/.claude/commands/agents/agent-coordination.md +3 -3
  19. package/.claude/commands/agents/agent-types.md +1 -1
  20. package/.claude/commands/automation/self-healing.md +1 -1
  21. package/.claude/commands/automation/smart-spawn.md +1 -1
  22. package/.claude/commands/coordination/README.md +1 -1
  23. package/.claude/commands/coordination/{swarm-init.md → monoswarm-init.md} +2 -2
  24. package/.claude/commands/coordination/task-orchestrate.md +4 -4
  25. package/.claude/commands/github/README.md +1 -1
  26. package/.claude/commands/github/issue-tracker.md +2 -2
  27. package/.claude/commands/github/pr-manager.md +1 -1
  28. package/.claude/commands/github/release-manager.md +1 -1
  29. package/.claude/commands/github/repo-architect.md +1 -1
  30. package/.claude/commands/github/sync-coordinator.md +2 -2
  31. package/.claude/commands/hooks/README.md +1 -2
  32. package/.claude/commands/hooks/overview.md +1 -2
  33. package/.claude/commands/hooks/setup.md +0 -3
  34. package/.claude/commands/mastermind/createtask.md +2 -2
  35. package/.claude/commands/mastermind/do.md +3 -3
  36. package/.claude/commands/mastermind/help.md +2 -2
  37. package/.claude/commands/mastermind/ideate.md +1 -1
  38. package/.claude/commands/mastermind/improve.md +1 -1
  39. package/.claude/commands/mastermind/memory.md +2 -2
  40. package/.claude/commands/mastermind/{swarm.md → monoswarm.md} +13 -26
  41. package/.claude/commands/mastermind/topology.md +1 -1
  42. package/.claude/commands/memory/README.md +2 -2
  43. package/.claude/commands/memory/memory-search.md +1 -1
  44. package/.claude/commands/monoswarm/README.md +59 -0
  45. package/.claude/commands/monoswarm/consensus.md +61 -0
  46. package/.claude/commands/monoswarm/init.md +68 -0
  47. package/.claude/commands/monoswarm/memory.md +55 -0
  48. package/.claude/commands/monoswarm/monoswarm.md +139 -0
  49. package/.claude/commands/{swarm → monoswarm}/research.md +2 -2
  50. package/.claude/commands/monoswarm/spawn.md +49 -0
  51. package/.claude/commands/monoswarm/status.md +48 -0
  52. package/.claude/commands/monoswarm/stop.md +46 -0
  53. package/.claude/commands/optimization/auto-topology.md +9 -9
  54. package/.claude/commands/stream-chain/run.md +1 -1
  55. package/.claude/commands/workflows/development.md +1 -1
  56. package/.claude/commands/workflows/research.md +2 -2
  57. package/.claude/helpers/audit-log-writer.cjs +72 -0
  58. package/.claude/helpers/control-start.cjs +84 -26
  59. package/.claude/helpers/handlers/agent-start-handler.cjs +5 -5
  60. package/.claude/helpers/handlers/gates-handler.cjs +31 -10
  61. package/.claude/helpers/handlers/session-restore-handler.cjs +1 -1
  62. package/.claude/helpers/handlers/task-handler.cjs +4 -4
  63. package/.claude/helpers/skill-registry.json +4718 -3669
  64. package/.claude/helpers/statusline.cjs +21 -21
  65. package/.claude/helpers/token-tracker.cjs +0 -6
  66. package/.claude/settings.json +2 -3
  67. package/.claude/skills/hooks-automation/SKILL.md +5 -5
  68. package/.claude/skills/mastermind-protocol/SKILL.md +3 -3
  69. package/.claude/skills/memory-toolkit/SKILL.md +2 -2
  70. package/.claude/skills/{swarm-orchestration → monoswarm}/SKILL.md +106 -42
  71. package/.claude/skills/specialagent/SKILL.md +1 -1
  72. package/README.md +31 -12
  73. package/dist/src/agents/registry-builder.d.ts.map +1 -1
  74. package/dist/src/agents/registry-builder.js +8 -9
  75. package/dist/src/agents/registry-builder.js.map +1 -1
  76. package/dist/src/autopilot-state.d.ts +0 -16
  77. package/dist/src/autopilot-state.d.ts.map +1 -1
  78. package/dist/src/autopilot-state.js +6 -21
  79. package/dist/src/autopilot-state.js.map +1 -1
  80. package/dist/src/browser/action-builder/analyzer.d.ts.map +1 -1
  81. package/dist/src/browser/action-builder/analyzer.js +6 -6
  82. package/dist/src/browser/action-builder/analyzer.js.map +1 -1
  83. package/dist/src/browser/action-builder/types.d.ts.map +1 -1
  84. package/dist/src/browser/adapters/gemini.d.ts.map +1 -1
  85. package/dist/src/browser/adapters/index.d.ts.map +1 -1
  86. package/dist/src/browser/adapters/index.js +2 -2
  87. package/dist/src/browser/adapters/index.js.map +1 -1
  88. package/dist/src/browser/adapters/instagram.d.ts.map +1 -1
  89. package/dist/src/browser/adapters/linkedin.d.ts.map +1 -1
  90. package/dist/src/browser/adapters/linkedin.js +9 -1
  91. package/dist/src/browser/adapters/linkedin.js.map +1 -1
  92. package/dist/src/browser/adapters/x.d.ts.map +1 -1
  93. package/dist/src/browser/adapters/x.js +14 -2
  94. package/dist/src/browser/adapters/x.js.map +1 -1
  95. package/dist/src/browser/dashboard/server.d.ts.map +1 -1
  96. package/dist/src/browser/dashboard/server.js +23 -13
  97. package/dist/src/browser/dashboard/server.js.map +1 -1
  98. package/dist/src/browser/dashboard/ui.html +5 -5
  99. package/dist/src/browser/workflow/engine.d.ts +1 -1
  100. package/dist/src/browser/workflow/engine.d.ts.map +1 -1
  101. package/dist/src/browser/workflow/engine.js +74 -25
  102. package/dist/src/browser/workflow/engine.js.map +1 -1
  103. package/dist/src/browser/workflow/store.d.ts +1 -1
  104. package/dist/src/browser/workflow/store.d.ts.map +1 -1
  105. package/dist/src/browser/workflow/store.js +54 -26
  106. package/dist/src/browser/workflow/store.js.map +1 -1
  107. package/dist/src/browser/workflow/types.d.ts.map +1 -1
  108. package/dist/src/capabilities/cap-code.d.ts.map +1 -1
  109. package/dist/src/capabilities/cap-code.js.map +1 -1
  110. package/dist/src/capabilities/cap-data.d.ts.map +1 -1
  111. package/dist/src/capabilities/cap-data.js +28 -8
  112. package/dist/src/capabilities/cap-data.js.map +1 -1
  113. package/dist/src/capabilities/cap-documents.d.ts.map +1 -1
  114. package/dist/src/capabilities/cap-documents.js +136 -54
  115. package/dist/src/capabilities/cap-documents.js.map +1 -1
  116. package/dist/src/capabilities/cap-graph.d.ts.map +1 -1
  117. package/dist/src/capabilities/cap-graph.js +3 -3
  118. package/dist/src/capabilities/cap-graph.js.map +1 -1
  119. package/dist/src/capabilities/cap-media.d.ts.map +1 -1
  120. package/dist/src/capabilities/cap-media.js +1 -1
  121. package/dist/src/capabilities/cap-media.js.map +1 -1
  122. package/dist/src/capabilities/cap-timeline.d.ts.map +1 -1
  123. package/dist/src/capabilities/cap-timeline.js +33 -7
  124. package/dist/src/capabilities/cap-timeline.js.map +1 -1
  125. package/dist/src/capabilities/index.d.ts +5 -5
  126. package/dist/src/capabilities/index.d.ts.map +1 -1
  127. package/dist/src/capabilities/index.js +5 -5
  128. package/dist/src/capabilities/index.js.map +1 -1
  129. package/dist/src/capabilities/manager.d.ts.map +1 -1
  130. package/dist/src/capabilities/manager.js +6 -6
  131. package/dist/src/capabilities/manager.js.map +1 -1
  132. package/dist/src/capabilities/scanner.d.ts.map +1 -1
  133. package/dist/src/capabilities/scanner.js +103 -14
  134. package/dist/src/capabilities/scanner.js.map +1 -1
  135. package/dist/src/commands/agent-lifecycle.d.ts.map +1 -1
  136. package/dist/src/commands/agent-lifecycle.js +120 -41
  137. package/dist/src/commands/agent-lifecycle.js.map +1 -1
  138. package/dist/src/commands/agent-ops.d.ts.map +1 -1
  139. package/dist/src/commands/agent-ops.js +107 -41
  140. package/dist/src/commands/agent-ops.js.map +1 -1
  141. package/dist/src/commands/agent.d.ts.map +1 -1
  142. package/dist/src/commands/agent.js +11 -3
  143. package/dist/src/commands/agent.js.map +1 -1
  144. package/dist/src/commands/analyze-ast.d.ts +1 -1
  145. package/dist/src/commands/analyze-ast.d.ts.map +1 -1
  146. package/dist/src/commands/analyze-ast.js +47 -41
  147. package/dist/src/commands/analyze-ast.js.map +1 -1
  148. package/dist/src/commands/analyze-diff.d.ts.map +1 -1
  149. package/dist/src/commands/analyze-diff.js +147 -35
  150. package/dist/src/commands/analyze-diff.js.map +1 -1
  151. package/dist/src/commands/analyze-imports.d.ts.map +1 -1
  152. package/dist/src/commands/analyze-imports.js +74 -30
  153. package/dist/src/commands/analyze-imports.js.map +1 -1
  154. package/dist/src/commands/analyze-symbols.d.ts.map +1 -1
  155. package/dist/src/commands/analyze-symbols.js +55 -41
  156. package/dist/src/commands/analyze-symbols.js.map +1 -1
  157. package/dist/src/commands/analyze.d.ts +19 -6
  158. package/dist/src/commands/analyze.d.ts.map +1 -1
  159. package/dist/src/commands/analyze.js +90 -28
  160. package/dist/src/commands/analyze.js.map +1 -1
  161. package/dist/src/commands/autopilot.d.ts.map +1 -1
  162. package/dist/src/commands/autopilot.js +5 -90
  163. package/dist/src/commands/autopilot.js.map +1 -1
  164. package/dist/src/commands/browse-action.d.ts.map +1 -1
  165. package/dist/src/commands/browse-action.js +65 -17
  166. package/dist/src/commands/browse-action.js.map +1 -1
  167. package/dist/src/commands/browse-platform.d.ts.map +1 -1
  168. package/dist/src/commands/browse-platform.js +13 -10
  169. package/dist/src/commands/browse-platform.js.map +1 -1
  170. package/dist/src/commands/browse-workflow.d.ts.map +1 -1
  171. package/dist/src/commands/browse-workflow.js +54 -20
  172. package/dist/src/commands/browse-workflow.js.map +1 -1
  173. package/dist/src/commands/browse.d.ts +1 -1
  174. package/dist/src/commands/browse.js +2 -2
  175. package/dist/src/commands/browse.js.map +1 -1
  176. package/dist/src/commands/cleanup.d.ts.map +1 -1
  177. package/dist/src/commands/cleanup.js +115 -49
  178. package/dist/src/commands/cleanup.js.map +1 -1
  179. package/dist/src/commands/completions.d.ts.map +1 -1
  180. package/dist/src/commands/completions.js +34 -21
  181. package/dist/src/commands/completions.js.map +1 -1
  182. package/dist/src/commands/config.d.ts.map +1 -1
  183. package/dist/src/commands/config.js +95 -54
  184. package/dist/src/commands/config.js.map +1 -1
  185. package/dist/src/commands/crash-reporting.d.ts.map +1 -1
  186. package/dist/src/commands/crash-reporting.js +10 -4
  187. package/dist/src/commands/crash-reporting.js.map +1 -1
  188. package/dist/src/commands/design-detect.d.ts.map +1 -1
  189. package/dist/src/commands/design-detect.js +33 -12
  190. package/dist/src/commands/design-detect.js.map +1 -1
  191. package/dist/src/commands/design-palette.d.ts.map +1 -1
  192. package/dist/src/commands/design-palette.js +770 -380
  193. package/dist/src/commands/design-palette.js.map +1 -1
  194. package/dist/src/commands/doc.d.ts.map +1 -1
  195. package/dist/src/commands/doc.js +272 -60
  196. package/dist/src/commands/doc.js.map +1 -1
  197. package/dist/src/commands/doctor-env-checks.d.ts.map +1 -1
  198. package/dist/src/commands/doctor-env-checks.js +130 -31
  199. package/dist/src/commands/doctor-env-checks.js.map +1 -1
  200. package/dist/src/commands/doctor-monoes-checks.d.ts.map +1 -1
  201. package/dist/src/commands/doctor-monoes-checks.js +20 -7
  202. package/dist/src/commands/doctor-monoes-checks.js.map +1 -1
  203. package/dist/src/commands/doctor-project-checks.d.ts +7 -0
  204. package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
  205. package/dist/src/commands/doctor-project-checks.js +476 -114
  206. package/dist/src/commands/doctor-project-checks.js.map +1 -1
  207. package/dist/src/commands/doctor.d.ts.map +1 -1
  208. package/dist/src/commands/doctor.js +139 -60
  209. package/dist/src/commands/doctor.js.map +1 -1
  210. package/dist/src/commands/download-embeddings.d.ts.map +1 -1
  211. package/dist/src/commands/download-embeddings.js +1 -1
  212. package/dist/src/commands/download-embeddings.js.map +1 -1
  213. package/dist/src/commands/events.d.ts.map +1 -1
  214. package/dist/src/commands/events.js +5 -2
  215. package/dist/src/commands/events.js.map +1 -1
  216. package/dist/src/commands/guidance.d.ts.map +1 -1
  217. package/dist/src/commands/guidance.js +38 -14
  218. package/dist/src/commands/guidance.js.map +1 -1
  219. package/dist/src/commands/hooks-core-commands.d.ts.map +1 -1
  220. package/dist/src/commands/hooks-core-commands.js +71 -44
  221. package/dist/src/commands/hooks-core-commands.js.map +1 -1
  222. package/dist/src/commands/hooks-coverage-commands.d.ts +1 -2
  223. package/dist/src/commands/hooks-coverage-commands.d.ts.map +1 -1
  224. package/dist/src/commands/hooks-coverage-commands.js +140 -58
  225. package/dist/src/commands/hooks-coverage-commands.js.map +1 -1
  226. package/dist/src/commands/hooks-coverage-gaps.d.ts.map +1 -1
  227. package/dist/src/commands/hooks-coverage-gaps.js +74 -36
  228. package/dist/src/commands/hooks-coverage-gaps.js.map +1 -1
  229. package/dist/src/commands/hooks-coverage-routing.d.ts.map +1 -1
  230. package/dist/src/commands/hooks-coverage-routing.js +139 -66
  231. package/dist/src/commands/hooks-coverage-routing.js.map +1 -1
  232. package/dist/src/commands/hooks-coverage-utils.d.ts.map +1 -1
  233. package/dist/src/commands/hooks-coverage-utils.js +27 -8
  234. package/dist/src/commands/hooks-coverage-utils.js.map +1 -1
  235. package/dist/src/commands/hooks-extended-commands.d.ts.map +1 -1
  236. package/dist/src/commands/hooks-extended-commands.js +86 -21
  237. package/dist/src/commands/hooks-extended-commands.js.map +1 -1
  238. package/dist/src/commands/hooks-routing-commands.d.ts +1 -2
  239. package/dist/src/commands/hooks-routing-commands.d.ts.map +1 -1
  240. package/dist/src/commands/hooks-routing-commands.js +175 -183
  241. package/dist/src/commands/hooks-routing-commands.js.map +1 -1
  242. package/dist/src/commands/hooks-workers.d.ts.map +1 -1
  243. package/dist/src/commands/hooks-workers.js +111 -128
  244. package/dist/src/commands/hooks-workers.js.map +1 -1
  245. package/dist/src/commands/hooks.d.ts +1 -1
  246. package/dist/src/commands/hooks.d.ts.map +1 -1
  247. package/dist/src/commands/hooks.js +9 -12
  248. package/dist/src/commands/hooks.js.map +1 -1
  249. package/dist/src/commands/index.d.ts +1 -1
  250. package/dist/src/commands/index.d.ts.map +1 -1
  251. package/dist/src/commands/index.js +2 -2
  252. package/dist/src/commands/index.js.map +1 -1
  253. package/dist/src/commands/init-subcommands.d.ts.map +1 -1
  254. package/dist/src/commands/init-subcommands.js +16 -5
  255. package/dist/src/commands/init-subcommands.js.map +1 -1
  256. package/dist/src/commands/init-upgrade.d.ts.map +1 -1
  257. package/dist/src/commands/init-upgrade.js +46 -23
  258. package/dist/src/commands/init-upgrade.js.map +1 -1
  259. package/dist/src/commands/init-wizard.d.ts.map +1 -1
  260. package/dist/src/commands/init-wizard.js +161 -44
  261. package/dist/src/commands/init-wizard.js.map +1 -1
  262. package/dist/src/commands/init.d.ts.map +1 -1
  263. package/dist/src/commands/init.js +179 -64
  264. package/dist/src/commands/init.js.map +1 -1
  265. package/dist/src/commands/mcp.d.ts +1 -0
  266. package/dist/src/commands/mcp.d.ts.map +1 -1
  267. package/dist/src/commands/mcp.js +229 -134
  268. package/dist/src/commands/mcp.js.map +1 -1
  269. package/dist/src/commands/memory-admin.d.ts.map +1 -1
  270. package/dist/src/commands/memory-admin.js +67 -48
  271. package/dist/src/commands/memory-admin.js.map +1 -1
  272. package/dist/src/commands/memory-crud.d.ts.map +1 -1
  273. package/dist/src/commands/memory-crud.js +97 -60
  274. package/dist/src/commands/memory-crud.js.map +1 -1
  275. package/dist/src/commands/memory-list.d.ts.map +1 -1
  276. package/dist/src/commands/memory-list.js +6 -6
  277. package/dist/src/commands/memory-list.js.map +1 -1
  278. package/dist/src/commands/memory-transfer.d.ts.map +1 -1
  279. package/dist/src/commands/memory-transfer.js +46 -23
  280. package/dist/src/commands/memory-transfer.js.map +1 -1
  281. package/dist/src/commands/memory.d.ts.map +1 -1
  282. package/dist/src/commands/memory.js +63 -35
  283. package/dist/src/commands/memory.js.map +1 -1
  284. package/dist/src/commands/monograph.d.ts.map +1 -1
  285. package/dist/src/commands/monograph.js +170 -57
  286. package/dist/src/commands/monograph.js.map +1 -1
  287. package/dist/src/commands/monoswarm.d.ts +8 -0
  288. package/dist/src/commands/monoswarm.d.ts.map +1 -0
  289. package/dist/src/commands/{swarm.js → monoswarm.js} +93 -315
  290. package/dist/src/commands/monoswarm.js.map +1 -0
  291. package/dist/src/commands/neural-core.d.ts.map +1 -1
  292. package/dist/src/commands/neural-core.js +123 -32
  293. package/dist/src/commands/neural-core.js.map +1 -1
  294. package/dist/src/commands/neural-optimize.d.ts.map +1 -1
  295. package/dist/src/commands/neural-optimize.js +95 -130
  296. package/dist/src/commands/neural-optimize.js.map +1 -1
  297. package/dist/src/commands/neural-registry.d.ts +1 -2
  298. package/dist/src/commands/neural-registry.d.ts.map +1 -1
  299. package/dist/src/commands/neural-registry.js +70 -181
  300. package/dist/src/commands/neural-registry.js.map +1 -1
  301. package/dist/src/commands/org-observe.d.ts +13 -3
  302. package/dist/src/commands/org-observe.d.ts.map +1 -1
  303. package/dist/src/commands/org-observe.js +308 -131
  304. package/dist/src/commands/org-observe.js.map +1 -1
  305. package/dist/src/commands/org-visualize.d.ts.map +1 -1
  306. package/dist/src/commands/org-visualize.js +10 -5
  307. package/dist/src/commands/org-visualize.js.map +1 -1
  308. package/dist/src/commands/org.d.ts +15 -1
  309. package/dist/src/commands/org.d.ts.map +1 -1
  310. package/dist/src/commands/org.js +663 -193
  311. package/dist/src/commands/org.js.map +1 -1
  312. package/dist/src/commands/performance.d.ts.map +1 -1
  313. package/dist/src/commands/performance.js +232 -79
  314. package/dist/src/commands/performance.js.map +1 -1
  315. package/dist/src/commands/platforms.d.ts +1 -1
  316. package/dist/src/commands/platforms.d.ts.map +1 -1
  317. package/dist/src/commands/platforms.js +89 -49
  318. package/dist/src/commands/platforms.js.map +1 -1
  319. package/dist/src/commands/providers.d.ts.map +1 -1
  320. package/dist/src/commands/providers.js +31 -18
  321. package/dist/src/commands/providers.js.map +1 -1
  322. package/dist/src/commands/report-crash.d.ts.map +1 -1
  323. package/dist/src/commands/report-crash.js +17 -5
  324. package/dist/src/commands/report-crash.js.map +1 -1
  325. package/dist/src/commands/route.d.ts.map +1 -1
  326. package/dist/src/commands/route.js +123 -41
  327. package/dist/src/commands/route.js.map +1 -1
  328. package/dist/src/commands/search-universal.d.ts +1 -1
  329. package/dist/src/commands/search-universal.d.ts.map +1 -1
  330. package/dist/src/commands/search-universal.js +29 -14
  331. package/dist/src/commands/search-universal.js.map +1 -1
  332. package/dist/src/commands/security-cve.d.ts.map +1 -1
  333. package/dist/src/commands/security-cve.js +75 -34
  334. package/dist/src/commands/security-cve.js.map +1 -1
  335. package/dist/src/commands/security-misc.d.ts.map +1 -1
  336. package/dist/src/commands/security-misc.js +362 -102
  337. package/dist/src/commands/security-misc.js.map +1 -1
  338. package/dist/src/commands/security-scan.d.ts +13 -0
  339. package/dist/src/commands/security-scan.d.ts.map +1 -1
  340. package/dist/src/commands/security-scan.js +222 -57
  341. package/dist/src/commands/security-scan.js.map +1 -1
  342. package/dist/src/commands/security.d.ts.map +1 -1
  343. package/dist/src/commands/security.js +10 -3
  344. package/dist/src/commands/security.js.map +1 -1
  345. package/dist/src/commands/session.d.ts.map +1 -1
  346. package/dist/src/commands/session.js +81 -75
  347. package/dist/src/commands/session.js.map +1 -1
  348. package/dist/src/commands/start.d.ts.map +1 -1
  349. package/dist/src/commands/start.js +59 -129
  350. package/dist/src/commands/start.js.map +1 -1
  351. package/dist/src/commands/status.d.ts.map +1 -1
  352. package/dist/src/commands/status.js +151 -130
  353. package/dist/src/commands/status.js.map +1 -1
  354. package/dist/src/commands/task.d.ts.map +1 -1
  355. package/dist/src/commands/task.js +115 -84
  356. package/dist/src/commands/task.js.map +1 -1
  357. package/dist/src/commands/tokens.d.ts.map +1 -1
  358. package/dist/src/commands/tokens.js +67 -32
  359. package/dist/src/commands/tokens.js.map +1 -1
  360. package/dist/src/commands/update.d.ts.map +1 -1
  361. package/dist/src/commands/update.js +3 -5
  362. package/dist/src/commands/update.js.map +1 -1
  363. package/dist/src/consensus/audit-writer.d.ts +7 -2
  364. package/dist/src/consensus/audit-writer.d.ts.map +1 -1
  365. package/dist/src/consensus/audit-writer.js +19 -11
  366. package/dist/src/consensus/audit-writer.js.map +1 -1
  367. package/dist/src/consensus/tally.d.ts.map +1 -1
  368. package/dist/src/consensus/tally.js +2 -2
  369. package/dist/src/consensus/tally.js.map +1 -1
  370. package/dist/src/index.d.ts +7 -7
  371. package/dist/src/index.d.ts.map +1 -1
  372. package/dist/src/index.js +51 -43
  373. package/dist/src/index.js.map +1 -1
  374. package/dist/src/init/claudemd-generator.d.ts +1 -1
  375. package/dist/src/init/claudemd-generator.d.ts.map +1 -1
  376. package/dist/src/init/claudemd-generator.js +52 -36
  377. package/dist/src/init/claudemd-generator.js.map +1 -1
  378. package/dist/src/init/codex-generator.d.ts +16 -0
  379. package/dist/src/init/codex-generator.d.ts.map +1 -0
  380. package/dist/src/init/codex-generator.js +180 -0
  381. package/dist/src/init/codex-generator.js.map +1 -0
  382. package/dist/src/init/copy-assets.d.ts.map +1 -1
  383. package/dist/src/init/copy-assets.js +17 -20
  384. package/dist/src/init/copy-assets.js.map +1 -1
  385. package/dist/src/init/executor.d.ts +1 -1
  386. package/dist/src/init/executor.d.ts.map +1 -1
  387. package/dist/src/init/executor.js +56 -29
  388. package/dist/src/init/executor.js.map +1 -1
  389. package/dist/src/init/geminimd-generator.d.ts +1 -1
  390. package/dist/src/init/geminimd-generator.d.ts.map +1 -1
  391. package/dist/src/init/geminimd-generator.js +2 -2
  392. package/dist/src/init/geminimd-generator.js.map +1 -1
  393. package/dist/src/init/helpers-generator.d.ts.map +1 -1
  394. package/dist/src/init/helpers-generator.js +7 -7
  395. package/dist/src/init/helpers-generator.js.map +1 -1
  396. package/dist/src/init/index.d.ts +8 -7
  397. package/dist/src/init/index.d.ts.map +1 -1
  398. package/dist/src/init/index.js +9 -8
  399. package/dist/src/init/index.js.map +1 -1
  400. package/dist/src/init/kimi-generator.d.ts +1 -1
  401. package/dist/src/init/kimi-generator.d.ts.map +1 -1
  402. package/dist/src/init/kimi-generator.js +34 -28
  403. package/dist/src/init/kimi-generator.js.map +1 -1
  404. package/dist/src/init/mcp-generator.d.ts.map +1 -1
  405. package/dist/src/init/mcp-generator.js +3 -11
  406. package/dist/src/init/mcp-generator.js.map +1 -1
  407. package/dist/src/init/opencode-generator.d.ts.map +1 -1
  408. package/dist/src/init/opencode-generator.js +35 -22
  409. package/dist/src/init/opencode-generator.js.map +1 -1
  410. package/dist/src/init/settings-generator.d.ts.map +1 -1
  411. package/dist/src/init/settings-generator.js +3 -7
  412. package/dist/src/init/settings-generator.js.map +1 -1
  413. package/dist/src/init/shared-instructions-generator.d.ts.map +1 -1
  414. package/dist/src/init/shared-instructions-generator.js +124 -76
  415. package/dist/src/init/shared-instructions-generator.js.map +1 -1
  416. package/dist/src/init/shared.d.ts.map +1 -1
  417. package/dist/src/init/shared.js +26 -25
  418. package/dist/src/init/shared.js.map +1 -1
  419. package/dist/src/init/statusline-generator.js +19 -19
  420. package/dist/src/init/types.d.ts +9 -10
  421. package/dist/src/init/types.d.ts.map +1 -1
  422. package/dist/src/init/types.js +10 -8
  423. package/dist/src/init/types.js.map +1 -1
  424. package/dist/src/init/upgrade.d.ts.map +1 -1
  425. package/dist/src/init/upgrade.js +24 -22
  426. package/dist/src/init/upgrade.js.map +1 -1
  427. package/dist/src/init/write-antigravity.d.ts.map +1 -1
  428. package/dist/src/init/write-antigravity.js +15 -7
  429. package/dist/src/init/write-antigravity.js.map +1 -1
  430. package/dist/src/init/write-capabilities.d.ts.map +1 -1
  431. package/dist/src/init/write-capabilities.js +39 -52
  432. package/dist/src/init/write-capabilities.js.map +1 -1
  433. package/dist/src/init/write-claude.d.ts.map +1 -1
  434. package/dist/src/init/write-claude.js +19 -15
  435. package/dist/src/init/write-claude.js.map +1 -1
  436. package/dist/src/init/write-codex.d.ts +4 -0
  437. package/dist/src/init/write-codex.d.ts.map +1 -0
  438. package/dist/src/init/write-codex.js +122 -0
  439. package/dist/src/init/write-codex.js.map +1 -0
  440. package/dist/src/init/write-kimicode.d.ts.map +1 -1
  441. package/dist/src/init/write-kimicode.js +10 -6
  442. package/dist/src/init/write-kimicode.js.map +1 -1
  443. package/dist/src/init/write-opencode.d.ts.map +1 -1
  444. package/dist/src/init/write-opencode.js +4 -4
  445. package/dist/src/init/write-opencode.js.map +1 -1
  446. package/dist/src/init/write-runtime-config.d.ts.map +1 -1
  447. package/dist/src/init/write-runtime-config.js +24 -24
  448. package/dist/src/init/write-runtime-config.js.map +1 -1
  449. package/dist/src/init/write-sample-org.js +1 -1
  450. package/dist/src/init/write-sample-org.js.map +1 -1
  451. package/dist/src/knowledge/document-pipeline.d.ts.map +1 -1
  452. package/dist/src/knowledge/document-pipeline.js +144 -48
  453. package/dist/src/knowledge/document-pipeline.js.map +1 -1
  454. package/dist/src/knowledge/eval/corpus.d.ts.map +1 -1
  455. package/dist/src/knowledge/eval/corpus.js +18 -9
  456. package/dist/src/knowledge/eval/corpus.js.map +1 -1
  457. package/dist/src/knowledge/eval/golden-set.d.ts.map +1 -1
  458. package/dist/src/knowledge/eval/golden-set.js +4286 -136
  459. package/dist/src/knowledge/eval/golden-set.js.map +1 -1
  460. package/dist/src/knowledge/eval/harness.d.ts +2 -2
  461. package/dist/src/knowledge/eval/harness.d.ts.map +1 -1
  462. package/dist/src/knowledge/eval/harness.js +163 -70
  463. package/dist/src/knowledge/eval/harness.js.map +1 -1
  464. package/dist/src/knowledge/eval/metrics.d.ts.map +1 -1
  465. package/dist/src/knowledge/eval/metrics.js +25 -18
  466. package/dist/src/knowledge/eval/metrics.js.map +1 -1
  467. package/dist/src/knowledge/eval/model-presence.d.ts.map +1 -1
  468. package/dist/src/knowledge/eval/model-presence.js +40 -14
  469. package/dist/src/knowledge/eval/model-presence.js.map +1 -1
  470. package/dist/src/knowledge/eval/network-guard.d.ts.map +1 -1
  471. package/dist/src/knowledge/eval/network-guard.js +22 -10
  472. package/dist/src/knowledge/eval/network-guard.js.map +1 -1
  473. package/dist/src/knowledge/eval/retrievers.d.ts.map +1 -1
  474. package/dist/src/knowledge/eval/retrievers.js +14 -10
  475. package/dist/src/knowledge/eval/retrievers.js.map +1 -1
  476. package/dist/src/knowledge/eval/signals.d.ts.map +1 -1
  477. package/dist/src/knowledge/eval/signals.js +54 -18
  478. package/dist/src/knowledge/eval/signals.js.map +1 -1
  479. package/dist/src/mcp-client.d.ts.map +1 -1
  480. package/dist/src/mcp-client.js +70 -35
  481. package/dist/src/mcp-client.js.map +1 -1
  482. package/dist/src/mcp-server.d.ts +1 -9
  483. package/dist/src/mcp-server.d.ts.map +1 -1
  484. package/dist/src/mcp-server.js +20 -43
  485. package/dist/src/mcp-server.js.map +1 -1
  486. package/dist/src/mcp-tools/agent-tools.d.ts +1 -1
  487. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
  488. package/dist/src/mcp-tools/agent-tools.js +87 -52
  489. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  490. package/dist/src/mcp-tools/analyze-tools.d.ts.map +1 -1
  491. package/dist/src/mcp-tools/analyze-tools.js +34 -17
  492. package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
  493. package/dist/src/mcp-tools/auto-install.d.ts.map +1 -1
  494. package/dist/src/mcp-tools/auto-install.js +3 -3
  495. package/dist/src/mcp-tools/auto-install.js.map +1 -1
  496. package/dist/src/mcp-tools/autopilot-tools.d.ts +1 -1
  497. package/dist/src/mcp-tools/autopilot-tools.d.ts.map +1 -1
  498. package/dist/src/mcp-tools/autopilot-tools.js +32 -70
  499. package/dist/src/mcp-tools/autopilot-tools.js.map +1 -1
  500. package/dist/src/mcp-tools/browser-tools.d.ts.map +1 -1
  501. package/dist/src/mcp-tools/browser-tools.js +119 -37
  502. package/dist/src/mcp-tools/browser-tools.js.map +1 -1
  503. package/dist/src/mcp-tools/claims-tools.d.ts.map +1 -1
  504. package/dist/src/mcp-tools/claims-tools.js +100 -44
  505. package/dist/src/mcp-tools/claims-tools.js.map +1 -1
  506. package/dist/src/mcp-tools/config-tools.d.ts.map +1 -1
  507. package/dist/src/mcp-tools/config-tools.js +36 -15
  508. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  509. package/dist/src/mcp-tools/embeddings-tools.d.ts.map +1 -1
  510. package/dist/src/mcp-tools/embeddings-tools.js +34 -23
  511. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  512. package/dist/src/mcp-tools/github-tools.d.ts.map +1 -1
  513. package/dist/src/mcp-tools/github-tools.js +200 -43
  514. package/dist/src/mcp-tools/github-tools.js.map +1 -1
  515. package/dist/src/mcp-tools/graphify-tools.d.ts.map +1 -1
  516. package/dist/src/mcp-tools/graphify-tools.js +2 -2
  517. package/dist/src/mcp-tools/graphify-tools.js.map +1 -1
  518. package/dist/src/mcp-tools/guidance-tools.d.ts.map +1 -1
  519. package/dist/src/mcp-tools/guidance-tools.js +461 -115
  520. package/dist/src/mcp-tools/guidance-tools.js.map +1 -1
  521. package/dist/src/mcp-tools/hooks-embedding.d.ts +0 -6
  522. package/dist/src/mcp-tools/hooks-embedding.d.ts.map +1 -1
  523. package/dist/src/mcp-tools/hooks-embedding.js +170 -59
  524. package/dist/src/mcp-tools/hooks-embedding.js.map +1 -1
  525. package/dist/src/mcp-tools/hooks-intelligence.d.ts +0 -9
  526. package/dist/src/mcp-tools/hooks-intelligence.d.ts.map +1 -1
  527. package/dist/src/mcp-tools/hooks-intelligence.js +64 -119
  528. package/dist/src/mcp-tools/hooks-intelligence.js.map +1 -1
  529. package/dist/src/mcp-tools/hooks-routing.d.ts +1 -2
  530. package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
  531. package/dist/src/mcp-tools/hooks-routing.js +92 -165
  532. package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
  533. package/dist/src/mcp-tools/hooks-tools.d.ts +1 -1
  534. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  535. package/dist/src/mcp-tools/hooks-tools.js +2 -4
  536. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  537. package/dist/src/mcp-tools/index.d.ts +18 -19
  538. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  539. package/dist/src/mcp-tools/index.js +18 -19
  540. package/dist/src/mcp-tools/index.js.map +1 -1
  541. package/dist/src/mcp-tools/knowledge-tools.d.ts.map +1 -1
  542. package/dist/src/mcp-tools/knowledge-tools.js +88 -28
  543. package/dist/src/mcp-tools/knowledge-tools.js.map +1 -1
  544. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  545. package/dist/src/mcp-tools/memory-tools.js +157 -40
  546. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  547. package/dist/src/mcp-tools/monodesign-tools.d.ts.map +1 -1
  548. package/dist/src/mcp-tools/monodesign-tools.js +63 -22
  549. package/dist/src/mcp-tools/monodesign-tools.js.map +1 -1
  550. package/dist/src/mcp-tools/monograph/agent-history-tools.d.ts.map +1 -1
  551. package/dist/src/mcp-tools/monograph/agent-history-tools.js +22 -9
  552. package/dist/src/mcp-tools/monograph/agent-history-tools.js.map +1 -1
  553. package/dist/src/mcp-tools/monograph/build-tools.d.ts.map +1 -1
  554. package/dist/src/mcp-tools/monograph/build-tools.js +37 -16
  555. package/dist/src/mcp-tools/monograph/build-tools.js.map +1 -1
  556. package/dist/src/mcp-tools/monograph/group-tools.d.ts.map +1 -1
  557. package/dist/src/mcp-tools/monograph/group-tools.js +57 -20
  558. package/dist/src/mcp-tools/monograph/group-tools.js.map +1 -1
  559. package/dist/src/mcp-tools/monograph/health-tools.d.ts.map +1 -1
  560. package/dist/src/mcp-tools/monograph/health-tools.js +13 -7
  561. package/dist/src/mcp-tools/monograph/health-tools.js.map +1 -1
  562. package/dist/src/mcp-tools/monograph/impact-tools.js +6 -6
  563. package/dist/src/mcp-tools/monograph/impact-tools.js.map +1 -1
  564. package/dist/src/mcp-tools/monograph/index.d.ts.map +1 -1
  565. package/dist/src/mcp-tools/monograph/index.js +8 -8
  566. package/dist/src/mcp-tools/monograph/index.js.map +1 -1
  567. package/dist/src/mcp-tools/monograph/query-tools.d.ts.map +1 -1
  568. package/dist/src/mcp-tools/monograph/query-tools.js +140 -65
  569. package/dist/src/mcp-tools/monograph/query-tools.js.map +1 -1
  570. package/dist/src/mcp-tools/monograph/shared.d.ts.map +1 -1
  571. package/dist/src/mcp-tools/monograph/shared.js +42 -22
  572. package/dist/src/mcp-tools/monograph/shared.js.map +1 -1
  573. package/dist/src/mcp-tools/monograph/visualize-tools.d.ts.map +1 -1
  574. package/dist/src/mcp-tools/monograph/visualize-tools.js +87 -36
  575. package/dist/src/mcp-tools/monograph/visualize-tools.js.map +1 -1
  576. package/dist/src/mcp-tools/monograph-compat.d.ts.map +1 -1
  577. package/dist/src/mcp-tools/monograph-compat.js +25 -14
  578. package/dist/src/mcp-tools/monograph-compat.js.map +1 -1
  579. package/dist/src/mcp-tools/monograph-tools.d.ts +1 -1
  580. package/dist/src/mcp-tools/monograph-tools.d.ts.map +1 -1
  581. package/dist/src/mcp-tools/monograph-tools.js +1 -1
  582. package/dist/src/mcp-tools/monograph-tools.js.map +1 -1
  583. package/dist/src/mcp-tools/monomind-tools.d.ts.map +1 -1
  584. package/dist/src/mcp-tools/monomind-tools.js +1 -1
  585. package/dist/src/mcp-tools/monomind-tools.js.map +1 -1
  586. package/dist/src/mcp-tools/monoswarm-tools.d.ts +17 -0
  587. package/dist/src/mcp-tools/monoswarm-tools.d.ts.map +1 -0
  588. package/dist/src/mcp-tools/monoswarm-tools.js +1289 -0
  589. package/dist/src/mcp-tools/monoswarm-tools.js.map +1 -0
  590. package/dist/src/mcp-tools/performance-tools.d.ts.map +1 -1
  591. package/dist/src/mcp-tools/performance-tools.js +305 -101
  592. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  593. package/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.d.ts.map +1 -1
  594. package/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.js +9 -4
  595. package/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.js.map +1 -1
  596. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.d.ts +1 -1
  597. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.d.ts.map +1 -1
  598. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.js +36 -14
  599. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.js.map +1 -1
  600. package/dist/src/mcp-tools/quality-tools.d.ts.map +1 -1
  601. package/dist/src/mcp-tools/quality-tools.js.map +1 -1
  602. package/dist/src/mcp-tools/request-tracker.d.ts.map +1 -1
  603. package/dist/src/mcp-tools/request-tracker.js +2 -1
  604. package/dist/src/mcp-tools/request-tracker.js.map +1 -1
  605. package/dist/src/mcp-tools/security-tools.d.ts.map +1 -1
  606. package/dist/src/mcp-tools/security-tools.js +117 -53
  607. package/dist/src/mcp-tools/security-tools.js.map +1 -1
  608. package/dist/src/mcp-tools/session-tools.d.ts.map +1 -1
  609. package/dist/src/mcp-tools/session-tools.js +22 -13
  610. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  611. package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
  612. package/dist/src/mcp-tools/system-tools.js +37 -20
  613. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  614. package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
  615. package/dist/src/mcp-tools/task-tools.js +59 -22
  616. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  617. package/dist/src/mcp-tools/terminal-tools.d.ts.map +1 -1
  618. package/dist/src/mcp-tools/terminal-tools.js +43 -16
  619. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  620. package/dist/src/mcp-tools/transfer-tools.d.ts +8 -12
  621. package/dist/src/mcp-tools/transfer-tools.d.ts.map +1 -1
  622. package/dist/src/mcp-tools/transfer-tools.js +11 -14
  623. package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
  624. package/dist/src/mcp-tools/types.d.ts +1 -1
  625. package/dist/src/mcp-tools/types.d.ts.map +1 -1
  626. package/dist/src/mcp-tools/types.js +1 -1
  627. package/dist/src/mcp-tools/types.js.map +1 -1
  628. package/dist/src/memory/bm25-index.d.ts.map +1 -1
  629. package/dist/src/memory/bm25-index.js.map +1 -1
  630. package/dist/src/memory/embedding-operations.d.ts.map +1 -1
  631. package/dist/src/memory/embedding-operations.js +23 -56
  632. package/dist/src/memory/embedding-operations.js.map +1 -1
  633. package/dist/src/memory/ewc-consolidation.d.ts.map +1 -1
  634. package/dist/src/memory/ewc-consolidation.js +31 -27
  635. package/dist/src/memory/ewc-consolidation.js.map +1 -1
  636. package/dist/src/memory/hnsw-operations.d.ts +15 -75
  637. package/dist/src/memory/hnsw-operations.d.ts.map +1 -1
  638. package/dist/src/memory/hnsw-operations.js +27 -268
  639. package/dist/src/memory/hnsw-operations.js.map +1 -1
  640. package/dist/src/memory/intelligence.d.ts +2 -2
  641. package/dist/src/memory/intelligence.d.ts.map +1 -1
  642. package/dist/src/memory/intelligence.js +130 -91
  643. package/dist/src/memory/intelligence.js.map +1 -1
  644. package/dist/src/memory/memory-bridge.d.ts +24 -24
  645. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  646. package/dist/src/memory/memory-bridge.js +40 -41
  647. package/dist/src/memory/memory-bridge.js.map +1 -1
  648. package/dist/src/memory/memory-crud.d.ts +1 -1
  649. package/dist/src/memory/memory-crud.d.ts.map +1 -1
  650. package/dist/src/memory/memory-crud.js +82 -67
  651. package/dist/src/memory/memory-crud.js.map +1 -1
  652. package/dist/src/memory/memory-initializer.d.ts +7 -8
  653. package/dist/src/memory/memory-initializer.d.ts.map +1 -1
  654. package/dist/src/memory/memory-initializer.js +38 -35
  655. package/dist/src/memory/memory-initializer.js.map +1 -1
  656. package/dist/src/memory/memory-kg.d.ts.map +1 -1
  657. package/dist/src/memory/memory-kg.js +173 -41
  658. package/dist/src/memory/memory-kg.js.map +1 -1
  659. package/dist/src/memory/memory-migrations.d.ts.map +1 -1
  660. package/dist/src/memory/memory-migrations.js +11 -7
  661. package/dist/src/memory/memory-migrations.js.map +1 -1
  662. package/dist/src/memory/memory-read.d.ts.map +1 -1
  663. package/dist/src/memory/memory-read.js +50 -35
  664. package/dist/src/memory/memory-read.js.map +1 -1
  665. package/dist/src/memory/query-router.d.ts.map +1 -1
  666. package/dist/src/memory/query-router.js +29 -12
  667. package/dist/src/memory/query-router.js.map +1 -1
  668. package/dist/src/memory/sona-optimizer.d.ts +1 -1
  669. package/dist/src/memory/sona-optimizer.d.ts.map +1 -1
  670. package/dist/src/memory/sona-optimizer.js +164 -42
  671. package/dist/src/memory/sona-optimizer.js.map +1 -1
  672. package/dist/src/memory/text-tokens.d.ts.map +1 -1
  673. package/dist/src/memory/text-tokens.js +78 -8
  674. package/dist/src/memory/text-tokens.js.map +1 -1
  675. package/dist/src/monovector/command-outcomes.d.ts.map +1 -1
  676. package/dist/src/monovector/command-outcomes.js +23 -8
  677. package/dist/src/monovector/command-outcomes.js.map +1 -1
  678. package/dist/src/monovector/coverage-router.d.ts.map +1 -1
  679. package/dist/src/monovector/coverage-router.js +29 -14
  680. package/dist/src/monovector/coverage-router.js.map +1 -1
  681. package/dist/src/monovector/coverage-tools.d.ts.map +1 -1
  682. package/dist/src/monovector/coverage-tools.js +21 -6
  683. package/dist/src/monovector/coverage-tools.js.map +1 -1
  684. package/dist/src/monovector/diff-classifier.d.ts +1 -1
  685. package/dist/src/monovector/diff-classifier.d.ts.map +1 -1
  686. package/dist/src/monovector/diff-classifier.js +100 -45
  687. package/dist/src/monovector/diff-classifier.js.map +1 -1
  688. package/dist/src/monovector/index.d.ts +3 -4
  689. package/dist/src/monovector/index.d.ts.map +1 -1
  690. package/dist/src/monovector/index.js +18 -6
  691. package/dist/src/monovector/index.js.map +1 -1
  692. package/dist/src/monovector/init-state.d.ts.map +1 -1
  693. package/dist/src/monovector/init-state.js +15 -5
  694. package/dist/src/monovector/init-state.js.map +1 -1
  695. package/dist/src/monovector/model-outcomes.d.ts +25 -0
  696. package/dist/src/monovector/model-outcomes.d.ts.map +1 -0
  697. package/dist/src/monovector/model-outcomes.js +113 -0
  698. package/dist/src/monovector/model-outcomes.js.map +1 -0
  699. package/dist/src/monovector/route-outcomes.d.ts.map +1 -1
  700. package/dist/src/monovector/route-outcomes.js +40 -21
  701. package/dist/src/monovector/route-outcomes.js.map +1 -1
  702. package/dist/src/observability/replay-reader.d.ts.map +1 -1
  703. package/dist/src/observability/replay-reader.js +6 -8
  704. package/dist/src/observability/replay-reader.js.map +1 -1
  705. package/dist/src/orgrt/agent-runner.d.ts +9 -3
  706. package/dist/src/orgrt/agent-runner.d.ts.map +1 -1
  707. package/dist/src/orgrt/agent-runner.js +1 -1
  708. package/dist/src/orgrt/agent-runner.js.map +1 -1
  709. package/dist/src/orgrt/antigravity-runner.d.ts +26 -3
  710. package/dist/src/orgrt/antigravity-runner.d.ts.map +1 -1
  711. package/dist/src/orgrt/antigravity-runner.js +295 -125
  712. package/dist/src/orgrt/antigravity-runner.js.map +1 -1
  713. package/dist/src/orgrt/approvals.d.ts.map +1 -1
  714. package/dist/src/orgrt/approvals.js +32 -8
  715. package/dist/src/orgrt/approvals.js.map +1 -1
  716. package/dist/src/orgrt/broker.d.ts.map +1 -1
  717. package/dist/src/orgrt/broker.js +11 -4
  718. package/dist/src/orgrt/broker.js.map +1 -1
  719. package/dist/src/orgrt/bus.d.ts.map +1 -1
  720. package/dist/src/orgrt/bus.js +28 -15
  721. package/dist/src/orgrt/bus.js.map +1 -1
  722. package/dist/src/orgrt/checkpoint-ops.d.ts +10 -16
  723. package/dist/src/orgrt/checkpoint-ops.d.ts.map +1 -1
  724. package/dist/src/orgrt/checkpoint-ops.js +47 -36
  725. package/dist/src/orgrt/checkpoint-ops.js.map +1 -1
  726. package/dist/src/orgrt/checkpoint.d.ts +12 -1
  727. package/dist/src/orgrt/checkpoint.d.ts.map +1 -1
  728. package/dist/src/orgrt/checkpoint.js +22 -4
  729. package/dist/src/orgrt/checkpoint.js.map +1 -1
  730. package/dist/src/orgrt/codex-runner.d.ts +27 -3
  731. package/dist/src/orgrt/codex-runner.d.ts.map +1 -1
  732. package/dist/src/orgrt/codex-runner.js +387 -129
  733. package/dist/src/orgrt/codex-runner.js.map +1 -1
  734. package/dist/src/orgrt/copilot-runner.d.ts +1 -1
  735. package/dist/src/orgrt/copilot-runner.d.ts.map +1 -1
  736. package/dist/src/orgrt/copilot-runner.js +60 -18
  737. package/dist/src/orgrt/copilot-runner.js.map +1 -1
  738. package/dist/src/orgrt/cross-org.d.ts.map +1 -1
  739. package/dist/src/orgrt/cross-org.js +224 -41
  740. package/dist/src/orgrt/cross-org.js.map +1 -1
  741. package/dist/src/orgrt/crush-runner.d.ts +5 -2
  742. package/dist/src/orgrt/crush-runner.d.ts.map +1 -1
  743. package/dist/src/orgrt/crush-runner.js +93 -47
  744. package/dist/src/orgrt/crush-runner.js.map +1 -1
  745. package/dist/src/orgrt/daemon.d.ts +42 -30
  746. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  747. package/dist/src/orgrt/daemon.js +199 -69
  748. package/dist/src/orgrt/daemon.js.map +1 -1
  749. package/dist/src/orgrt/decisions.d.ts +3 -2
  750. package/dist/src/orgrt/decisions.d.ts.map +1 -1
  751. package/dist/src/orgrt/decisions.js +101 -32
  752. package/dist/src/orgrt/decisions.js.map +1 -1
  753. package/dist/src/orgrt/fence.d.ts +2 -2
  754. package/dist/src/orgrt/fence.d.ts.map +1 -1
  755. package/dist/src/orgrt/fence.js +13 -5
  756. package/dist/src/orgrt/fence.js.map +1 -1
  757. package/dist/src/orgrt/forwarder.js +1 -1
  758. package/dist/src/orgrt/forwarder.js.map +1 -1
  759. package/dist/src/orgrt/grok-runner.d.ts +1 -1
  760. package/dist/src/orgrt/grok-runner.d.ts.map +1 -1
  761. package/dist/src/orgrt/grok-runner.js +75 -30
  762. package/dist/src/orgrt/grok-runner.js.map +1 -1
  763. package/dist/src/orgrt/inbox.d.ts.map +1 -1
  764. package/dist/src/orgrt/inbox.js +5 -3
  765. package/dist/src/orgrt/inbox.js.map +1 -1
  766. package/dist/src/orgrt/kimicode-runner.d.ts +54 -8
  767. package/dist/src/orgrt/kimicode-runner.d.ts.map +1 -1
  768. package/dist/src/orgrt/kimicode-runner.js +278 -151
  769. package/dist/src/orgrt/kimicode-runner.js.map +1 -1
  770. package/dist/src/orgrt/mailbox.d.ts +26 -1
  771. package/dist/src/orgrt/mailbox.d.ts.map +1 -1
  772. package/dist/src/orgrt/mailbox.js +88 -6
  773. package/dist/src/orgrt/mailbox.js.map +1 -1
  774. package/dist/src/orgrt/migrate.d.ts.map +1 -1
  775. package/dist/src/orgrt/migrate.js +38 -25
  776. package/dist/src/orgrt/migrate.js.map +1 -1
  777. package/dist/src/orgrt/opencode-runner.d.ts +1 -1
  778. package/dist/src/orgrt/opencode-runner.d.ts.map +1 -1
  779. package/dist/src/orgrt/opencode-runner.js +16 -5
  780. package/dist/src/orgrt/opencode-runner.js.map +1 -1
  781. package/dist/src/orgrt/org-memory.d.ts +2 -2
  782. package/dist/src/orgrt/org-memory.d.ts.map +1 -1
  783. package/dist/src/orgrt/org-memory.js +66 -26
  784. package/dist/src/orgrt/org-memory.js.map +1 -1
  785. package/dist/src/orgrt/pi-rpc-runner.d.ts +1 -1
  786. package/dist/src/orgrt/pi-rpc-runner.d.ts.map +1 -1
  787. package/dist/src/orgrt/pi-rpc-runner.js +134 -114
  788. package/dist/src/orgrt/pi-rpc-runner.js.map +1 -1
  789. package/dist/src/orgrt/pi-runner.d.ts +1 -1
  790. package/dist/src/orgrt/pi-runner.d.ts.map +1 -1
  791. package/dist/src/orgrt/pi-runner.js +35 -16
  792. package/dist/src/orgrt/pi-runner.js.map +1 -1
  793. package/dist/src/orgrt/policy.d.ts +11 -0
  794. package/dist/src/orgrt/policy.d.ts.map +1 -1
  795. package/dist/src/orgrt/policy.js +86 -18
  796. package/dist/src/orgrt/policy.js.map +1 -1
  797. package/dist/src/orgrt/prechecks.d.ts.map +1 -1
  798. package/dist/src/orgrt/prechecks.js +9 -4
  799. package/dist/src/orgrt/prechecks.js.map +1 -1
  800. package/dist/src/orgrt/provider.d.ts +29 -1
  801. package/dist/src/orgrt/provider.d.ts.map +1 -1
  802. package/dist/src/orgrt/provider.js +62 -2
  803. package/dist/src/orgrt/provider.js.map +1 -1
  804. package/dist/src/orgrt/questions.d.ts.map +1 -1
  805. package/dist/src/orgrt/questions.js +34 -10
  806. package/dist/src/orgrt/questions.js.map +1 -1
  807. package/dist/src/orgrt/qwen-rpc-runner.d.ts +56 -0
  808. package/dist/src/orgrt/qwen-rpc-runner.d.ts.map +1 -0
  809. package/dist/src/orgrt/qwen-rpc-runner.js +381 -0
  810. package/dist/src/orgrt/qwen-rpc-runner.js.map +1 -0
  811. package/dist/src/orgrt/qwen-runner.d.ts +1 -1
  812. package/dist/src/orgrt/qwen-runner.d.ts.map +1 -1
  813. package/dist/src/orgrt/qwen-runner.js +42 -23
  814. package/dist/src/orgrt/qwen-runner.js.map +1 -1
  815. package/dist/src/orgrt/remote.js +1 -1
  816. package/dist/src/orgrt/remote.js.map +1 -1
  817. package/dist/src/orgrt/reporting.d.ts.map +1 -1
  818. package/dist/src/orgrt/reporting.js +61 -27
  819. package/dist/src/orgrt/reporting.js.map +1 -1
  820. package/dist/src/orgrt/scheduler-integration.d.ts.map +1 -1
  821. package/dist/src/orgrt/scheduler-integration.js +63 -19
  822. package/dist/src/orgrt/scheduler-integration.js.map +1 -1
  823. package/dist/src/orgrt/scheduler.d.ts.map +1 -1
  824. package/dist/src/orgrt/scheduler.js +7 -3
  825. package/dist/src/orgrt/scheduler.js.map +1 -1
  826. package/dist/src/orgrt/server.js +1 -1
  827. package/dist/src/orgrt/server.js.map +1 -1
  828. package/dist/src/orgrt/session.d.ts +32 -4
  829. package/dist/src/orgrt/session.d.ts.map +1 -1
  830. package/dist/src/orgrt/session.js +242 -74
  831. package/dist/src/orgrt/session.js.map +1 -1
  832. package/dist/src/orgrt/state-detector.d.ts.map +1 -1
  833. package/dist/src/orgrt/state-detector.js +6 -2
  834. package/dist/src/orgrt/state-detector.js.map +1 -1
  835. package/dist/src/orgrt/task-dag.d.ts +29 -1
  836. package/dist/src/orgrt/task-dag.d.ts.map +1 -1
  837. package/dist/src/orgrt/task-dag.js +76 -12
  838. package/dist/src/orgrt/task-dag.js.map +1 -1
  839. package/dist/src/orgrt/templates.d.ts.map +1 -1
  840. package/dist/src/orgrt/templates.js +198 -36
  841. package/dist/src/orgrt/templates.js.map +1 -1
  842. package/dist/src/orgrt/test-loop.d.ts.map +1 -1
  843. package/dist/src/orgrt/test-loop.js +139 -35
  844. package/dist/src/orgrt/test-loop.js.map +1 -1
  845. package/dist/src/orgrt/tool-fence.d.ts.map +1 -1
  846. package/dist/src/orgrt/tool-fence.js +21 -3
  847. package/dist/src/orgrt/tool-fence.js.map +1 -1
  848. package/dist/src/orgrt/types.d.ts +32 -1
  849. package/dist/src/orgrt/types.d.ts.map +1 -1
  850. package/dist/src/orgrt/types.js +192 -39
  851. package/dist/src/orgrt/types.js.map +1 -1
  852. package/dist/src/orgrt/usage-proxy.d.ts +20 -0
  853. package/dist/src/orgrt/usage-proxy.d.ts.map +1 -1
  854. package/dist/src/orgrt/usage-proxy.js +25 -15
  855. package/dist/src/orgrt/usage-proxy.js.map +1 -1
  856. package/dist/src/orgrt/vercel-providers.d.ts.map +1 -1
  857. package/dist/src/orgrt/vercel-providers.js +11 -1
  858. package/dist/src/orgrt/vercel-providers.js.map +1 -1
  859. package/dist/src/orgrt/vercel-runner.d.ts +1 -1
  860. package/dist/src/orgrt/vercel-runner.d.ts.map +1 -1
  861. package/dist/src/orgrt/vercel-runner.js +3 -5
  862. package/dist/src/orgrt/vercel-runner.js.map +1 -1
  863. package/dist/src/orgrt/vercel-session-store.d.ts +14 -0
  864. package/dist/src/orgrt/vercel-session-store.d.ts.map +1 -1
  865. package/dist/src/orgrt/vercel-session-store.js +3 -3
  866. package/dist/src/orgrt/vercel-session-store.js.map +1 -1
  867. package/dist/src/orgrt/visualization.js +3 -4
  868. package/dist/src/orgrt/visualization.js.map +1 -1
  869. package/dist/src/output.d.ts +1 -1
  870. package/dist/src/output.d.ts.map +1 -1
  871. package/dist/src/output.js +68 -39
  872. package/dist/src/output.js.map +1 -1
  873. package/dist/src/parser.d.ts.map +1 -1
  874. package/dist/src/parser.js +35 -24
  875. package/dist/src/parser.js.map +1 -1
  876. package/dist/src/pricing/model-pricing.d.ts.map +1 -1
  877. package/dist/src/pricing/model-pricing.js +3 -7
  878. package/dist/src/pricing/model-pricing.js.map +1 -1
  879. package/dist/src/prompt.d.ts +2 -2
  880. package/dist/src/prompt.d.ts.map +1 -1
  881. package/dist/src/prompt.js +49 -41
  882. package/dist/src/prompt.js.map +1 -1
  883. package/dist/src/routing/embedder.d.ts.map +1 -1
  884. package/dist/src/routing/embedder.js +0 -0
  885. package/dist/src/routing/embedder.js.map +1 -1
  886. package/dist/src/routing/llm-caller.d.ts.map +1 -1
  887. package/dist/src/routing/llm-caller.js +27 -8
  888. package/dist/src/routing/llm-caller.js.map +1 -1
  889. package/dist/src/routing/model-download.d.ts.map +1 -1
  890. package/dist/src/routing/model-download.js +3 -3
  891. package/dist/src/routing/model-download.js.map +1 -1
  892. package/dist/src/routing/route-layer-factory.d.ts.map +1 -1
  893. package/dist/src/routing/route-layer-factory.js +22 -14
  894. package/dist/src/routing/route-layer-factory.js.map +1 -1
  895. package/dist/src/security/audit-log.d.ts +47 -0
  896. package/dist/src/security/audit-log.d.ts.map +1 -0
  897. package/dist/src/security/audit-log.js +88 -0
  898. package/dist/src/security/audit-log.js.map +1 -0
  899. package/dist/src/services/config-file-manager.d.ts +2 -2
  900. package/dist/src/services/config-file-manager.d.ts.map +1 -1
  901. package/dist/src/services/config-file-manager.js +44 -20
  902. package/dist/src/services/config-file-manager.js.map +1 -1
  903. package/dist/src/services/crash-reporter.d.ts.map +1 -1
  904. package/dist/src/services/crash-reporter.js +44 -16
  905. package/dist/src/services/crash-reporter.js.map +1 -1
  906. package/dist/src/suggest.d.ts +1 -1
  907. package/dist/src/suggest.d.ts.map +1 -1
  908. package/dist/src/suggest.js +57 -57
  909. package/dist/src/suggest.js.map +1 -1
  910. package/dist/src/sync/checker.d.ts.map +1 -1
  911. package/dist/src/sync/checker.js +7 -8
  912. package/dist/src/sync/checker.js.map +1 -1
  913. package/dist/src/transfer/anonymization/index.d.ts +1 -1
  914. package/dist/src/transfer/anonymization/index.js +3 -3
  915. package/dist/src/transfer/anonymization/index.js.map +1 -1
  916. package/dist/src/types.d.ts +4 -4
  917. package/dist/src/types.d.ts.map +1 -1
  918. package/dist/src/ui/collector.mjs +275 -159
  919. package/dist/src/ui/dashboard.html +761 -742
  920. package/dist/src/ui/data/agent-avatars.html +3 -15
  921. package/dist/src/ui/data/agent-avatars.json +11 -27
  922. package/dist/src/ui/markdown.js +243 -62
  923. package/dist/src/ui/mastermind-diagram-fallback.html +29 -29
  924. package/dist/src/ui/orgs-files.js +99 -46
  925. package/dist/src/ui/orgs.html +54 -54
  926. package/dist/src/ui/routes-monograph.mjs +918 -246
  927. package/dist/src/ui/routes-org.mjs +4234 -2369
  928. package/dist/src/ui/server.mjs +142 -106
  929. package/dist/src/update/checker.d.ts.map +1 -1
  930. package/dist/src/update/checker.js +17 -12
  931. package/dist/src/update/checker.js.map +1 -1
  932. package/dist/src/update/executor.d.ts +2 -2
  933. package/dist/src/update/executor.d.ts.map +1 -1
  934. package/dist/src/update/executor.js +21 -11
  935. package/dist/src/update/executor.js.map +1 -1
  936. package/dist/src/update/index.d.ts +6 -6
  937. package/dist/src/update/index.d.ts.map +1 -1
  938. package/dist/src/update/index.js +9 -9
  939. package/dist/src/update/index.js.map +1 -1
  940. package/dist/src/update/rate-limiter.d.ts.map +1 -1
  941. package/dist/src/update/rate-limiter.js +11 -7
  942. package/dist/src/update/rate-limiter.js.map +1 -1
  943. package/dist/src/update/validator.d.ts.map +1 -1
  944. package/dist/src/update/validator.js +8 -12
  945. package/dist/src/update/validator.js.map +1 -1
  946. package/dist/src/utils/cosine-similarity.d.ts.map +1 -1
  947. package/dist/src/utils/cosine-similarity.js.map +1 -1
  948. package/dist/src/utils/input-guards.d.ts +1 -1
  949. package/dist/src/utils/input-guards.d.ts.map +1 -1
  950. package/dist/src/utils/input-guards.js +24 -9
  951. package/dist/src/utils/input-guards.js.map +1 -1
  952. package/dist/src/utils/json-file.d.ts +12 -0
  953. package/dist/src/utils/json-file.d.ts.map +1 -1
  954. package/dist/src/utils/json-file.js +14 -3
  955. package/dist/src/utils/json-file.js.map +1 -1
  956. package/dist/src/utils/parse-jsonl.d.ts.map +1 -1
  957. package/dist/src/utils/parse-jsonl.js +1 -3
  958. package/dist/src/utils/parse-jsonl.js.map +1 -1
  959. package/dist/src/utils/paths.d.ts.map +1 -1
  960. package/dist/src/utils/paths.js +2 -2
  961. package/dist/src/utils/paths.js.map +1 -1
  962. package/dist/src/utils/redaction.d.ts.map +1 -1
  963. package/dist/src/utils/redaction.js +1 -1
  964. package/dist/src/utils/redaction.js.map +1 -1
  965. package/dist/src/utils/resource-governor.d.ts.map +1 -1
  966. package/dist/src/utils/resource-governor.js +38 -14
  967. package/dist/src/utils/resource-governor.js.map +1 -1
  968. package/dist/tsconfig.tsbuildinfo +1 -1
  969. package/package.json +7 -7
  970. package/.claude/agents/consensus/crdt-synchronizer.md +0 -977
  971. package/.claude/commands/hive-mind/README.md +0 -42
  972. package/.claude/commands/hive-mind/hive-mind-consensus.md +0 -72
  973. package/.claude/commands/hive-mind/hive-mind-init.md +0 -68
  974. package/.claude/commands/hive-mind/hive-mind-memory.md +0 -73
  975. package/.claude/commands/hive-mind/hive-mind-spawn.md +0 -82
  976. package/.claude/commands/hive-mind/hive-mind-status.md +0 -56
  977. package/.claude/commands/hive-mind/hive-mind-stop.md +0 -55
  978. package/.claude/commands/hive-mind/hive-mind.md +0 -87
  979. package/.claude/commands/swarm/README.md +0 -40
  980. package/.claude/commands/swarm/swarm.md +0 -79
  981. package/.claude/skills/hive-mind-advanced/SKILL.md +0 -347
  982. package/.claude/skills/swarm-advanced/SKILL.md +0 -936
  983. package/dist/src/commands/swarm.d.ts +0 -8
  984. package/dist/src/commands/swarm.d.ts.map +0 -1
  985. package/dist/src/commands/swarm.js.map +0 -1
  986. package/dist/src/mcp-tools/hive-mind-tools.d.ts +0 -17
  987. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +0 -1
  988. package/dist/src/mcp-tools/hive-mind-tools.js +0 -1239
  989. package/dist/src/mcp-tools/hive-mind-tools.js.map +0 -1
  990. package/dist/src/mcp-tools/swarm-tools.d.ts +0 -9
  991. package/dist/src/mcp-tools/swarm-tools.d.ts.map +0 -1
  992. package/dist/src/mcp-tools/swarm-tools.js +0 -411
  993. package/dist/src/mcp-tools/swarm-tools.js.map +0 -1
  994. package/dist/src/ui/data/avatars/crdt-synchronizer.svg +0 -53
  995. package/dist/src/ui/data/avatars/gossip-coordinator.svg +0 -54
  996. package/scripts/deploy-ipfs-node.sh +0 -153
  997. package/scripts/setup-ipfs-registry.md +0 -365
  998. /package/.claude/agents/{hive-mind → monoswarm}/scout-explorer.md +0 -0
  999. /package/.claude/agents/{hive-mind → monoswarm}/worker-specialist.md +0 -0
  1000. /package/.claude/commands/{swarm → monoswarm}/analysis.md +0 -0
  1001. /package/.claude/commands/{swarm → monoswarm}/development.md +0 -0
  1002. /package/.claude/commands/{swarm → monoswarm}/examples.md +0 -0
  1003. /package/.claude/commands/{swarm → monoswarm}/maintenance.md +0 -0
  1004. /package/.claude/commands/{swarm → monoswarm}/optimization.md +0 -0
  1005. /package/.claude/commands/{swarm → monoswarm}/testing.md +0 -0
  1006. /package/dist/src/ui/data/avatars/{code-review-swarm.svg → monoswarm-code-review.svg} +0 -0
@@ -1,977 +0,0 @@
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.