claude-flow 3.25.5 → 3.26.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 (312) hide show
  1. package/.claude/helpers/.helpers-version +1 -1
  2. package/.claude/helpers/helpers.manifest.json +5 -4
  3. package/.claude/helpers/hook-handler.cjs +129 -0
  4. package/.claude/helpers/statusline.cjs +300 -123
  5. package/.claude/proven-config.json +1 -1
  6. package/.claude/security-scans/scan-all-standard.json +321 -0
  7. package/.claude/security-scans/scan-code-deep.json +1209 -0
  8. package/.claude/security-scans/scan-deps-full.json +14 -0
  9. package/package.json +3 -1
  10. package/v3/@claude-flow/cli/catalog-manifest.json +12 -0
  11. package/v3/@claude-flow/cli/dist/src/commands/advisor.d.ts +15 -0
  12. package/v3/@claude-flow/cli/dist/src/commands/advisor.js +94 -0
  13. package/v3/@claude-flow/cli/dist/src/commands/doctor.js +151 -32
  14. package/v3/@claude-flow/cli/dist/src/commands/funnel.d.ts +13 -0
  15. package/v3/@claude-flow/cli/dist/src/commands/funnel.js +103 -0
  16. package/v3/@claude-flow/cli/dist/src/commands/hooks.js +112 -46
  17. package/v3/@claude-flow/cli/dist/src/commands/index.js +10 -0
  18. package/v3/@claude-flow/cli/dist/src/commands/init.js +44 -0
  19. package/v3/@claude-flow/cli/dist/src/commands/proxy.d.ts +21 -0
  20. package/v3/@claude-flow/cli/dist/src/commands/proxy.js +310 -0
  21. package/v3/@claude-flow/cli/dist/src/commands/security.js +29 -0
  22. package/v3/@claude-flow/cli/dist/src/commands/settings.d.ts +19 -0
  23. package/v3/@claude-flow/cli/dist/src/commands/settings.js +180 -0
  24. package/v3/@claude-flow/cli/dist/src/commands/version.d.ts +42 -0
  25. package/v3/@claude-flow/cli/dist/src/commands/version.js +106 -0
  26. package/v3/@claude-flow/cli/dist/src/funnel/advisor-tip.d.ts +58 -0
  27. package/v3/@claude-flow/cli/dist/src/funnel/advisor-tip.js +92 -0
  28. package/v3/@claude-flow/cli/dist/src/funnel/attribution.d.ts +37 -0
  29. package/v3/@claude-flow/cli/dist/src/funnel/attribution.js +101 -0
  30. package/v3/@claude-flow/cli/dist/src/funnel/consent.d.ts +22 -0
  31. package/v3/@claude-flow/cli/dist/src/funnel/consent.js +55 -0
  32. package/v3/@claude-flow/cli/dist/src/funnel/credit-errors.d.ts +31 -0
  33. package/v3/@claude-flow/cli/dist/src/funnel/credit-errors.js +88 -0
  34. package/v3/@claude-flow/cli/dist/src/funnel/credit-notifier.d.ts +44 -0
  35. package/v3/@claude-flow/cli/dist/src/funnel/credit-notifier.js +74 -0
  36. package/v3/@claude-flow/cli/dist/src/funnel/disclosure.d.ts +46 -0
  37. package/v3/@claude-flow/cli/dist/src/funnel/disclosure.js +97 -0
  38. package/v3/@claude-flow/cli/dist/src/funnel/enrollment.d.ts +36 -0
  39. package/v3/@claude-flow/cli/dist/src/funnel/enrollment.js +64 -0
  40. package/v3/@claude-flow/cli/dist/src/funnel/environment.d.ts +17 -0
  41. package/v3/@claude-flow/cli/dist/src/funnel/environment.js +39 -0
  42. package/v3/@claude-flow/cli/dist/src/funnel/event-transport.d.ts +51 -0
  43. package/v3/@claude-flow/cli/dist/src/funnel/event-transport.js +199 -0
  44. package/v3/@claude-flow/cli/dist/src/funnel/events.d.ts +42 -0
  45. package/v3/@claude-flow/cli/dist/src/funnel/events.js +150 -0
  46. package/v3/@claude-flow/cli/dist/src/funnel/index.d.ts +20 -0
  47. package/v3/@claude-flow/cli/dist/src/funnel/index.js +20 -0
  48. package/v3/@claude-flow/cli/dist/src/funnel/insights.d.ts +49 -0
  49. package/v3/@claude-flow/cli/dist/src/funnel/insights.js +120 -0
  50. package/v3/@claude-flow/cli/dist/src/funnel/local-signals.d.ts +15 -0
  51. package/v3/@claude-flow/cli/dist/src/funnel/local-signals.js +68 -0
  52. package/v3/@claude-flow/cli/dist/src/funnel/message-transport.d.ts +51 -0
  53. package/v3/@claude-flow/cli/dist/src/funnel/message-transport.js +149 -0
  54. package/v3/@claude-flow/cli/dist/src/funnel/messages.d.ts +55 -0
  55. package/v3/@claude-flow/cli/dist/src/funnel/messages.js +160 -0
  56. package/v3/@claude-flow/cli/dist/src/funnel/power-saver-notifier.d.ts +44 -0
  57. package/v3/@claude-flow/cli/dist/src/funnel/power-saver-notifier.js +92 -0
  58. package/v3/@claude-flow/cli/dist/src/funnel/precedence.d.ts +16 -0
  59. package/v3/@claude-flow/cli/dist/src/funnel/precedence.js +85 -0
  60. package/v3/@claude-flow/cli/dist/src/funnel/promo.d.ts +41 -0
  61. package/v3/@claude-flow/cli/dist/src/funnel/promo.js +144 -0
  62. package/v3/@claude-flow/cli/dist/src/funnel/rate-limit-notifier.d.ts +55 -0
  63. package/v3/@claude-flow/cli/dist/src/funnel/rate-limit-notifier.js +102 -0
  64. package/v3/@claude-flow/cli/dist/src/funnel/rotation.d.ts +19 -0
  65. package/v3/@claude-flow/cli/dist/src/funnel/rotation.js +70 -0
  66. package/v3/@claude-flow/cli/dist/src/funnel/state.d.ts +13 -0
  67. package/v3/@claude-flow/cli/dist/src/funnel/state.js +52 -0
  68. package/v3/@claude-flow/cli/dist/src/funnel/toggle-cooldown.d.ts +17 -0
  69. package/v3/@claude-flow/cli/dist/src/funnel/toggle-cooldown.js +32 -0
  70. package/v3/@claude-flow/cli/dist/src/funnel/types.d.ts +86 -0
  71. package/v3/@claude-flow/cli/dist/src/funnel/types.js +26 -0
  72. package/v3/@claude-flow/cli/dist/src/init/executor.js +25 -19
  73. package/v3/@claude-flow/cli/dist/src/init/helper-refresh.d.ts +33 -2
  74. package/v3/@claude-flow/cli/dist/src/init/helper-refresh.js +102 -12
  75. package/v3/@claude-flow/cli/dist/src/init/helpers-generator.js +52 -0
  76. package/v3/@claude-flow/cli/dist/src/init/mcp-generator.js +11 -6
  77. package/v3/@claude-flow/cli/dist/src/init/statusline-generator.js +282 -116
  78. package/v3/@claude-flow/cli/dist/src/services/daemon-autostart.js +28 -5
  79. package/v3/@claude-flow/cli/dist/src/services/fable-harness.d.ts +39 -0
  80. package/v3/@claude-flow/cli/dist/src/services/fable-harness.js +41 -0
  81. package/v3/@claude-flow/cli/package.json +16 -4
  82. package/v3/README.md +493 -0
  83. package/.claude/coordinator/config.json +0 -24
  84. package/.claude/coordinator/state.json +0 -37
  85. package/.claude/coordinator/tick-log/tick-01.json +0 -17
  86. package/.claude/coordinator/tick-log/tick-02.json +0 -17
  87. package/.claude/coordinator/tick-log/tick-03.json +0 -17
  88. package/.claude/coordinator/tick-log/tick-04.json +0 -14
  89. package/.claude/coordinator/tick-log/tick-05.json +0 -16
  90. package/.claude/settings.local.json +0 -11
  91. package/v3/@claude-flow/cli/dist/src/ruvector/lattice-wasm.d.ts +0 -14
  92. package/v3/@claude-flow/cli/dist/src/ruvector/lattice-wasm.js +0 -144
  93. package/v3/@claude-flow/guidance/dist/adversarial.d.ts +0 -284
  94. package/v3/@claude-flow/guidance/dist/adversarial.js +0 -572
  95. package/v3/@claude-flow/guidance/dist/analyzer.d.ts +0 -530
  96. package/v3/@claude-flow/guidance/dist/analyzer.js +0 -2587
  97. package/v3/@claude-flow/guidance/dist/artifacts.d.ts +0 -283
  98. package/v3/@claude-flow/guidance/dist/artifacts.js +0 -356
  99. package/v3/@claude-flow/guidance/dist/authority.d.ts +0 -290
  100. package/v3/@claude-flow/guidance/dist/authority.js +0 -558
  101. package/v3/@claude-flow/guidance/dist/capabilities.d.ts +0 -209
  102. package/v3/@claude-flow/guidance/dist/capabilities.js +0 -485
  103. package/v3/@claude-flow/guidance/dist/coherence.d.ts +0 -233
  104. package/v3/@claude-flow/guidance/dist/coherence.js +0 -372
  105. package/v3/@claude-flow/guidance/dist/compiler.d.ts +0 -87
  106. package/v3/@claude-flow/guidance/dist/compiler.js +0 -410
  107. package/v3/@claude-flow/guidance/dist/conformance-kit.d.ts +0 -225
  108. package/v3/@claude-flow/guidance/dist/conformance-kit.js +0 -629
  109. package/v3/@claude-flow/guidance/dist/continue-gate.d.ts +0 -214
  110. package/v3/@claude-flow/guidance/dist/continue-gate.js +0 -353
  111. package/v3/@claude-flow/guidance/dist/crypto-utils.d.ts +0 -17
  112. package/v3/@claude-flow/guidance/dist/crypto-utils.js +0 -24
  113. package/v3/@claude-flow/guidance/dist/evolution.d.ts +0 -282
  114. package/v3/@claude-flow/guidance/dist/evolution.js +0 -500
  115. package/v3/@claude-flow/guidance/dist/gates.d.ts +0 -79
  116. package/v3/@claude-flow/guidance/dist/gates.js +0 -302
  117. package/v3/@claude-flow/guidance/dist/gateway.d.ts +0 -206
  118. package/v3/@claude-flow/guidance/dist/gateway.js +0 -452
  119. package/v3/@claude-flow/guidance/dist/generators.d.ts +0 -153
  120. package/v3/@claude-flow/guidance/dist/generators.js +0 -682
  121. package/v3/@claude-flow/guidance/dist/headless.d.ts +0 -177
  122. package/v3/@claude-flow/guidance/dist/headless.js +0 -342
  123. package/v3/@claude-flow/guidance/dist/hooks.d.ts +0 -109
  124. package/v3/@claude-flow/guidance/dist/hooks.js +0 -347
  125. package/v3/@claude-flow/guidance/dist/index.d.ts +0 -205
  126. package/v3/@claude-flow/guidance/dist/index.js +0 -321
  127. package/v3/@claude-flow/guidance/dist/ledger.d.ts +0 -162
  128. package/v3/@claude-flow/guidance/dist/ledger.js +0 -375
  129. package/v3/@claude-flow/guidance/dist/manifest-validator.d.ts +0 -289
  130. package/v3/@claude-flow/guidance/dist/manifest-validator.js +0 -838
  131. package/v3/@claude-flow/guidance/dist/memory-gate.d.ts +0 -222
  132. package/v3/@claude-flow/guidance/dist/memory-gate.js +0 -382
  133. package/v3/@claude-flow/guidance/dist/meta-governance.d.ts +0 -265
  134. package/v3/@claude-flow/guidance/dist/meta-governance.js +0 -348
  135. package/v3/@claude-flow/guidance/dist/optimizer.d.ts +0 -104
  136. package/v3/@claude-flow/guidance/dist/optimizer.js +0 -329
  137. package/v3/@claude-flow/guidance/dist/persistence.d.ts +0 -189
  138. package/v3/@claude-flow/guidance/dist/persistence.js +0 -464
  139. package/v3/@claude-flow/guidance/dist/proof.d.ts +0 -185
  140. package/v3/@claude-flow/guidance/dist/proof.js +0 -238
  141. package/v3/@claude-flow/guidance/dist/retriever.d.ts +0 -172
  142. package/v3/@claude-flow/guidance/dist/retriever.js +0 -596
  143. package/v3/@claude-flow/guidance/dist/ruvbot-integration.d.ts +0 -370
  144. package/v3/@claude-flow/guidance/dist/ruvbot-integration.js +0 -738
  145. package/v3/@claude-flow/guidance/dist/temporal.d.ts +0 -426
  146. package/v3/@claude-flow/guidance/dist/temporal.js +0 -658
  147. package/v3/@claude-flow/guidance/dist/trust.d.ts +0 -283
  148. package/v3/@claude-flow/guidance/dist/trust.js +0 -473
  149. package/v3/@claude-flow/guidance/dist/truth-anchors.d.ts +0 -276
  150. package/v3/@claude-flow/guidance/dist/truth-anchors.js +0 -488
  151. package/v3/@claude-flow/guidance/dist/types.d.ts +0 -378
  152. package/v3/@claude-flow/guidance/dist/types.js +0 -10
  153. package/v3/@claude-flow/guidance/dist/uncertainty.d.ts +0 -372
  154. package/v3/@claude-flow/guidance/dist/uncertainty.js +0 -619
  155. package/v3/@claude-flow/guidance/dist/wasm-kernel.d.ts +0 -48
  156. package/v3/@claude-flow/guidance/dist/wasm-kernel.js +0 -158
  157. package/v3/@claude-flow/shared/dist/core/config/defaults.d.ts +0 -41
  158. package/v3/@claude-flow/shared/dist/core/config/defaults.js +0 -186
  159. package/v3/@claude-flow/shared/dist/core/config/index.d.ts +0 -8
  160. package/v3/@claude-flow/shared/dist/core/config/index.js +0 -12
  161. package/v3/@claude-flow/shared/dist/core/config/loader.d.ts +0 -45
  162. package/v3/@claude-flow/shared/dist/core/config/loader.js +0 -238
  163. package/v3/@claude-flow/shared/dist/core/config/schema.d.ts +0 -1728
  164. package/v3/@claude-flow/shared/dist/core/config/schema.js +0 -160
  165. package/v3/@claude-flow/shared/dist/core/config/validator.d.ts +0 -92
  166. package/v3/@claude-flow/shared/dist/core/config/validator.js +0 -147
  167. package/v3/@claude-flow/shared/dist/core/event-bus.d.ts +0 -31
  168. package/v3/@claude-flow/shared/dist/core/event-bus.js +0 -197
  169. package/v3/@claude-flow/shared/dist/core/index.d.ts +0 -15
  170. package/v3/@claude-flow/shared/dist/core/index.js +0 -19
  171. package/v3/@claude-flow/shared/dist/core/interfaces/agent.interface.d.ts +0 -200
  172. package/v3/@claude-flow/shared/dist/core/interfaces/agent.interface.js +0 -6
  173. package/v3/@claude-flow/shared/dist/core/interfaces/coordinator.interface.d.ts +0 -310
  174. package/v3/@claude-flow/shared/dist/core/interfaces/coordinator.interface.js +0 -7
  175. package/v3/@claude-flow/shared/dist/core/interfaces/event.interface.d.ts +0 -224
  176. package/v3/@claude-flow/shared/dist/core/interfaces/event.interface.js +0 -46
  177. package/v3/@claude-flow/shared/dist/core/interfaces/index.d.ts +0 -10
  178. package/v3/@claude-flow/shared/dist/core/interfaces/index.js +0 -15
  179. package/v3/@claude-flow/shared/dist/core/interfaces/memory.interface.d.ts +0 -298
  180. package/v3/@claude-flow/shared/dist/core/interfaces/memory.interface.js +0 -7
  181. package/v3/@claude-flow/shared/dist/core/interfaces/task.interface.d.ts +0 -185
  182. package/v3/@claude-flow/shared/dist/core/interfaces/task.interface.js +0 -6
  183. package/v3/@claude-flow/shared/dist/core/orchestrator/event-coordinator.d.ts +0 -35
  184. package/v3/@claude-flow/shared/dist/core/orchestrator/event-coordinator.js +0 -101
  185. package/v3/@claude-flow/shared/dist/core/orchestrator/health-monitor.d.ts +0 -60
  186. package/v3/@claude-flow/shared/dist/core/orchestrator/health-monitor.js +0 -166
  187. package/v3/@claude-flow/shared/dist/core/orchestrator/index.d.ts +0 -46
  188. package/v3/@claude-flow/shared/dist/core/orchestrator/index.js +0 -64
  189. package/v3/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.d.ts +0 -56
  190. package/v3/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.js +0 -195
  191. package/v3/@claude-flow/shared/dist/core/orchestrator/session-manager.d.ts +0 -83
  192. package/v3/@claude-flow/shared/dist/core/orchestrator/session-manager.js +0 -193
  193. package/v3/@claude-flow/shared/dist/core/orchestrator/task-manager.d.ts +0 -49
  194. package/v3/@claude-flow/shared/dist/core/orchestrator/task-manager.js +0 -253
  195. package/v3/@claude-flow/shared/dist/events/domain-events.d.ts +0 -282
  196. package/v3/@claude-flow/shared/dist/events/domain-events.js +0 -165
  197. package/v3/@claude-flow/shared/dist/events/event-store.d.ts +0 -126
  198. package/v3/@claude-flow/shared/dist/events/event-store.js +0 -427
  199. package/v3/@claude-flow/shared/dist/events/event-store.test.d.ts +0 -8
  200. package/v3/@claude-flow/shared/dist/events/event-store.test.js +0 -293
  201. package/v3/@claude-flow/shared/dist/events/example-usage.d.ts +0 -10
  202. package/v3/@claude-flow/shared/dist/events/example-usage.js +0 -193
  203. package/v3/@claude-flow/shared/dist/events/index.d.ts +0 -21
  204. package/v3/@claude-flow/shared/dist/events/index.js +0 -22
  205. package/v3/@claude-flow/shared/dist/events/projections.d.ts +0 -177
  206. package/v3/@claude-flow/shared/dist/events/projections.js +0 -421
  207. package/v3/@claude-flow/shared/dist/events/rvf-event-log.d.ts +0 -82
  208. package/v3/@claude-flow/shared/dist/events/rvf-event-log.js +0 -340
  209. package/v3/@claude-flow/shared/dist/events/state-reconstructor.d.ts +0 -101
  210. package/v3/@claude-flow/shared/dist/events/state-reconstructor.js +0 -263
  211. package/v3/@claude-flow/shared/dist/events.d.ts +0 -80
  212. package/v3/@claude-flow/shared/dist/events.js +0 -249
  213. package/v3/@claude-flow/shared/dist/hooks/example-usage.d.ts +0 -42
  214. package/v3/@claude-flow/shared/dist/hooks/example-usage.js +0 -351
  215. package/v3/@claude-flow/shared/dist/hooks/executor.d.ts +0 -100
  216. package/v3/@claude-flow/shared/dist/hooks/executor.js +0 -267
  217. package/v3/@claude-flow/shared/dist/hooks/hooks.test.d.ts +0 -9
  218. package/v3/@claude-flow/shared/dist/hooks/hooks.test.js +0 -322
  219. package/v3/@claude-flow/shared/dist/hooks/index.d.ts +0 -52
  220. package/v3/@claude-flow/shared/dist/hooks/index.js +0 -51
  221. package/v3/@claude-flow/shared/dist/hooks/registry.d.ts +0 -133
  222. package/v3/@claude-flow/shared/dist/hooks/registry.js +0 -277
  223. package/v3/@claude-flow/shared/dist/hooks/safety/bash-safety.d.ts +0 -105
  224. package/v3/@claude-flow/shared/dist/hooks/safety/bash-safety.js +0 -481
  225. package/v3/@claude-flow/shared/dist/hooks/safety/file-organization.d.ts +0 -144
  226. package/v3/@claude-flow/shared/dist/hooks/safety/file-organization.js +0 -328
  227. package/v3/@claude-flow/shared/dist/hooks/safety/git-commit.d.ts +0 -158
  228. package/v3/@claude-flow/shared/dist/hooks/safety/git-commit.js +0 -450
  229. package/v3/@claude-flow/shared/dist/hooks/safety/index.d.ts +0 -17
  230. package/v3/@claude-flow/shared/dist/hooks/safety/index.js +0 -17
  231. package/v3/@claude-flow/shared/dist/hooks/session-hooks.d.ts +0 -234
  232. package/v3/@claude-flow/shared/dist/hooks/session-hooks.js +0 -334
  233. package/v3/@claude-flow/shared/dist/hooks/task-hooks.d.ts +0 -163
  234. package/v3/@claude-flow/shared/dist/hooks/task-hooks.js +0 -326
  235. package/v3/@claude-flow/shared/dist/hooks/types.d.ts +0 -267
  236. package/v3/@claude-flow/shared/dist/hooks/types.js +0 -62
  237. package/v3/@claude-flow/shared/dist/hooks/verify-exports.test.d.ts +0 -9
  238. package/v3/@claude-flow/shared/dist/hooks/verify-exports.test.js +0 -93
  239. package/v3/@claude-flow/shared/dist/index.d.ts +0 -20
  240. package/v3/@claude-flow/shared/dist/index.js +0 -50
  241. package/v3/@claude-flow/shared/dist/mcp/connection-pool.d.ts +0 -98
  242. package/v3/@claude-flow/shared/dist/mcp/connection-pool.js +0 -364
  243. package/v3/@claude-flow/shared/dist/mcp/index.d.ts +0 -69
  244. package/v3/@claude-flow/shared/dist/mcp/index.js +0 -84
  245. package/v3/@claude-flow/shared/dist/mcp/server.d.ts +0 -166
  246. package/v3/@claude-flow/shared/dist/mcp/server.js +0 -590
  247. package/v3/@claude-flow/shared/dist/mcp/session-manager.d.ts +0 -136
  248. package/v3/@claude-flow/shared/dist/mcp/session-manager.js +0 -335
  249. package/v3/@claude-flow/shared/dist/mcp/tool-registry.d.ts +0 -178
  250. package/v3/@claude-flow/shared/dist/mcp/tool-registry.js +0 -439
  251. package/v3/@claude-flow/shared/dist/mcp/transport/http.d.ts +0 -104
  252. package/v3/@claude-flow/shared/dist/mcp/transport/http.js +0 -476
  253. package/v3/@claude-flow/shared/dist/mcp/transport/index.d.ts +0 -102
  254. package/v3/@claude-flow/shared/dist/mcp/transport/index.js +0 -238
  255. package/v3/@claude-flow/shared/dist/mcp/transport/stdio.d.ts +0 -104
  256. package/v3/@claude-flow/shared/dist/mcp/transport/stdio.js +0 -263
  257. package/v3/@claude-flow/shared/dist/mcp/transport/websocket.d.ts +0 -133
  258. package/v3/@claude-flow/shared/dist/mcp/transport/websocket.js +0 -396
  259. package/v3/@claude-flow/shared/dist/mcp/types.d.ts +0 -436
  260. package/v3/@claude-flow/shared/dist/mcp/types.js +0 -54
  261. package/v3/@claude-flow/shared/dist/plugin-interface.d.ts +0 -544
  262. package/v3/@claude-flow/shared/dist/plugin-interface.js +0 -23
  263. package/v3/@claude-flow/shared/dist/plugin-loader.d.ts +0 -139
  264. package/v3/@claude-flow/shared/dist/plugin-loader.js +0 -434
  265. package/v3/@claude-flow/shared/dist/plugin-registry.d.ts +0 -183
  266. package/v3/@claude-flow/shared/dist/plugin-registry.js +0 -457
  267. package/v3/@claude-flow/shared/dist/plugins/index.d.ts +0 -10
  268. package/v3/@claude-flow/shared/dist/plugins/index.js +0 -10
  269. package/v3/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.d.ts +0 -106
  270. package/v3/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.js +0 -241
  271. package/v3/@claude-flow/shared/dist/plugins/official/index.d.ts +0 -10
  272. package/v3/@claude-flow/shared/dist/plugins/official/index.js +0 -10
  273. package/v3/@claude-flow/shared/dist/plugins/official/maestro-plugin.d.ts +0 -121
  274. package/v3/@claude-flow/shared/dist/plugins/official/maestro-plugin.js +0 -355
  275. package/v3/@claude-flow/shared/dist/plugins/types.d.ts +0 -93
  276. package/v3/@claude-flow/shared/dist/plugins/types.js +0 -9
  277. package/v3/@claude-flow/shared/dist/resilience/bulkhead.d.ts +0 -105
  278. package/v3/@claude-flow/shared/dist/resilience/bulkhead.js +0 -206
  279. package/v3/@claude-flow/shared/dist/resilience/circuit-breaker.d.ts +0 -132
  280. package/v3/@claude-flow/shared/dist/resilience/circuit-breaker.js +0 -233
  281. package/v3/@claude-flow/shared/dist/resilience/index.d.ts +0 -19
  282. package/v3/@claude-flow/shared/dist/resilience/index.js +0 -19
  283. package/v3/@claude-flow/shared/dist/resilience/rate-limiter.d.ts +0 -168
  284. package/v3/@claude-flow/shared/dist/resilience/rate-limiter.js +0 -314
  285. package/v3/@claude-flow/shared/dist/resilience/retry.d.ts +0 -91
  286. package/v3/@claude-flow/shared/dist/resilience/retry.js +0 -159
  287. package/v3/@claude-flow/shared/dist/security/index.d.ts +0 -10
  288. package/v3/@claude-flow/shared/dist/security/index.js +0 -12
  289. package/v3/@claude-flow/shared/dist/security/input-validation.d.ts +0 -73
  290. package/v3/@claude-flow/shared/dist/security/input-validation.js +0 -201
  291. package/v3/@claude-flow/shared/dist/security/secure-random.d.ts +0 -92
  292. package/v3/@claude-flow/shared/dist/security/secure-random.js +0 -142
  293. package/v3/@claude-flow/shared/dist/services/index.d.ts +0 -7
  294. package/v3/@claude-flow/shared/dist/services/index.js +0 -7
  295. package/v3/@claude-flow/shared/dist/services/v3-progress.service.d.ts +0 -124
  296. package/v3/@claude-flow/shared/dist/services/v3-progress.service.js +0 -402
  297. package/v3/@claude-flow/shared/dist/types/agent.types.d.ts +0 -137
  298. package/v3/@claude-flow/shared/dist/types/agent.types.js +0 -6
  299. package/v3/@claude-flow/shared/dist/types/index.d.ts +0 -11
  300. package/v3/@claude-flow/shared/dist/types/index.js +0 -17
  301. package/v3/@claude-flow/shared/dist/types/mcp.types.d.ts +0 -266
  302. package/v3/@claude-flow/shared/dist/types/mcp.types.js +0 -7
  303. package/v3/@claude-flow/shared/dist/types/memory.types.d.ts +0 -236
  304. package/v3/@claude-flow/shared/dist/types/memory.types.js +0 -7
  305. package/v3/@claude-flow/shared/dist/types/swarm.types.d.ts +0 -186
  306. package/v3/@claude-flow/shared/dist/types/swarm.types.js +0 -65
  307. package/v3/@claude-flow/shared/dist/types/task.types.d.ts +0 -178
  308. package/v3/@claude-flow/shared/dist/types/task.types.js +0 -32
  309. package/v3/@claude-flow/shared/dist/types.d.ts +0 -197
  310. package/v3/@claude-flow/shared/dist/types.js +0 -21
  311. package/v3/@claude-flow/shared/dist/utils/secure-logger.d.ts +0 -69
  312. package/v3/@claude-flow/shared/dist/utils/secure-logger.js +0 -208
