claude-flow-novice 1.6.3 → 1.6.5

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 (290) hide show
  1. package/.claude/commands/parse-epic.js +180 -0
  2. package/.claude/settings.json +12 -2
  3. package/.claude/settings.local.json +4 -2
  4. package/.claude-flow-novice/dist/mcp/mcp-server-novice.js +37 -2
  5. package/.claude-flow-novice/dist/mcp/transports/base.js +5 -0
  6. package/.claude-flow-novice/dist/mcp/transports/base.js.map +1 -0
  7. package/.claude-flow-novice/dist/mcp/transports/http.js +414 -0
  8. package/.claude-flow-novice/dist/mcp/transports/http.js.map +1 -0
  9. package/.claude-flow-novice/dist/mcp/transports/stdio.js +217 -0
  10. package/.claude-flow-novice/dist/mcp/transports/stdio.js.map +1 -0
  11. package/.claude-flow-novice/dist/src/cli/commands/parse-epic.js +129 -0
  12. package/.claude-flow-novice/dist/src/cli/commands/parse-epic.js.map +1 -0
  13. package/.claude-flow-novice/dist/src/cli/index.js +3 -0
  14. package/.claude-flow-novice/dist/src/cli/index.js.map +1 -1
  15. package/.claude-flow-novice/dist/src/cli/utils/epic-parser.js +266 -0
  16. package/.claude-flow-novice/dist/src/cli/utils/epic-parser.js.map +1 -0
  17. package/.claude-flow-novice/dist/src/communication/message-bus.js +105 -2
  18. package/.claude-flow-novice/dist/src/communication/message-bus.js.map +1 -1
  19. package/.claude-flow-novice/dist/src/coordination/adapters/v1-coordinator-adapter.js +1 -1
  20. package/.claude-flow-novice/dist/src/coordination/adapters/v1-coordinator-adapter.js.map +1 -1
  21. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/cache/artifact-cache-optimizer.js +632 -0
  22. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/cache/artifact-cache-optimizer.js.map +1 -0
  23. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/cache/index.js +11 -0
  24. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/cache/index.js.map +1 -0
  25. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/checkpoints/checkpoint-compressor.js +318 -0
  26. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/checkpoints/checkpoint-compressor.js.map +1 -0
  27. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/completion-detector.js +234 -0
  28. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/completion-detector.js.map +1 -0
  29. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/hierarchical-detector.js +347 -0
  30. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/hierarchical-detector.js.map +1 -0
  31. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/index.js +13 -0
  32. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/index.js.map +1 -0
  33. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/lamport-clock.js +173 -0
  34. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/lamport-clock.js.map +1 -0
  35. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/mesh-detector.js +526 -0
  36. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/mesh-detector.js.map +1 -0
  37. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/sdk-completion-detector.js +443 -0
  38. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/sdk-completion-detector.js.map +1 -0
  39. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/swarm-shutdown.js +366 -0
  40. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/swarm-shutdown.js.map +1 -0
  41. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinator-factory.js +287 -0
  42. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinator-factory.js.map +1 -0
  43. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/cascading-shutdown.example.js +364 -0
  44. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/cascading-shutdown.example.js.map +1 -0
  45. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/cascading-shutdown.js +492 -0
  46. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/cascading-shutdown.js.map +1 -0
  47. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/hierarchical-coordinator.js +786 -0
  48. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/hierarchical-coordinator.js.map +1 -0
  49. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/index.js +16 -0
  50. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/index.js.map +1 -0
  51. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/parent-child-manager.js +342 -0
  52. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/parent-child-manager.js.map +1 -0
  53. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/swarm-coordinator-v2.js +601 -0
  54. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/swarm-coordinator-v2.js.map +1 -0
  55. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/agent-state.js +9 -0
  56. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/agent-state.js.map +1 -0
  57. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dead-letter-queue.js +413 -0
  58. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dead-letter-queue.js.map +1 -0
  59. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-graph.js +471 -0
  60. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-graph.js.map +1 -0
  61. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-node.js +379 -0
  62. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-node.js.map +1 -0
  63. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-resolver.js +335 -0
  64. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-resolver.js.map +1 -0
  65. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/help-request-metrics.js +211 -0
  66. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/help-request-metrics.js.map +1 -0
  67. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/index.js +33 -0
  68. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/index.js.map +1 -0
  69. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message-broker.js +920 -0
  70. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message-broker.js.map +1 -0
  71. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message-router.js +385 -0
  72. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message-router.js.map +1 -0
  73. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message.js +138 -0
  74. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message.js.map +1 -0
  75. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/resource-manager-safe.js +478 -0
  76. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/resource-manager-safe.js.map +1 -0
  77. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-machine-config.js +358 -0
  78. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-machine-config.js.map +1 -0
  79. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-machine.js +588 -0
  80. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-machine.js.map +1 -0
  81. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-transition.js +153 -0
  82. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-transition.js.map +1 -0
  83. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/task-scheduler.js +360 -0
  84. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/task-scheduler.js.map +1 -0
  85. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/topic-manager.js +337 -0
  86. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/topic-manager.js.map +1 -0
  87. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/deadlock-detector.js +424 -0
  88. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/deadlock-detector.js.map +1 -0
  89. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/index.js +9 -0
  90. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/index.js.map +1 -0
  91. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/resource-manager.js +669 -0
  92. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/resource-manager.js.map +1 -0
  93. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/artifact-storage.js +451 -0
  94. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/artifact-storage.js.map +1 -0
  95. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/cycle-detector.js +271 -0
  96. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/cycle-detector.js.map +1 -0
  97. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-graph.js +335 -0
  98. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-graph.js.map +1 -0
  99. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-manager.js +439 -0
  100. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-manager.js.map +1 -0
  101. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-request.js +92 -0
  102. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-request.js.map +1 -0
  103. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/index.js +21 -0
  104. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/index.js.map +1 -0
  105. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/topological-sort.js +223 -0
  106. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/topological-sort.js.map +1 -0
  107. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-coordinator.js +436 -0
  108. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-coordinator.js.map +1 -0
  109. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-matcher.js +278 -0
  110. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-matcher.js.map +1 -0
  111. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-request-handler.js +317 -0
  112. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-request-handler.js.map +1 -0
  113. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-request.js +273 -0
  114. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-request.js.map +1 -0
  115. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/index.js +15 -0
  116. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/index.js.map +1 -0
  117. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/waiting-agent-pool.js +512 -0
  118. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/waiting-agent-pool.js.map +1 -0
  119. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/index.js +67 -0
  120. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/index.js.map +1 -0
  121. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/help-deadlock-integration.js +557 -0
  122. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/help-deadlock-integration.js.map +1 -0
  123. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/index.js +14 -0
  124. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/index.js.map +1 -0
  125. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/message-bus-completion-integration.example.js +212 -0
  126. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/message-bus-completion-integration.example.js.map +1 -0
  127. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/message-bus-completion-integration.js +552 -0
  128. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/message-bus-completion-integration.js.map +1 -0
  129. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/state-machine-integration.js +635 -0
  130. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/state-machine-integration.js.map +1 -0
  131. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/IArtifactStorage.js +28 -0
  132. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/IArtifactStorage.js.map +1 -0
  133. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/ICoordinator.js +9 -0
  134. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/ICoordinator.js.map +1 -0
  135. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/ISessionStore.js +25 -0
  136. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/ISessionStore.js.map +1 -0
  137. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/index.js +14 -0
  138. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/index.js.map +1 -0
  139. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/artifact-adapter.js +308 -0
  140. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/artifact-adapter.js.map +1 -0
  141. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/completion-storage.js +439 -0
  142. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/completion-storage.js.map +1 -0
  143. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/dependency-graph-storage.js +540 -0
  144. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/dependency-graph-storage.js.map +1 -0
  145. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/dependency-storage.js +367 -0
  146. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/dependency-storage.js.map +1 -0
  147. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/index.js +14 -0
  148. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/index.js.map +1 -0
  149. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/message-storage.js +518 -0
  150. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/message-storage.js.map +1 -0
  151. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/state-storage.js +377 -0
  152. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/state-storage.js.map +1 -0
  153. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channel.js +371 -0
  154. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channel.js.map +1 -0
  155. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/dependency-channel.js +355 -0
  156. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/dependency-channel.js.map +1 -0
  157. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/help-channel.js +424 -0
  158. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/help-channel.js.map +1 -0
  159. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/index.js +16 -0
  160. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/index.js.map +1 -0
  161. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/state-channel.js +295 -0
  162. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/state-channel.js.map +1 -0
  163. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/task-channel.js +411 -0
  164. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/task-channel.js.map +1 -0
  165. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/index.js +14 -0
  166. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/index.js.map +1 -0
  167. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-bus.js +387 -0
  168. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-bus.js.map +1 -0
  169. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-persistence.js +589 -0
  170. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-persistence.js.map +1 -0
  171. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-router.js +444 -0
  172. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-router.js.map +1 -0
  173. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/artifact-storage.js +560 -0
  174. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/artifact-storage.js.map +1 -0
  175. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/background-orchestrator.js +335 -0
  176. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/background-orchestrator.js.map +1 -0
  177. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/bash-output-monitor.js +104 -0
  178. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/bash-output-monitor.js.map +1 -0
  179. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/checkpoint-manager.js +847 -0
  180. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/checkpoint-manager.js.map +1 -0
  181. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/help-coordinator.js +470 -0
  182. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/help-coordinator.js.map +1 -0
  183. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/hierarchical-background-integration.js +450 -0
  184. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/hierarchical-background-integration.js.map +1 -0
  185. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/index.js +13 -0
  186. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/index.js.map +1 -0
  187. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/message-bus-integration.js +625 -0
  188. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/message-bus-integration.js.map +1 -0
  189. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/multi-level-control.js +545 -0
  190. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/multi-level-control.js.map +1 -0
  191. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/query-controller.js +740 -0
  192. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/query-controller.js.map +1 -0
  193. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/query-message-integration.js +415 -0
  194. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/query-message-integration.js.map +1 -0
  195. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/session-pool-optimizer.js +615 -0
  196. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/session-pool-optimizer.js.map +1 -0
  197. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/state-machine-integration.js +547 -0
  198. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/state-machine-integration.js.map +1 -0
  199. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/state-sdk-integration.js +342 -0
  200. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/state-sdk-integration.js.map +1 -0
  201. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/security/payload-validator.js +259 -0
  202. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/security/payload-validator.js.map +1 -0
  203. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/framework-registry.js +273 -0
  204. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/framework-registry.js.map +1 -0
  205. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/index.js +8 -0
  206. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/index.js.map +1 -0
  207. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/truth-config-manager.js +310 -0
  208. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/truth-config-manager.js.map +1 -0
  209. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/truth-validator.js +218 -0
  210. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/truth-validator.js.map +1 -0
  211. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/types/sdk.js +9 -0
  212. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/types/sdk.js.map +1 -0
  213. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/index.js +6 -0
  214. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/index.js.map +1 -0
  215. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/priority-queue.js +145 -0
  216. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/priority-queue.js.map +1 -0
  217. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/sdk-helpers.js +122 -0
  218. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/sdk-helpers.js.map +1 -0
  219. package/.claude-flow-novice/dist/src/coordination/config-translator.js +17 -43
  220. package/.claude-flow-novice/dist/src/coordination/config-translator.js.map +1 -1
  221. package/.claude-flow-novice/dist/src/coordination/coordination-toggle.js +34 -76
  222. package/.claude-flow-novice/dist/src/coordination/coordination-toggle.js.map +1 -1
  223. package/.claude-flow-novice/dist/src/coordination/index.js +3 -0
  224. package/.claude-flow-novice/dist/src/coordination/index.js.map +1 -1
  225. package/.claude-flow-novice/dist/src/coordination/shared/core/agent-state.js +172 -0
  226. package/.claude-flow-novice/dist/src/coordination/shared/core/agent-state.js.map +1 -0
  227. package/.claude-flow-novice/dist/src/coordination/shared/core/index.js +7 -0
  228. package/.claude-flow-novice/dist/src/coordination/shared/core/index.js.map +1 -0
  229. package/.claude-flow-novice/dist/src/coordination/shared/index.js +19 -0
  230. package/.claude-flow-novice/dist/src/coordination/shared/index.js.map +1 -0
  231. package/.claude-flow-novice/dist/src/coordination/shared/interfaces/ICoordinator.js +24 -0
  232. package/.claude-flow-novice/dist/src/coordination/shared/interfaces/ICoordinator.js.map +1 -0
  233. package/.claude-flow-novice/dist/src/coordination/shared/interfaces/index.js +7 -0
  234. package/.claude-flow-novice/dist/src/coordination/shared/interfaces/index.js.map +1 -0
  235. package/.claude-flow-novice/dist/src/coordination/shared/message-broker.js +920 -0
  236. package/.claude-flow-novice/dist/src/coordination/shared/message-broker.js.map +1 -0
  237. package/.claude-flow-novice/dist/src/coordination/shared/message.js +138 -0
  238. package/.claude-flow-novice/dist/src/coordination/shared/message.js.map +1 -0
  239. package/.claude-flow-novice/dist/src/coordination/shared/security/payload-validator.js +259 -0
  240. package/.claude-flow-novice/dist/src/coordination/shared/security/payload-validator.js.map +1 -0
  241. package/.claude-flow-novice/dist/src/coordination/shared/transparency/index.js +17 -0
  242. package/.claude-flow-novice/dist/src/coordination/shared/transparency/index.js.map +1 -0
  243. package/.claude-flow-novice/dist/src/coordination/shared/transparency/interfaces/transparency-system.js +19 -0
  244. package/.claude-flow-novice/dist/src/coordination/shared/transparency/interfaces/transparency-system.js.map +1 -0
  245. package/.claude-flow-novice/dist/src/coordination/shared/transparency/transparency-integration.js +357 -0
  246. package/.claude-flow-novice/dist/src/coordination/shared/transparency/transparency-integration.js.map +1 -0
  247. package/.claude-flow-novice/dist/src/coordination/shared/transparency/transparency-system.js +679 -0
  248. package/.claude-flow-novice/dist/src/coordination/shared/transparency/transparency-system.js.map +1 -0
  249. package/.claude-flow-novice/dist/src/coordination/shared/types/index.js +7 -0
  250. package/.claude-flow-novice/dist/src/coordination/shared/types/index.js.map +1 -0
  251. package/.claude-flow-novice/dist/src/coordination/shared/types/sdk.js +10 -0
  252. package/.claude-flow-novice/dist/src/coordination/shared/types/sdk.js.map +1 -0
  253. package/.claude-flow-novice/dist/src/coordination/v1-transparency/interfaces/v1-transparency-system.js +12 -0
  254. package/.claude-flow-novice/dist/src/coordination/v1-transparency/interfaces/v1-transparency-system.js.map +1 -0
  255. package/.claude-flow-novice/dist/src/coordination/v1-transparency/v1-to-v2-bridge.js +433 -0
  256. package/.claude-flow-novice/dist/src/coordination/v1-transparency/v1-to-v2-bridge.js.map +1 -0
  257. package/.claude-flow-novice/dist/src/coordination/v1-transparency/v1-transparency-adapter.js +1468 -0
  258. package/.claude-flow-novice/dist/src/coordination/v1-transparency/v1-transparency-adapter.js.map +1 -0
  259. package/.claude-flow-novice/dist/src/feature-flags/core/FeatureFlagManager.js +52 -2
  260. package/.claude-flow-novice/dist/src/feature-flags/core/FeatureFlagManager.js.map +1 -1
  261. package/.claude-flow-novice/dist/src/mcp/mcp-server-novice.js +37 -2
  262. package/.claude-flow-novice/dist/src/mcp/session-manager.js +3 -1
  263. package/.claude-flow-novice/dist/src/mcp/session-manager.js.map +1 -1
  264. package/.claude-flow-novice/dist/src/monitoring/apm/apm-integration.js +5 -0
  265. package/.claude-flow-novice/dist/src/monitoring/apm/apm-integration.js.map +1 -1
  266. package/.claude-flow-novice/dist/src/providers/provider-manager.js +41 -6
  267. package/.claude-flow-novice/dist/src/providers/provider-manager.js.map +1 -1
  268. package/.claude-flow-novice/dist/src/providers/tiered-router.js +9 -17
  269. package/.claude-flow-novice/dist/src/providers/tiered-router.js.map +1 -1
  270. package/.claude-flow-novice/dist/src/utils/markdown-sanitizer.js +65 -41
  271. package/.claude-flow-novice/dist/src/utils/markdown-sanitizer.js.map +1 -1
  272. package/.claude-flow-novice/dist/src/web/api/server.js +1 -1
  273. package/.claude-flow-novice/dist/src/web/api/server.js.map +1 -1
  274. package/.claude-flow-novice/dist/src/workflows/progressive-rollout-manager.js +30 -0
  275. package/.claude-flow-novice/dist/src/workflows/progressive-rollout-manager.js.map +1 -1
  276. package/.claude-flow-novice/metrics.db +0 -0
  277. package/.claude-flow-novice/metrics.db-shm +0 -0
  278. package/.claude-flow-novice/metrics.db-wal +0 -0
  279. package/CLAUDE.md +72 -0
  280. package/config/hooks/post-edit-pipeline.js +68 -118
  281. package/config/hooks/pre-tool-memory-safety.js +209 -0
  282. package/package.json +7 -4
  283. package/scripts/cleanup-idle-sessions.sh +59 -0
  284. package/scripts/monitoring/alert-monitor.sh +220 -0
  285. package/scripts/monitoring/view-alerts.sh +307 -0
  286. package/scripts/test-provider-routing.cjs +7 -9
  287. package/scripts/test-zai-api.cjs +2 -2
  288. package/src/slash-commands/parse-epic.js +1 -1
  289. package/wiki/Provider-Routing.md +57 -69
  290. package/MEMORY_LEAK_ROOT_CAUSE.md +0 -149
@@ -0,0 +1,552 @@
1
+ /**
2
+ * Agent Coordination V2 - Message Bus + Completion Detection Integration
3
+ *
4
+ * Event-driven integration layer connecting MessageBus (Phase 3) with
5
+ * CompletionDetector (Phase 4) for zero-polling swarm completion.
6
+ *
7
+ * Integration Points:
8
+ * 1. State transitions → Message bus events (state.transition → completion check)
9
+ * 2. Dependency resolution → Message routing (dependency.resolved → completion signal)
10
+ * 3. Completion detection → Shutdown coordination (completion.detected → shutdown)
11
+ * 4. Help requests → Message broker (help.requested → help channel routing)
12
+ *
13
+ * Performance:
14
+ * - Event-driven (zero polling overhead)
15
+ * - Completion triggers from message flow
16
+ * - <1000ms completion detection latency (20-agent swarm)
17
+ *
18
+ * @module coordination/v2/integration/message-bus-completion-integration
19
+ */ import { EventEmitter } from 'node:events';
20
+ import { AgentState } from '../../shared/core/agent-state.js';
21
+ import { MessagePriority } from '../core/message.js';
22
+ import { Logger } from '../../../core/logger.js';
23
+ /**
24
+ * Integration events
25
+ */ export var IntegrationEvent = /*#__PURE__*/ function(IntegrationEvent) {
26
+ /** State transition received from state machine */ IntegrationEvent["STATE_TRANSITION"] = "integration:state-transition";
27
+ /** Completion check initiated */ IntegrationEvent["COMPLETION_CHECK"] = "integration:completion-check";
28
+ /** Completion detected */ IntegrationEvent["COMPLETION_DETECTED"] = "integration:completion-detected";
29
+ /** Shutdown initiated */ IntegrationEvent["SHUTDOWN_INITIATED"] = "integration:shutdown-initiated";
30
+ /** Shutdown completed */ IntegrationEvent["SHUTDOWN_COMPLETED"] = "integration:shutdown-completed";
31
+ /** Integration error */ IntegrationEvent["ERROR"] = "integration:error";
32
+ return IntegrationEvent;
33
+ }({});
34
+ /**
35
+ * MessageBusCompletionIntegration - Event-driven coordination layer
36
+ *
37
+ * Connects MessageBus with CompletionDetector for zero-polling completion:
38
+ *
39
+ * Flow:
40
+ * 1. StateMachine emits state:transition event
41
+ * 2. Integration publishes to MessageBus (topic: agent.state.transition)
42
+ * 3. Integration triggers completion check (debounced)
43
+ * 4. CompletionDetector analyzes swarm state
44
+ * 5. If complete → publish completion.detected event
45
+ * 6. If auto-shutdown → initiate SwarmShutdown
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * const integration = new MessageBusCompletionIntegration(
50
+ * messageBus,
51
+ * completionDetector,
52
+ * stateMachine,
53
+ * swarmShutdown,
54
+ * {
55
+ * autoDetectCompletion: true,
56
+ * autoShutdownOnCompletion: true,
57
+ * publishStateEvents: true
58
+ * }
59
+ * );
60
+ *
61
+ * integration.on('integration:completion-detected', (result) => {
62
+ * console.log(`Swarm ${result.swarmId} completed!`);
63
+ * });
64
+ *
65
+ * integration.start();
66
+ * ```
67
+ */ export class MessageBusCompletionIntegration extends EventEmitter {
68
+ logger;
69
+ config;
70
+ messageBus;
71
+ completionDetector;
72
+ stateMachine;
73
+ swarmShutdown;
74
+ metrics;
75
+ completionLatencies;
76
+ isStarted;
77
+ completionCheckTimer;
78
+ pendingCompletionChecks;
79
+ // Bound event handlers for proper cleanup
80
+ boundHandleStateTransition;
81
+ boundHandleHelpRequested;
82
+ boundHandleHelpCompleted;
83
+ boundHandleCompletionDetected;
84
+ boundHandleCompletionFailed;
85
+ boundHandleShutdownStarted;
86
+ boundHandleShutdownCompleted;
87
+ constructor(messageBus, completionDetector, stateMachine, swarmShutdown, config){
88
+ super();
89
+ this.logger = new Logger({
90
+ level: 'info',
91
+ format: 'text',
92
+ destination: 'console'
93
+ });
94
+ this.config = {
95
+ autoDetectCompletion: config?.autoDetectCompletion ?? true,
96
+ autoShutdownOnCompletion: config?.autoShutdownOnCompletion ?? true,
97
+ publishCompletionEvents: config?.publishCompletionEvents ?? true,
98
+ publishStateEvents: config?.publishStateEvents ?? true,
99
+ enableLogging: config?.enableLogging ?? true,
100
+ completionCheckDebounceMs: config?.completionCheckDebounceMs ?? 500
101
+ };
102
+ this.messageBus = messageBus;
103
+ this.completionDetector = completionDetector;
104
+ this.stateMachine = stateMachine;
105
+ this.swarmShutdown = swarmShutdown;
106
+ this.isStarted = false;
107
+ this.completionCheckTimer = null;
108
+ this.pendingCompletionChecks = new Set();
109
+ this.completionLatencies = [];
110
+ // Bind event handlers once for proper cleanup
111
+ this.boundHandleStateTransition = this.handleStateTransition.bind(this);
112
+ this.boundHandleHelpRequested = this.handleHelpRequested.bind(this);
113
+ this.boundHandleHelpCompleted = this.handleHelpCompleted.bind(this);
114
+ this.boundHandleCompletionDetected = this.handleCompletionDetected.bind(this);
115
+ this.boundHandleCompletionFailed = this.handleCompletionFailed.bind(this);
116
+ this.boundHandleShutdownStarted = this.handleShutdownStarted.bind(this);
117
+ this.boundHandleShutdownCompleted = this.handleShutdownCompleted.bind(this);
118
+ this.metrics = {
119
+ totalStateTransitions: 0,
120
+ totalCompletionChecks: 0,
121
+ totalCompletionsDetected: 0,
122
+ totalShutdownsInitiated: 0,
123
+ totalEventsPublished: 0,
124
+ avgCompletionLatencyMs: 0,
125
+ failedCompletionChecks: 0
126
+ };
127
+ if (this.config.enableLogging) {
128
+ this.logger.info('MessageBusCompletionIntegration initialized', {
129
+ autoDetectCompletion: this.config.autoDetectCompletion,
130
+ autoShutdownOnCompletion: this.config.autoShutdownOnCompletion,
131
+ publishStateEvents: this.config.publishStateEvents
132
+ });
133
+ }
134
+ }
135
+ /**
136
+ * Start integration (wire up event handlers)
137
+ */ start() {
138
+ if (this.isStarted) {
139
+ return;
140
+ }
141
+ this.isStarted = true;
142
+ // Wire state machine → message bus
143
+ this.stateMachine.on('state:transition', this.boundHandleStateTransition);
144
+ // Wire state machine help events → message bus
145
+ this.stateMachine.on('help:requested', this.boundHandleHelpRequested);
146
+ this.stateMachine.on('help:completed', this.boundHandleHelpCompleted);
147
+ // Wire completion detector → message bus
148
+ this.completionDetector.on('completion:detected', this.boundHandleCompletionDetected);
149
+ this.completionDetector.on('completion:failed', this.boundHandleCompletionFailed);
150
+ // Wire shutdown events → message bus
151
+ this.swarmShutdown.on('shutdown:started', this.boundHandleShutdownStarted);
152
+ this.swarmShutdown.on('shutdown:completed', this.boundHandleShutdownCompleted);
153
+ if (this.config.enableLogging) {
154
+ this.logger.info('Integration started - event handlers wired');
155
+ }
156
+ }
157
+ /**
158
+ * Stop integration (remove event handlers)
159
+ */ stop() {
160
+ if (!this.isStarted) {
161
+ return;
162
+ }
163
+ this.isStarted = false;
164
+ // Unwire all event handlers
165
+ this.stateMachine.removeListener('state:transition', this.boundHandleStateTransition);
166
+ this.stateMachine.removeListener('help:requested', this.boundHandleHelpRequested);
167
+ this.stateMachine.removeListener('help:completed', this.boundHandleHelpCompleted);
168
+ this.completionDetector.removeListener('completion:detected', this.boundHandleCompletionDetected);
169
+ this.completionDetector.removeListener('completion:failed', this.boundHandleCompletionFailed);
170
+ this.swarmShutdown.removeListener('shutdown:started', this.boundHandleShutdownStarted);
171
+ this.swarmShutdown.removeListener('shutdown:completed', this.boundHandleShutdownCompleted);
172
+ // Clear debounce timer
173
+ if (this.completionCheckTimer) {
174
+ clearTimeout(this.completionCheckTimer);
175
+ this.completionCheckTimer = null;
176
+ }
177
+ if (this.config.enableLogging) {
178
+ this.logger.info('Integration stopped');
179
+ }
180
+ }
181
+ /**
182
+ * Handle state transition event from state machine
183
+ *
184
+ * Flow:
185
+ * 1. Publish state transition to message bus
186
+ * 2. Trigger debounced completion check (if enabled)
187
+ */ handleStateTransition(event) {
188
+ this.metrics.totalStateTransitions++;
189
+ // Publish state transition to message bus
190
+ if (this.config.publishStateEvents) {
191
+ const message = this.messageBus.publish({
192
+ topic: `agent.state.transition`,
193
+ payload: {
194
+ agentId: event.agentId,
195
+ sessionId: event.sessionId,
196
+ fromState: event.fromState,
197
+ toState: event.toState,
198
+ timestamp: event.timestamp,
199
+ checkpointId: event.checkpointId,
200
+ latencyMs: event.latencyMs,
201
+ metadata: event.metadata
202
+ },
203
+ priority: MessagePriority.HIGH,
204
+ senderId: 'integration',
205
+ metadata: {
206
+ source: 'MessageBusCompletionIntegration',
207
+ eventType: 'state-transition'
208
+ }
209
+ });
210
+ this.metrics.totalEventsPublished++;
211
+ this.emit("integration:state-transition", {
212
+ messageId: message.id,
213
+ agentId: event.agentId,
214
+ transition: `${event.fromState} → ${event.toState}`
215
+ });
216
+ }
217
+ // Trigger completion check if agent reached terminal state
218
+ if (this.config.autoDetectCompletion && this.isTerminalState(event.toState)) {
219
+ this.scheduleCompletionCheck(event.sessionId);
220
+ }
221
+ }
222
+ /**
223
+ * Handle help requested event from state machine
224
+ */ handleHelpRequested(event) {
225
+ const message = this.messageBus.publish({
226
+ topic: 'help.requested',
227
+ payload: {
228
+ requestId: event.requestId,
229
+ requestingAgentId: event.requestingAgentId,
230
+ helperAgentId: event.helperAgentId,
231
+ checkpointId: event.checkpointId,
232
+ timestamp: event.timestamp
233
+ },
234
+ priority: MessagePriority.CRITICAL,
235
+ senderId: event.requestingAgentId,
236
+ recipientId: event.helperAgentId,
237
+ metadata: {
238
+ source: 'MessageBusCompletionIntegration',
239
+ eventType: 'help-requested'
240
+ }
241
+ });
242
+ this.metrics.totalEventsPublished++;
243
+ if (this.config.enableLogging) {
244
+ this.logger.info('Help request published to message bus', {
245
+ requestId: event.requestId,
246
+ messageId: message.id
247
+ });
248
+ }
249
+ }
250
+ /**
251
+ * Handle help completed event from state machine
252
+ */ handleHelpCompleted(event) {
253
+ const message = this.messageBus.publish({
254
+ topic: 'help.completed',
255
+ payload: {
256
+ requestId: event.requestId,
257
+ helperAgentId: event.helperAgentId,
258
+ recoveryLatencyMs: event.recoveryLatencyMs,
259
+ timestamp: event.timestamp
260
+ },
261
+ priority: MessagePriority.HIGH,
262
+ senderId: event.helperAgentId,
263
+ metadata: {
264
+ source: 'MessageBusCompletionIntegration',
265
+ eventType: 'help-completed'
266
+ }
267
+ });
268
+ this.metrics.totalEventsPublished++;
269
+ if (this.config.enableLogging) {
270
+ this.logger.info('Help completion published to message bus', {
271
+ requestId: event.requestId,
272
+ messageId: message.id
273
+ });
274
+ }
275
+ }
276
+ /**
277
+ * Handle completion detected event from completion detector
278
+ *
279
+ * Flow:
280
+ * 1. Publish completion event to message bus
281
+ * 2. Initiate shutdown if auto-shutdown enabled
282
+ */ handleCompletionDetected(result) {
283
+ this.metrics.totalCompletionsDetected++;
284
+ // Publish completion to message bus
285
+ if (this.config.publishCompletionEvents) {
286
+ const message = this.messageBus.publish({
287
+ topic: 'completion.detected',
288
+ payload: {
289
+ swarmId: result.swarmId,
290
+ completed: result.completed,
291
+ completedCount: result.completedCount,
292
+ totalCount: result.totalCount,
293
+ timestamp: result.timestamp,
294
+ latencyMs: result.latencyMs,
295
+ checkpointId: result.checkpointId,
296
+ metadata: result.metadata
297
+ },
298
+ priority: MessagePriority.CRITICAL,
299
+ senderId: 'completion-detector',
300
+ metadata: {
301
+ source: 'MessageBusCompletionIntegration',
302
+ eventType: 'completion-detected',
303
+ strategy: result.metadata?.strategy
304
+ }
305
+ });
306
+ this.metrics.totalEventsPublished++;
307
+ this.emit("integration:completion-detected", {
308
+ messageId: message.id,
309
+ swarmId: result.swarmId,
310
+ completedCount: result.completedCount,
311
+ totalCount: result.totalCount
312
+ });
313
+ }
314
+ // Initiate shutdown if enabled
315
+ if (this.config.autoShutdownOnCompletion && result.completed) {
316
+ this.initiateShutdown(result);
317
+ }
318
+ }
319
+ /**
320
+ * Handle completion failed event from completion detector
321
+ */ handleCompletionFailed(event) {
322
+ this.metrics.failedCompletionChecks++;
323
+ const message = this.messageBus.publish({
324
+ topic: 'completion.failed',
325
+ payload: {
326
+ swarmId: event.swarmId,
327
+ error: event.error.message,
328
+ timestamp: new Date()
329
+ },
330
+ priority: MessagePriority.HIGH,
331
+ senderId: 'completion-detector',
332
+ metadata: {
333
+ source: 'MessageBusCompletionIntegration',
334
+ eventType: 'completion-failed'
335
+ }
336
+ });
337
+ this.metrics.totalEventsPublished++;
338
+ this.emit("integration:error", {
339
+ messageId: message.id,
340
+ swarmId: event.swarmId,
341
+ error: event.error.message
342
+ });
343
+ if (this.config.enableLogging) {
344
+ this.logger.error('Completion detection failed', {
345
+ swarmId: event.swarmId,
346
+ error: event.error.message
347
+ });
348
+ }
349
+ }
350
+ /**
351
+ * Handle shutdown started event
352
+ */ handleShutdownStarted(event) {
353
+ const message = this.messageBus.publish({
354
+ topic: 'shutdown.started',
355
+ payload: {
356
+ agentCount: event.agentCount,
357
+ reason: event.reason,
358
+ config: event.config,
359
+ timestamp: new Date()
360
+ },
361
+ priority: MessagePriority.CRITICAL,
362
+ senderId: 'swarm-shutdown',
363
+ metadata: {
364
+ source: 'MessageBusCompletionIntegration',
365
+ eventType: 'shutdown-started'
366
+ }
367
+ });
368
+ this.metrics.totalEventsPublished++;
369
+ this.emit("integration:shutdown-initiated", {
370
+ messageId: message.id,
371
+ agentCount: event.agentCount,
372
+ reason: event.reason
373
+ });
374
+ if (this.config.enableLogging) {
375
+ this.logger.info('Shutdown initiated', {
376
+ agentCount: event.agentCount,
377
+ reason: event.reason
378
+ });
379
+ }
380
+ }
381
+ /**
382
+ * Handle shutdown completed event
383
+ */ handleShutdownCompleted(result) {
384
+ const message = this.messageBus.publish({
385
+ topic: 'shutdown.completed',
386
+ payload: {
387
+ success: result.success,
388
+ totalAgents: result.totalAgents,
389
+ successfulShutdowns: result.successfulShutdowns,
390
+ failedShutdowns: result.failedShutdowns,
391
+ totalLatencyMs: result.totalLatencyMs,
392
+ backgroundProcessesCleaned: result.backgroundProcessesCleaned,
393
+ shutdownAt: result.shutdownAt
394
+ },
395
+ priority: MessagePriority.CRITICAL,
396
+ senderId: 'swarm-shutdown',
397
+ metadata: {
398
+ source: 'MessageBusCompletionIntegration',
399
+ eventType: 'shutdown-completed'
400
+ }
401
+ });
402
+ this.metrics.totalEventsPublished++;
403
+ this.emit("integration:shutdown-completed", {
404
+ messageId: message.id,
405
+ success: result.success,
406
+ totalAgents: result.totalAgents,
407
+ totalLatencyMs: result.totalLatencyMs
408
+ });
409
+ if (this.config.enableLogging) {
410
+ this.logger.info('Shutdown completed', {
411
+ success: result.success,
412
+ totalAgents: result.totalAgents,
413
+ totalLatencyMs: result.totalLatencyMs
414
+ });
415
+ }
416
+ }
417
+ /**
418
+ * Schedule debounced completion check
419
+ *
420
+ * Avoids excessive completion checks by batching state transitions
421
+ */ scheduleCompletionCheck(swarmId) {
422
+ this.pendingCompletionChecks.add(swarmId);
423
+ // Clear existing timer
424
+ if (this.completionCheckTimer) {
425
+ clearTimeout(this.completionCheckTimer);
426
+ }
427
+ // Schedule debounced check
428
+ this.completionCheckTimer = setTimeout(()=>{
429
+ this.executePendingCompletionChecks();
430
+ }, this.config.completionCheckDebounceMs);
431
+ }
432
+ /**
433
+ * Execute pending completion checks (debounced batch)
434
+ */ async executePendingCompletionChecks() {
435
+ const swarmIds = Array.from(this.pendingCompletionChecks);
436
+ this.pendingCompletionChecks.clear();
437
+ this.completionCheckTimer = null;
438
+ for (const swarmId of swarmIds){
439
+ await this.checkCompletion(swarmId);
440
+ }
441
+ }
442
+ /**
443
+ * Check swarm completion
444
+ */ async checkCompletion(swarmId) {
445
+ const startTime = performance.now();
446
+ this.metrics.totalCompletionChecks++;
447
+ this.emit("integration:completion-check", {
448
+ swarmId
449
+ });
450
+ try {
451
+ const result = await this.completionDetector.detectCompletion(swarmId);
452
+ const latencyMs = performance.now() - startTime;
453
+ this.updateCompletionLatencyMetrics(latencyMs);
454
+ if (this.config.enableLogging && result.completed) {
455
+ this.logger.info('Completion detected', {
456
+ swarmId: result.swarmId,
457
+ completedCount: result.completedCount,
458
+ totalCount: result.totalCount,
459
+ latencyMs: latencyMs.toFixed(2)
460
+ });
461
+ }
462
+ } catch (error) {
463
+ this.metrics.failedCompletionChecks++;
464
+ if (this.config.enableLogging) {
465
+ this.logger.error('Completion check failed', {
466
+ swarmId,
467
+ error: error instanceof Error ? error.message : String(error)
468
+ });
469
+ }
470
+ }
471
+ }
472
+ /**
473
+ * Initiate swarm shutdown after completion
474
+ */ async initiateShutdown(completionResult) {
475
+ this.metrics.totalShutdownsInitiated++;
476
+ const agentIds = Array.from(completionResult.agentStates.keys());
477
+ try {
478
+ const shutdownResult = await this.swarmShutdown.shutdownSwarm(agentIds, `Swarm completion detected: ${completionResult.swarmId}`);
479
+ if (this.config.enableLogging) {
480
+ this.logger.info('Shutdown completed successfully', {
481
+ swarmId: completionResult.swarmId,
482
+ totalAgents: shutdownResult.totalAgents,
483
+ totalLatencyMs: shutdownResult.totalLatencyMs
484
+ });
485
+ }
486
+ } catch (error) {
487
+ if (this.config.enableLogging) {
488
+ this.logger.error('Shutdown failed', {
489
+ swarmId: completionResult.swarmId,
490
+ error: error instanceof Error ? error.message : String(error)
491
+ });
492
+ }
493
+ this.emit("integration:error", {
494
+ swarmId: completionResult.swarmId,
495
+ error: error instanceof Error ? error.message : String(error)
496
+ });
497
+ }
498
+ }
499
+ /**
500
+ * Check if state is terminal (completion-eligible)
501
+ */ isTerminalState(state) {
502
+ return state === AgentState.COMPLETED || state === AgentState.ERROR || state === AgentState.TERMINATED;
503
+ }
504
+ /**
505
+ * Update completion latency metrics
506
+ */ updateCompletionLatencyMetrics(latencyMs) {
507
+ this.completionLatencies.push(latencyMs);
508
+ // Keep only last 100 samples
509
+ if (this.completionLatencies.length > 100) {
510
+ this.completionLatencies.shift();
511
+ }
512
+ // Update average
513
+ const sum = this.completionLatencies.reduce((acc, l)=>acc + l, 0);
514
+ this.metrics.avgCompletionLatencyMs = sum / this.completionLatencies.length;
515
+ }
516
+ /**
517
+ * Get integration metrics
518
+ */ getMetrics() {
519
+ return {
520
+ ...this.metrics
521
+ };
522
+ }
523
+ /**
524
+ * Reset metrics (for testing)
525
+ */ resetMetrics() {
526
+ this.metrics = {
527
+ totalStateTransitions: 0,
528
+ totalCompletionChecks: 0,
529
+ totalCompletionsDetected: 0,
530
+ totalShutdownsInitiated: 0,
531
+ totalEventsPublished: 0,
532
+ avgCompletionLatencyMs: 0,
533
+ failedCompletionChecks: 0
534
+ };
535
+ this.completionLatencies = [];
536
+ }
537
+ /**
538
+ * Cleanup integration
539
+ */ async cleanup() {
540
+ this.stop();
541
+ this.removeAllListeners();
542
+ if (this.config.enableLogging) {
543
+ this.logger.info('Integration cleanup complete', {
544
+ totalStateTransitions: this.metrics.totalStateTransitions,
545
+ totalCompletionChecks: this.metrics.totalCompletionChecks,
546
+ totalCompletionsDetected: this.metrics.totalCompletionsDetected
547
+ });
548
+ }
549
+ }
550
+ }
551
+
552
+ //# sourceMappingURL=message-bus-completion-integration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../src/coordination/archives/v2-sdk-typescript/v2/integration/message-bus-completion-integration.ts"],"names":["EventEmitter","AgentState","MessagePriority","Logger","IntegrationEvent","MessageBusCompletionIntegration","logger","config","messageBus","completionDetector","stateMachine","swarmShutdown","metrics","completionLatencies","isStarted","completionCheckTimer","pendingCompletionChecks","boundHandleStateTransition","boundHandleHelpRequested","boundHandleHelpCompleted","boundHandleCompletionDetected","boundHandleCompletionFailed","boundHandleShutdownStarted","boundHandleShutdownCompleted","level","format","destination","autoDetectCompletion","autoShutdownOnCompletion","publishCompletionEvents","publishStateEvents","enableLogging","completionCheckDebounceMs","Set","handleStateTransition","bind","handleHelpRequested","handleHelpCompleted","handleCompletionDetected","handleCompletionFailed","handleShutdownStarted","handleShutdownCompleted","totalStateTransitions","totalCompletionChecks","totalCompletionsDetected","totalShutdownsInitiated","totalEventsPublished","avgCompletionLatencyMs","failedCompletionChecks","info","start","on","stop","removeListener","clearTimeout","event","message","publish","topic","payload","agentId","sessionId","fromState","toState","timestamp","checkpointId","latencyMs","metadata","priority","HIGH","senderId","source","eventType","emit","messageId","id","transition","isTerminalState","scheduleCompletionCheck","requestId","requestingAgentId","helperAgentId","CRITICAL","recipientId","recoveryLatencyMs","result","swarmId","completed","completedCount","totalCount","strategy","initiateShutdown","error","Date","agentCount","reason","success","totalAgents","successfulShutdowns","failedShutdowns","totalLatencyMs","backgroundProcessesCleaned","shutdownAt","add","setTimeout","executePendingCompletionChecks","swarmIds","Array","from","clear","checkCompletion","startTime","performance","now","detectCompletion","updateCompletionLatencyMetrics","toFixed","Error","String","completionResult","agentIds","agentStates","keys","shutdownResult","shutdownSwarm","state","COMPLETED","ERROR","TERMINATED","push","length","shift","sum","reduce","acc","l","getMetrics","resetMetrics","cleanup","removeAllListeners"],"mappings":"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"}