@@ -1,500 +0,0 @@
1
- /**
2
- * Evolution Pipeline
3
- *
4
- * Every change to prompts, policies, tools, and code becomes a signed change
5
- * proposal that goes through simulation, replay comparison, and staged rollout.
6
- *
7
- * Pipeline stages:
8
- * 1. Propose - Create a signed ChangeProposal
9
- * 2. Simulate - Replay golden traces with baseline vs candidate config
10
- * 3. Compare - Approve or reject based on divergence threshold
11
- * 4. Stage - Create a staged rollout plan (canary -> partial -> full)
12
- * 5. Advance - Progress through stages with metric gates
13
- * 6. Promote / Rollback - Apply permanently or revert
14
- *
15
- * @module @claude-flow/guidance/evolution
16
- */
17
- import { createHash, createHmac, randomUUID } from 'node:crypto';
18
- const DEFAULT_MAX_DIVERGENCE = 0.3;
19
- const DEFAULT_STAGES = [
20
- {
21
- name: 'canary',
22
- percentage: 5,
23
- durationMs: 60_000,
24
- metrics: {},
25
- divergenceThreshold: 0.2,
26
- passed: null,
27
- startedAt: null,
28
- completedAt: null,
29
- },
30
- {
31
- name: 'partial',
32
- percentage: 50,
33
- durationMs: 300_000,
34
- metrics: {},
35
- divergenceThreshold: 0.25,
36
- passed: null,
37
- startedAt: null,
38
- completedAt: null,
39
- },
40
- {
41
- name: 'full',
42
- percentage: 100,
43
- durationMs: 600_000,
44
- metrics: {},
45
- divergenceThreshold: 0.3,
46
- passed: null,
47
- startedAt: null,
48
- completedAt: null,
49
- },
50
- ];
51
- // ============================================================================
52
- // EvolutionPipeline
53
- // ============================================================================
54
- /**
55
- * The Evolution Pipeline manages the lifecycle of change proposals through
56
- * signing, simulation, comparison, staged rollout, and promotion or rollback.
57
- */
58
- export class EvolutionPipeline {
59
- signingKey;
60
- maxDivergence;
61
- defaultStages;
62
- proposals = new Map();
63
- simulations = new Map();
64
- rollouts = new Map();
65
- constructor(config = {}) {
66
- if (!config.signingKey) {
67
- throw new Error('EvolutionPipeline requires an explicit signingKey — hardcoded defaults are not secure');
68
- }
69
- this.signingKey = config.signingKey;
70
- this.maxDivergence = config.maxDivergence ?? DEFAULT_MAX_DIVERGENCE;
71
- this.defaultStages = config.stages ?? DEFAULT_STAGES;
72
- }
73
- // ==========================================================================
74
- // Propose
75
- // ==========================================================================
76
- /**
77
- * Create and sign a new change proposal.
78
- */
79
- propose(params) {
80
- const proposalId = randomUUID();
81
- const createdAt = Date.now();
82
- const proposal = {
83
- proposalId,
84
- kind: params.kind,
85
- title: params.title,
86
- description: params.description,
87
- author: params.author,
88
- targetPath: params.targetPath,
89
- diff: params.diff,
90
- rationale: params.rationale,
91
- riskAssessment: params.riskAssessment,
92
- signature: '', // placeholder, signed below
93
- createdAt,
94
- status: 'draft',
95
- };
96
- proposal.signature = this.signProposal(proposal);
97
- proposal.status = 'signed';
98
- this.proposals.set(proposalId, proposal);
99
- return proposal;
100
- }
101
- // ==========================================================================
102
- // Simulate
103
- // ==========================================================================
104
- /**
105
- * Run golden traces through both baseline and candidate configs to measure
106
- * divergence. The evaluator is called once per golden trace per config.
107
- */
108
- simulate(proposalId, goldenTraces, evaluator) {
109
- const proposal = this.proposals.get(proposalId);
110
- if (!proposal) {
111
- throw new Error(`Proposal not found: ${proposalId}`);
112
- }
113
- proposal.status = 'simulating';
114
- // Evaluate each trace against both configs
115
- const baselineResults = goldenTraces.map(t => evaluator(t, 'baseline'));
116
- const candidateResults = goldenTraces.map(t => evaluator(t, 'candidate'));
117
- // Compute composite trace hashes
118
- const baselineTraceHash = this.hashTraceResults(baselineResults.map(r => r.traceHash));
119
- const candidateTraceHash = this.hashTraceResults(candidateResults.map(r => r.traceHash));
120
- // Compute decision diffs
121
- const decisionDiffs = [];
122
- for (let i = 0; i < goldenTraces.length; i++) {
123
- const bDecisions = baselineResults[i].decisions;
124
- const cDecisions = candidateResults[i].decisions;
125
- const maxLen = Math.max(bDecisions.length, cDecisions.length);
126
- for (let seq = 0; seq < maxLen; seq++) {
127
- const bVal = seq < bDecisions.length ? bDecisions[seq] : undefined;
128
- const cVal = seq < cDecisions.length ? cDecisions[seq] : undefined;
129
- if (JSON.stringify(bVal) !== JSON.stringify(cVal)) {
130
- decisionDiffs.push({
131
- seq,
132
- baseline: bVal,
133
- candidate: cVal,
134
- severity: this.classifyDiffSeverity(bVal, cVal),
135
- });
136
- }
137
- }
138
- }
139
- // Aggregate metrics
140
- const baselineMetrics = this.aggregateMetrics(baselineResults.map(r => r.metrics));
141
- const candidateMetrics = this.aggregateMetrics(candidateResults.map(r => r.metrics));
142
- // Compute divergence score (0-1)
143
- const divergenceScore = this.computeDivergenceScore(baselineTraceHash, candidateTraceHash, decisionDiffs, goldenTraces.length);
144
- const passed = divergenceScore <= this.maxDivergence;
145
- const reason = passed
146
- ? `Divergence ${divergenceScore.toFixed(3)} is within threshold ${this.maxDivergence}`
147
- : `Divergence ${divergenceScore.toFixed(3)} exceeds threshold ${this.maxDivergence}`;
148
- const result = {
149
- proposalId,
150
- baselineTraceHash,
151
- candidateTraceHash,
152
- divergenceScore,
153
- decisionDiffs,
154
- metricsComparison: {
155
- baseline: baselineMetrics,
156
- candidate: candidateMetrics,
157
- },
158
- passed,
159
- reason,
160
- };
161
- this.simulations.set(proposalId, result);
162
- return result;
163
- }
164
- // ==========================================================================
165
- // Compare
166
- // ==========================================================================
167
- /**
168
- * Compare a simulation result against acceptance criteria.
169
- *
170
- * Checks:
171
- * 1. Divergence is below threshold
172
- * 2. No regression in key metrics (candidate >= baseline)
173
- */
174
- compare(proposalId, simulationResult) {
175
- const proposal = this.proposals.get(proposalId);
176
- if (!proposal) {
177
- throw new Error(`Proposal not found: ${proposalId}`);
178
- }
179
- // Check divergence threshold
180
- if (simulationResult.divergenceScore > this.maxDivergence) {
181
- proposal.status = 'rejected';
182
- return {
183
- approved: false,
184
- reason: `Divergence ${simulationResult.divergenceScore.toFixed(3)} exceeds threshold ${this.maxDivergence}`,
185
- };
186
- }
187
- // Check for metric regressions
188
- const { baseline, candidate } = simulationResult.metricsComparison;
189
- const regressions = [];
190
- for (const key of Object.keys(baseline)) {
191
- if (candidate[key] !== undefined && candidate[key] < baseline[key]) {
192
- const pctDrop = ((baseline[key] - candidate[key]) / Math.max(baseline[key], 1)) * 100;
193
- // Only flag significant regressions (> 5%)
194
- if (pctDrop > 5) {
195
- regressions.push(`${key} regressed by ${pctDrop.toFixed(1)}%`);
196
- }
197
- }
198
- }
199
- if (regressions.length > 0) {
200
- proposal.status = 'rejected';
201
- return {
202
- approved: false,
203
- reason: `Metric regressions detected: ${regressions.join('; ')}`,
204
- };
205
- }
206
- proposal.status = 'compared';
207
- return {
208
- approved: true,
209
- reason: `Divergence ${simulationResult.divergenceScore.toFixed(3)} within threshold, no metric regressions`,
210
- };
211
- }
212
- // ==========================================================================
213
- // Stage
214
- // ==========================================================================
215
- /**
216
- * Create a staged rollout plan for a proposal.
217
- */
218
- stage(proposalId) {
219
- const proposal = this.proposals.get(proposalId);
220
- if (!proposal) {
221
- throw new Error(`Proposal not found: ${proposalId}`);
222
- }
223
- const now = Date.now();
224
- // Deep-clone default stages so each rollout has independent state
225
- const stages = this.defaultStages.map(s => ({
226
- ...s,
227
- metrics: { ...s.metrics },
228
- passed: null,
229
- startedAt: null,
230
- completedAt: null,
231
- }));
232
- // Start the first stage immediately
233
- stages[0].startedAt = now;
234
- const rollout = {
235
- rolloutId: randomUUID(),
236
- proposalId,
237
- stages,
238
- currentStage: 0,
239
- status: 'in-progress',
240
- startedAt: now,
241
- completedAt: null,
242
- };
243
- proposal.status = 'staged';
244
- this.rollouts.set(rollout.rolloutId, rollout);
245
- return rollout;
246
- }
247
- // ==========================================================================
248
- // Advance Stage
249
- // ==========================================================================
250
- /**
251
- * Advance to the next rollout stage or auto-rollback.
252
- *
253
- * If `stageMetrics.divergence` exceeds the current stage's threshold,
254
- * the rollout is automatically rolled back.
255
- */
256
- advanceStage(rolloutId, stageMetrics) {
257
- const rollout = this.rollouts.get(rolloutId);
258
- if (!rollout) {
259
- throw new Error(`Rollout not found: ${rolloutId}`);
260
- }
261
- if (rollout.status !== 'in-progress') {
262
- return {
263
- advanced: false,
264
- rolledBack: false,
265
- reason: `Rollout is ${rollout.status}, not in-progress`,
266
- };
267
- }
268
- const current = rollout.stages[rollout.currentStage];
269
- const now = Date.now();
270
- // Record metrics on the current stage
271
- current.metrics = { ...stageMetrics };
272
- // Check divergence against threshold
273
- const divergence = stageMetrics.divergence ?? 0;
274
- if (divergence > current.divergenceThreshold) {
275
- // Auto-rollback
276
- current.passed = false;
277
- current.completedAt = now;
278
- this.rollback(rolloutId, `Stage "${current.name}" divergence ${divergence.toFixed(3)} exceeded threshold ${current.divergenceThreshold}`);
279
- return {
280
- advanced: false,
281
- rolledBack: true,
282
- reason: `Auto-rollback: divergence ${divergence.toFixed(3)} exceeded threshold ${current.divergenceThreshold} at stage "${current.name}"`,
283
- };
284
- }
285
- // Current stage passed
286
- current.passed = true;
287
- current.completedAt = now;
288
- // Check if there are more stages
289
- if (rollout.currentStage < rollout.stages.length - 1) {
290
- rollout.currentStage += 1;
291
- rollout.stages[rollout.currentStage].startedAt = now;
292
- return {
293
- advanced: true,
294
- rolledBack: false,
295
- reason: `Advanced to stage "${rollout.stages[rollout.currentStage].name}"`,
296
- };
297
- }
298
- // All stages complete - auto-promote
299
- rollout.status = 'completed';
300
- rollout.completedAt = now;
301
- const proposal = this.proposals.get(rollout.proposalId);
302
- if (proposal) {
303
- proposal.status = 'promoted';
304
- }
305
- return {
306
- advanced: true,
307
- rolledBack: false,
308
- reason: 'All stages completed successfully; proposal promoted',
309
- };
310
- }
311
- // ==========================================================================
312
- // Rollback
313
- // ==========================================================================
314
- /**
315
- * Roll back a staged rollout.
316
- */
317
- rollback(rolloutId, reason) {
318
- const rollout = this.rollouts.get(rolloutId);
319
- if (!rollout) {
320
- throw new Error(`Rollout not found: ${rolloutId}`);
321
- }
322
- rollout.status = 'rolled-back';
323
- rollout.completedAt = Date.now();
324
- const proposal = this.proposals.get(rollout.proposalId);
325
- if (proposal) {
326
- proposal.status = 'rolled-back';
327
- }
328
- }
329
- // ==========================================================================
330
- // Promote
331
- // ==========================================================================
332
- /**
333
- * Promote a rollout, permanently applying the change.
334
- */
335
- promote(rolloutId) {
336
- const rollout = this.rollouts.get(rolloutId);
337
- if (!rollout) {
338
- throw new Error(`Rollout not found: ${rolloutId}`);
339
- }
340
- rollout.status = 'completed';
341
- rollout.completedAt = Date.now();
342
- const proposal = this.proposals.get(rollout.proposalId);
343
- if (proposal) {
344
- proposal.status = 'promoted';
345
- }
346
- }
347
- // ==========================================================================
348
- // Queries
349
- // ==========================================================================
350
- /**
351
- * Get a proposal by ID.
352
- */
353
- getProposal(id) {
354
- return this.proposals.get(id);
355
- }
356
- /**
357
- * Get all proposals, optionally filtered by status.
358
- */
359
- getProposals(status) {
360
- const all = Array.from(this.proposals.values());
361
- if (status === undefined) {
362
- return all;
363
- }
364
- return all.filter(p => p.status === status);
365
- }
366
- /**
367
- * Get a rollout by ID.
368
- */
369
- getRollout(id) {
370
- return this.rollouts.get(id);
371
- }
372
- /**
373
- * Get the full evolution history across all proposals.
374
- */
375
- getHistory() {
376
- return Array.from(this.proposals.values()).map(proposal => ({
377
- proposal,
378
- simulation: this.simulations.get(proposal.proposalId),
379
- rollout: this.findRolloutByProposal(proposal.proposalId),
380
- outcome: proposal.status,
381
- }));
382
- }
383
- // ==========================================================================
384
- // Private Helpers
385
- // ==========================================================================
386
- /**
387
- * Produce an HMAC-SHA256 signature for a proposal.
388
- *
389
- * The signature covers every field except `signature` and `status`.
390
- */
391
- signProposal(proposal) {
392
- const body = {
393
- proposalId: proposal.proposalId,
394
- kind: proposal.kind,
395
- title: proposal.title,
396
- description: proposal.description,
397
- author: proposal.author,
398
- targetPath: proposal.targetPath,
399
- diff: proposal.diff,
400
- rationale: proposal.rationale,
401
- riskAssessment: proposal.riskAssessment,
402
- createdAt: proposal.createdAt,
403
- };
404
- const payload = JSON.stringify(body);
405
- return createHmac('sha256', this.signingKey).update(payload).digest('hex');
406
- }
407
- /**
408
- * Compute a composite hash from an array of trace hashes.
409
- */
410
- hashTraceResults(traceHashes) {
411
- const payload = traceHashes.join(':');
412
- return createHash('sha256').update(payload).digest('hex');
413
- }
414
- /**
415
- * Classify how severe a single decision diff is.
416
- */
417
- classifyDiffSeverity(baseline, candidate) {
418
- // If one is undefined (extra/missing decision), it is high
419
- if (baseline === undefined || candidate === undefined) {
420
- return 'high';
421
- }
422
- const bStr = JSON.stringify(baseline);
423
- const cStr = JSON.stringify(candidate);
424
- // Very different lengths suggest structural changes
425
- if (Math.abs(bStr.length - cStr.length) > bStr.length * 0.5) {
426
- return 'high';
427
- }
428
- // Moderate difference
429
- if (bStr.length > 0 && Math.abs(bStr.length - cStr.length) > bStr.length * 0.2) {
430
- return 'medium';
431
- }
432
- return 'low';
433
- }
434
- /**
435
- * Compute an overall divergence score (0-1).
436
- */
437
- computeDivergenceScore(baselineHash, candidateHash, diffs, traceCount) {
438
- // If hashes are identical, divergence = 0
439
- if (baselineHash === candidateHash) {
440
- return 0;
441
- }
442
- // If there are no golden traces, treat as fully divergent
443
- if (traceCount === 0) {
444
- return 1;
445
- }
446
- // Weight diffs by severity
447
- const severityWeights = {
448
- low: 0.1,
449
- medium: 0.4,
450
- high: 1.0,
451
- };
452
- const totalWeight = diffs.reduce((sum, d) => sum + (severityWeights[d.severity] ?? 0.5), 0);
453
- // Normalize: max possible weight is traceCount * maxDecisionsPerTrace
454
- // Use a heuristic cap to keep score in [0, 1]
455
- const maxExpected = traceCount * 5; // assume ~5 decisions per trace at max weight
456
- const raw = totalWeight / Math.max(maxExpected, 1);
457
- return Math.min(1, Math.max(0, raw));
458
- }
459
- /**
460
- * Aggregate an array of metric records into averages.
461
- */
462
- aggregateMetrics(records) {
463
- if (records.length === 0)
464
- return {};
465
- const sums = {};
466
- const counts = {};
467
- for (const record of records) {
468
- for (const [key, value] of Object.entries(record)) {
469
- sums[key] = (sums[key] ?? 0) + value;
470
- counts[key] = (counts[key] ?? 0) + 1;
471
- }
472
- }
473
- const result = {};
474
- for (const key of Object.keys(sums)) {
475
- result[key] = sums[key] / counts[key];
476
- }
477
- return result;
478
- }
479
- /**
480
- * Find the rollout associated with a proposal.
481
- */
482
- findRolloutByProposal(proposalId) {
483
- for (const rollout of this.rollouts.values()) {
484
- if (rollout.proposalId === proposalId) {
485
- return rollout;
486
- }
487
- }
488
- return undefined;
489
- }
490
- }
491
- // ============================================================================
492
- // Factory
493
- // ============================================================================
494
- /**
495
- * Create an EvolutionPipeline instance.
496
- */
497
- export function createEvolutionPipeline(config) {
498
- return new EvolutionPipeline(config);
499
- }
500
- //# sourceMappingURL=evolution.js.map
@@ -1,79 +0,0 @@
1
- /**
2
- * Hook-based Enforcement Gates
3
- *
4
- * Uses Claude Flow hooks to enforce non-negotiable rules.
5
- * The model can forget. The hook does not.
6
- *
7
- * Gates:
8
- * 1. Destructive ops gate - requires confirmation + rollback plan
9
- * 2. Tool allowlist gate - blocks non-allowlisted tools
10
- * 3. Diff size gate - requires plan + staged commits for large diffs
11
- * 4. Secrets gate - redacts and warns on secret patterns
12
- *
13
- * @module @claude-flow/guidance/gates
14
- */
15
- import type { GateConfig, GateResult, GateDecision, GuidanceRule } from './types.js';
16
- export declare class EnforcementGates {
17
- private config;
18
- private activeRules;
19
- constructor(config?: Partial<GateConfig>);
20
- /**
21
- * Update active rules from retrieval
22
- */
23
- setActiveRules(rules: GuidanceRule[]): void;
24
- /**
25
- * Update configuration
26
- */
27
- updateConfig(config: Partial<GateConfig>): void;
28
- /**
29
- * Evaluate all gates for a command
30
- */
31
- evaluateCommand(command: string): GateResult[];
32
- /**
33
- * Evaluate all gates for a tool use
34
- */
35
- evaluateToolUse(toolName: string, params: Record<string, unknown>): GateResult[];
36
- /**
37
- * Evaluate all gates for a file edit
38
- */
39
- evaluateEdit(filePath: string, content: string, diffLines: number): GateResult[];
40
- /**
41
- * Gate 1: Destructive Operations
42
- *
43
- * If command includes delete, drop, rm, force, migration,
44
- * require explicit confirmation and a rollback plan.
45
- */
46
- evaluateDestructiveOps(command: string): GateResult | null;
47
- /**
48
- * Gate 2: Tool Allowlist
49
- *
50
- * If tool not in allowlist, block and ask for permission.
51
- */
52
- evaluateToolAllowlist(toolName: string): GateResult | null;
53
- /**
54
- * Gate 3: Diff Size
55
- *
56
- * If patch exceeds threshold, require a plan and staged commits.
57
- */
58
- evaluateDiffSize(filePath: string, diffLines: number): GateResult | null;
59
- /**
60
- * Gate 4: Secrets Detection
61
- *
62
- * If output matches secret patterns, redact and warn.
63
- */
64
- evaluateSecrets(content: string): GateResult | null;
65
- /**
66
- * Get the most restrictive decision from multiple gate results
67
- */
68
- aggregateDecision(results: GateResult[]): GateDecision;
69
- /**
70
- * Get gate statistics
71
- */
72
- getActiveGateCount(): number;
73
- private findTriggeredRules;
74
- }
75
- /**
76
- * Create enforcement gates
77
- */
78
- export declare function createGates(config?: Partial<GateConfig>): EnforcementGates;
79
- //# sourceMappingURL=gates.d.ts.map