claude-flow-novice 1.6.4 → 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 (269) hide show
  1. package/.claude/commands/parse-epic.js +180 -0
  2. package/.claude/settings.local.json +2 -1
  3. package/.claude-flow-novice/dist/mcp/mcp-server-novice.js +37 -2
  4. package/.claude-flow-novice/dist/mcp/transports/base.js +5 -0
  5. package/.claude-flow-novice/dist/mcp/transports/base.js.map +1 -0
  6. package/.claude-flow-novice/dist/mcp/transports/http.js +414 -0
  7. package/.claude-flow-novice/dist/mcp/transports/http.js.map +1 -0
  8. package/.claude-flow-novice/dist/mcp/transports/stdio.js +217 -0
  9. package/.claude-flow-novice/dist/mcp/transports/stdio.js.map +1 -0
  10. package/.claude-flow-novice/dist/src/cli/commands/parse-epic.js +129 -0
  11. package/.claude-flow-novice/dist/src/cli/commands/parse-epic.js.map +1 -0
  12. package/.claude-flow-novice/dist/src/cli/index.js +3 -0
  13. package/.claude-flow-novice/dist/src/cli/index.js.map +1 -1
  14. package/.claude-flow-novice/dist/src/cli/utils/epic-parser.js +266 -0
  15. package/.claude-flow-novice/dist/src/cli/utils/epic-parser.js.map +1 -0
  16. package/.claude-flow-novice/dist/src/communication/message-bus.js +105 -2
  17. package/.claude-flow-novice/dist/src/communication/message-bus.js.map +1 -1
  18. package/.claude-flow-novice/dist/src/coordination/adapters/v1-coordinator-adapter.js +1 -1
  19. package/.claude-flow-novice/dist/src/coordination/adapters/v1-coordinator-adapter.js.map +1 -1
  20. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/cache/artifact-cache-optimizer.js +632 -0
  21. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/cache/artifact-cache-optimizer.js.map +1 -0
  22. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/cache/index.js +11 -0
  23. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/cache/index.js.map +1 -0
  24. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/checkpoints/checkpoint-compressor.js +318 -0
  25. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/checkpoints/checkpoint-compressor.js.map +1 -0
  26. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/completion-detector.js +234 -0
  27. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/completion-detector.js.map +1 -0
  28. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/hierarchical-detector.js +347 -0
  29. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/hierarchical-detector.js.map +1 -0
  30. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/index.js +13 -0
  31. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/index.js.map +1 -0
  32. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/lamport-clock.js +173 -0
  33. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/lamport-clock.js.map +1 -0
  34. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/mesh-detector.js +526 -0
  35. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/mesh-detector.js.map +1 -0
  36. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/sdk-completion-detector.js +443 -0
  37. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/sdk-completion-detector.js.map +1 -0
  38. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/swarm-shutdown.js +366 -0
  39. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/swarm-shutdown.js.map +1 -0
  40. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinator-factory.js +287 -0
  41. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinator-factory.js.map +1 -0
  42. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/cascading-shutdown.example.js +364 -0
  43. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/cascading-shutdown.example.js.map +1 -0
  44. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/cascading-shutdown.js +492 -0
  45. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/cascading-shutdown.js.map +1 -0
  46. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/hierarchical-coordinator.js +786 -0
  47. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/hierarchical-coordinator.js.map +1 -0
  48. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/index.js +16 -0
  49. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/index.js.map +1 -0
  50. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/parent-child-manager.js +342 -0
  51. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/parent-child-manager.js.map +1 -0
  52. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/swarm-coordinator-v2.js +601 -0
  53. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/swarm-coordinator-v2.js.map +1 -0
  54. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/agent-state.js +9 -0
  55. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/agent-state.js.map +1 -0
  56. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dead-letter-queue.js +413 -0
  57. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dead-letter-queue.js.map +1 -0
  58. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-graph.js +471 -0
  59. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-graph.js.map +1 -0
  60. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-node.js +379 -0
  61. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-node.js.map +1 -0
  62. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-resolver.js +335 -0
  63. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-resolver.js.map +1 -0
  64. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/help-request-metrics.js +211 -0
  65. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/help-request-metrics.js.map +1 -0
  66. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/index.js +33 -0
  67. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/index.js.map +1 -0
  68. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message-broker.js +920 -0
  69. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message-broker.js.map +1 -0
  70. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message-router.js +385 -0
  71. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message-router.js.map +1 -0
  72. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message.js +138 -0
  73. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message.js.map +1 -0
  74. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/resource-manager-safe.js +478 -0
  75. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/resource-manager-safe.js.map +1 -0
  76. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-machine-config.js +358 -0
  77. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-machine-config.js.map +1 -0
  78. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-machine.js +588 -0
  79. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-machine.js.map +1 -0
  80. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-transition.js +153 -0
  81. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-transition.js.map +1 -0
  82. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/task-scheduler.js +360 -0
  83. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/task-scheduler.js.map +1 -0
  84. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/topic-manager.js +337 -0
  85. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/topic-manager.js.map +1 -0
  86. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/deadlock-detector.js +424 -0
  87. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/deadlock-detector.js.map +1 -0
  88. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/index.js +9 -0
  89. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/index.js.map +1 -0
  90. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/resource-manager.js +669 -0
  91. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/resource-manager.js.map +1 -0
  92. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/artifact-storage.js +451 -0
  93. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/artifact-storage.js.map +1 -0
  94. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/cycle-detector.js +271 -0
  95. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/cycle-detector.js.map +1 -0
  96. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-graph.js +335 -0
  97. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-graph.js.map +1 -0
  98. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-manager.js +439 -0
  99. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-manager.js.map +1 -0
  100. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-request.js +92 -0
  101. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-request.js.map +1 -0
  102. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/index.js +21 -0
  103. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/index.js.map +1 -0
  104. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/topological-sort.js +223 -0
  105. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/topological-sort.js.map +1 -0
  106. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-coordinator.js +436 -0
  107. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-coordinator.js.map +1 -0
  108. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-matcher.js +278 -0
  109. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-matcher.js.map +1 -0
  110. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-request-handler.js +317 -0
  111. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-request-handler.js.map +1 -0
  112. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-request.js +273 -0
  113. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-request.js.map +1 -0
  114. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/index.js +15 -0
  115. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/index.js.map +1 -0
  116. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/waiting-agent-pool.js +512 -0
  117. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/waiting-agent-pool.js.map +1 -0
  118. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/index.js +67 -0
  119. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/index.js.map +1 -0
  120. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/help-deadlock-integration.js +557 -0
  121. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/help-deadlock-integration.js.map +1 -0
  122. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/index.js +14 -0
  123. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/index.js.map +1 -0
  124. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/message-bus-completion-integration.example.js +212 -0
  125. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/message-bus-completion-integration.example.js.map +1 -0
  126. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/message-bus-completion-integration.js +552 -0
  127. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/message-bus-completion-integration.js.map +1 -0
  128. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/state-machine-integration.js +635 -0
  129. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/state-machine-integration.js.map +1 -0
  130. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/IArtifactStorage.js +28 -0
  131. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/IArtifactStorage.js.map +1 -0
  132. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/ICoordinator.js +9 -0
  133. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/ICoordinator.js.map +1 -0
  134. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/ISessionStore.js +25 -0
  135. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/ISessionStore.js.map +1 -0
  136. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/index.js +14 -0
  137. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/index.js.map +1 -0
  138. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/artifact-adapter.js +308 -0
  139. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/artifact-adapter.js.map +1 -0
  140. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/completion-storage.js +439 -0
  141. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/completion-storage.js.map +1 -0
  142. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/dependency-graph-storage.js +540 -0
  143. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/dependency-graph-storage.js.map +1 -0
  144. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/dependency-storage.js +367 -0
  145. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/dependency-storage.js.map +1 -0
  146. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/index.js +14 -0
  147. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/index.js.map +1 -0
  148. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/message-storage.js +518 -0
  149. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/message-storage.js.map +1 -0
  150. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/state-storage.js +377 -0
  151. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/state-storage.js.map +1 -0
  152. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channel.js +371 -0
  153. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channel.js.map +1 -0
  154. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/dependency-channel.js +355 -0
  155. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/dependency-channel.js.map +1 -0
  156. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/help-channel.js +424 -0
  157. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/help-channel.js.map +1 -0
  158. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/index.js +16 -0
  159. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/index.js.map +1 -0
  160. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/state-channel.js +295 -0
  161. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/state-channel.js.map +1 -0
  162. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/task-channel.js +411 -0
  163. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/task-channel.js.map +1 -0
  164. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/index.js +14 -0
  165. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/index.js.map +1 -0
  166. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-bus.js +387 -0
  167. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-bus.js.map +1 -0
  168. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-persistence.js +589 -0
  169. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-persistence.js.map +1 -0
  170. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-router.js +444 -0
  171. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-router.js.map +1 -0
  172. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/artifact-storage.js +560 -0
  173. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/artifact-storage.js.map +1 -0
  174. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/background-orchestrator.js +335 -0
  175. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/background-orchestrator.js.map +1 -0
  176. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/bash-output-monitor.js +104 -0
  177. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/bash-output-monitor.js.map +1 -0
  178. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/checkpoint-manager.js +847 -0
  179. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/checkpoint-manager.js.map +1 -0
  180. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/help-coordinator.js +470 -0
  181. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/help-coordinator.js.map +1 -0
  182. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/hierarchical-background-integration.js +450 -0
  183. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/hierarchical-background-integration.js.map +1 -0
  184. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/index.js +13 -0
  185. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/index.js.map +1 -0
  186. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/message-bus-integration.js +625 -0
  187. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/message-bus-integration.js.map +1 -0
  188. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/multi-level-control.js +545 -0
  189. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/multi-level-control.js.map +1 -0
  190. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/query-controller.js +740 -0
  191. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/query-controller.js.map +1 -0
  192. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/query-message-integration.js +415 -0
  193. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/query-message-integration.js.map +1 -0
  194. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/session-pool-optimizer.js +615 -0
  195. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/session-pool-optimizer.js.map +1 -0
  196. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/state-machine-integration.js +547 -0
  197. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/state-machine-integration.js.map +1 -0
  198. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/state-sdk-integration.js +342 -0
  199. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/state-sdk-integration.js.map +1 -0
  200. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/security/payload-validator.js +259 -0
  201. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/security/payload-validator.js.map +1 -0
  202. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/framework-registry.js +273 -0
  203. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/framework-registry.js.map +1 -0
  204. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/index.js +8 -0
  205. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/index.js.map +1 -0
  206. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/truth-config-manager.js +310 -0
  207. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/truth-config-manager.js.map +1 -0
  208. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/truth-validator.js +218 -0
  209. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/truth-validator.js.map +1 -0
  210. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/types/sdk.js +9 -0
  211. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/types/sdk.js.map +1 -0
  212. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/index.js +6 -0
  213. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/index.js.map +1 -0
  214. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/priority-queue.js +145 -0
  215. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/priority-queue.js.map +1 -0
  216. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/sdk-helpers.js +122 -0
  217. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/sdk-helpers.js.map +1 -0
  218. package/.claude-flow-novice/dist/src/coordination/config-translator.js +17 -43
  219. package/.claude-flow-novice/dist/src/coordination/config-translator.js.map +1 -1
  220. package/.claude-flow-novice/dist/src/coordination/coordination-toggle.js +34 -76
  221. package/.claude-flow-novice/dist/src/coordination/coordination-toggle.js.map +1 -1
  222. package/.claude-flow-novice/dist/src/coordination/shared/core/agent-state.js +172 -0
  223. package/.claude-flow-novice/dist/src/coordination/shared/core/agent-state.js.map +1 -0
  224. package/.claude-flow-novice/dist/src/coordination/shared/core/index.js +7 -0
  225. package/.claude-flow-novice/dist/src/coordination/shared/core/index.js.map +1 -0
  226. package/.claude-flow-novice/dist/src/coordination/shared/index.js +19 -0
  227. package/.claude-flow-novice/dist/src/coordination/shared/index.js.map +1 -0
  228. package/.claude-flow-novice/dist/src/coordination/shared/interfaces/ICoordinator.js +24 -0
  229. package/.claude-flow-novice/dist/src/coordination/shared/interfaces/ICoordinator.js.map +1 -0
  230. package/.claude-flow-novice/dist/src/coordination/shared/interfaces/index.js +7 -0
  231. package/.claude-flow-novice/dist/src/coordination/shared/interfaces/index.js.map +1 -0
  232. package/.claude-flow-novice/dist/src/coordination/shared/message-broker.js +920 -0
  233. package/.claude-flow-novice/dist/src/coordination/shared/message-broker.js.map +1 -0
  234. package/.claude-flow-novice/dist/src/coordination/shared/message.js +138 -0
  235. package/.claude-flow-novice/dist/src/coordination/shared/message.js.map +1 -0
  236. package/.claude-flow-novice/dist/src/coordination/shared/security/payload-validator.js +259 -0
  237. package/.claude-flow-novice/dist/src/coordination/shared/security/payload-validator.js.map +1 -0
  238. package/.claude-flow-novice/dist/src/coordination/shared/transparency/index.js +17 -0
  239. package/.claude-flow-novice/dist/src/coordination/shared/transparency/index.js.map +1 -0
  240. package/.claude-flow-novice/dist/src/coordination/shared/transparency/interfaces/transparency-system.js +19 -0
  241. package/.claude-flow-novice/dist/src/coordination/shared/transparency/interfaces/transparency-system.js.map +1 -0
  242. package/.claude-flow-novice/dist/src/coordination/shared/transparency/transparency-integration.js +357 -0
  243. package/.claude-flow-novice/dist/src/coordination/shared/transparency/transparency-integration.js.map +1 -0
  244. package/.claude-flow-novice/dist/src/coordination/shared/transparency/transparency-system.js +679 -0
  245. package/.claude-flow-novice/dist/src/coordination/shared/transparency/transparency-system.js.map +1 -0
  246. package/.claude-flow-novice/dist/src/coordination/shared/types/index.js +7 -0
  247. package/.claude-flow-novice/dist/src/coordination/shared/types/index.js.map +1 -0
  248. package/.claude-flow-novice/dist/src/coordination/shared/types/sdk.js +10 -0
  249. package/.claude-flow-novice/dist/src/coordination/shared/types/sdk.js.map +1 -0
  250. package/.claude-flow-novice/dist/src/feature-flags/core/FeatureFlagManager.js +52 -2
  251. package/.claude-flow-novice/dist/src/feature-flags/core/FeatureFlagManager.js.map +1 -1
  252. package/.claude-flow-novice/dist/src/mcp/mcp-server-novice.js +37 -2
  253. package/.claude-flow-novice/dist/src/mcp/session-manager.js +3 -1
  254. package/.claude-flow-novice/dist/src/mcp/session-manager.js.map +1 -1
  255. package/.claude-flow-novice/dist/src/providers/provider-manager.js +36 -3
  256. package/.claude-flow-novice/dist/src/providers/provider-manager.js.map +1 -1
  257. package/.claude-flow-novice/dist/src/utils/markdown-sanitizer.js +65 -41
  258. package/.claude-flow-novice/dist/src/utils/markdown-sanitizer.js.map +1 -1
  259. package/.claude-flow-novice/dist/src/web/api/server.js +1 -1
  260. package/.claude-flow-novice/dist/src/web/api/server.js.map +1 -1
  261. package/.claude-flow-novice/dist/src/workflows/progressive-rollout-manager.js +30 -0
  262. package/.claude-flow-novice/dist/src/workflows/progressive-rollout-manager.js.map +1 -1
  263. package/.claude-flow-novice/metrics.db-shm +0 -0
  264. package/.claude-flow-novice/metrics.db-wal +0 -0
  265. package/package.json +2 -2
  266. package/scripts/monitoring/alert-monitor.sh +220 -0
  267. package/scripts/monitoring/view-alerts.sh +307 -0
  268. package/scripts/test-zai-api.cjs +2 -2
  269. package/src/slash-commands/parse-epic.js +1 -1
@@ -0,0 +1,266 @@
1
+ /**
2
+ * CLI Epic Parser Utility
3
+ *
4
+ * Lightweight wrapper around the core epic parser for CLI-specific use cases.
5
+ * Converts markdown epic files to JSON configuration with validation.
6
+ *
7
+ * Features:
8
+ * - Parse OVERVIEW.md for epic metadata
9
+ * - Parse phase-*.md files for phase details and sprints
10
+ * - Parse dependencies.md for cross-phase requirements
11
+ * - Validate structure and dependencies
12
+ * - Generate JSON output
13
+ */ import * as fs from "fs";
14
+ import * as path from "path";
15
+ import { EpicParser } from "../../parsers/epic-parser.js";
16
+ // ============================================================================
17
+ // CLI Parser Functions
18
+ // ============================================================================
19
+ /**
20
+ * Parse epic markdown files to JSON configuration
21
+ *
22
+ * @param options - Parser configuration options
23
+ * @returns Parsing result with config, errors, warnings, and stats
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * const result = await parseEpic({
28
+ * epicDirectory: './planning/example-epic',
29
+ * outputFile: './epic-config.json',
30
+ * verbose: true
31
+ * });
32
+ *
33
+ * if (result.success) {
34
+ * console.log(`Parsed ${result.stats.totalPhases} phases`);
35
+ * }
36
+ * ```
37
+ */ export async function parseEpic(options) {
38
+ try {
39
+ const parser = new EpicParser({
40
+ epicDirectory: options.epicDirectory,
41
+ overviewFile: options.overviewFile
42
+ });
43
+ // Parse epic configuration
44
+ const config = parser.parse();
45
+ const validation = parser.getValidationResult();
46
+ // Log verbose output if requested
47
+ if (options.verbose) {
48
+ logParsingProgress(validation);
49
+ }
50
+ // Write output file if requested and parsing succeeded
51
+ if (options.outputFile && validation.valid) {
52
+ const absolutePath = path.resolve(options.outputFile);
53
+ fs.writeFileSync(absolutePath, JSON.stringify(config, null, 2), "utf-8");
54
+ if (options.verbose) {
55
+ console.log(`✅ Epic configuration saved: ${absolutePath}`);
56
+ }
57
+ }
58
+ return {
59
+ success: validation.valid,
60
+ config: validation.valid ? config : undefined,
61
+ errors: validation.errors,
62
+ warnings: validation.warnings,
63
+ stats: validation.stats
64
+ };
65
+ } catch (error) {
66
+ const parseError = {
67
+ type: "parsing_error",
68
+ message: `Failed to parse epic: ${error instanceof Error ? error.message : String(error)}`,
69
+ severity: "error",
70
+ details: error
71
+ };
72
+ return {
73
+ success: false,
74
+ errors: [
75
+ parseError
76
+ ],
77
+ warnings: []
78
+ };
79
+ }
80
+ }
81
+ /**
82
+ * Validate epic markdown structure without generating config
83
+ *
84
+ * @param epicDirectory - Path to epic directory
85
+ * @param verbose - Enable verbose logging
86
+ * @returns Validation result
87
+ *
88
+ * @example
89
+ * ```typescript
90
+ * const result = await validateEpic('./planning/example-epic', true);
91
+ * if (!result.success) {
92
+ * console.error('Validation errors:', result.errors);
93
+ * }
94
+ * ```
95
+ */ export async function validateEpic(epicDirectory, verbose = false) {
96
+ return parseEpic({
97
+ epicDirectory,
98
+ validateOnly: true,
99
+ verbose
100
+ });
101
+ }
102
+ /**
103
+ * Generate epic configuration JSON from markdown files
104
+ *
105
+ * @param epicDirectory - Path to epic directory
106
+ * @param outputPath - Optional output file path (defaults to epic-config.json in epic directory)
107
+ * @returns Parsing result
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * const result = await generateEpicConfig(
112
+ * './planning/example-epic',
113
+ * './config/epic.json'
114
+ * );
115
+ * ```
116
+ */ export async function generateEpicConfig(epicDirectory, outputPath) {
117
+ const outputFile = outputPath || path.join(epicDirectory, "epic-config.json");
118
+ return parseEpic({
119
+ epicDirectory,
120
+ outputFile,
121
+ verbose: true
122
+ });
123
+ }
124
+ /**
125
+ * Quick parse - returns config or throws error
126
+ *
127
+ * @param epicDirectory - Path to epic directory
128
+ * @returns Epic configuration
129
+ * @throws Error if parsing fails
130
+ *
131
+ * @example
132
+ * ```typescript
133
+ * try {
134
+ * const config = await parseEpicOrThrow('./planning/example-epic');
135
+ * console.log(`Epic: ${config.name}`);
136
+ * } catch (error) {
137
+ * console.error('Parse failed:', error);
138
+ * }
139
+ * ```
140
+ */ export async function parseEpicOrThrow(epicDirectory) {
141
+ const result = await parseEpic({
142
+ epicDirectory
143
+ });
144
+ if (!result.success || !result.config) {
145
+ const errorMessages = result.errors.map((e)=>`[${e.type}] ${e.message}`).join("\n");
146
+ throw new Error(`Epic parsing failed:\n${errorMessages}`);
147
+ }
148
+ return result.config;
149
+ }
150
+ /**
151
+ * Get epic summary statistics without full parsing
152
+ *
153
+ * @param epicDirectory - Path to epic directory
154
+ * @returns Quick stats about the epic
155
+ */ export async function getEpicStats(epicDirectory) {
156
+ const result = await parseEpic({
157
+ epicDirectory,
158
+ validateOnly: true
159
+ });
160
+ if (!result.success || !result.config) {
161
+ throw new Error("Failed to get epic stats");
162
+ }
163
+ const totalSprints = result.stats?.totalSprints || 0;
164
+ const completedSprints = result.stats?.completedSprints || 0;
165
+ const completionPercentage = totalSprints > 0 ? completedSprints / totalSprints * 100 : 0;
166
+ return {
167
+ name: result.config.name,
168
+ phaseCount: result.stats?.totalPhases || 0,
169
+ sprintCount: totalSprints,
170
+ completionPercentage: Math.round(completionPercentage)
171
+ };
172
+ }
173
+ // ============================================================================
174
+ // Helper Functions
175
+ // ============================================================================
176
+ /**
177
+ * Log parsing progress and results
178
+ */ function logParsingProgress(validation) {
179
+ if (validation.valid) {
180
+ console.log("✅ Epic parsing completed successfully");
181
+ } else {
182
+ console.error(`❌ Epic parsing failed with ${validation.errors.length} error(s)`);
183
+ validation.errors.forEach((err)=>{
184
+ const location = err.location ? ` at ${err.location.file}${err.location.line ? `:${err.location.line}` : ""}` : "";
185
+ console.error(` - [${err.type}] ${err.message}${location}`);
186
+ });
187
+ }
188
+ // Display warnings
189
+ if (validation.warnings.length > 0) {
190
+ console.warn(`⚠️ ${validation.warnings.length} warning(s):`);
191
+ validation.warnings.forEach((warn)=>{
192
+ const location = warn.location ? ` at ${warn.location.file}${warn.location.line ? `:${warn.location.line}` : ""}` : "";
193
+ console.warn(` - [${warn.type}] ${warn.message}${location}`);
194
+ });
195
+ }
196
+ // Display stats
197
+ if (validation.stats) {
198
+ console.log("\n📊 Epic Statistics:");
199
+ console.log(` - Phases: ${validation.stats.totalPhases}`);
200
+ console.log(` - Sprints: ${validation.stats.totalSprints}`);
201
+ console.log(` - Completed: ${validation.stats.completedSprints}/${validation.stats.totalSprints} (${Math.round(validation.stats.completedSprints / validation.stats.totalSprints * 100)}%)`);
202
+ console.log(` - Dependencies: ${validation.stats.dependencyCount}`);
203
+ if (validation.stats.cyclesDetected > 0) {
204
+ console.warn(` - ⚠️ Dependency cycles detected: ${validation.stats.cyclesDetected}`);
205
+ }
206
+ }
207
+ }
208
+ /**
209
+ * Format errors for CLI display
210
+ */ export function formatErrors(errors) {
211
+ return errors.map((err)=>{
212
+ const location = err.location ? ` at ${err.location.file}${err.location.line ? `:${err.location.line}` : ""}` : "";
213
+ return `[${err.severity.toUpperCase()}] [${err.type}] ${err.message}${location}`;
214
+ }).join("\n");
215
+ }
216
+ /**
217
+ * Check if epic directory exists and has required files
218
+ */ export function validateEpicDirectory(epicDirectory) {
219
+ const errors = [];
220
+ // Check if directory exists
221
+ if (!fs.existsSync(epicDirectory)) {
222
+ errors.push(`Epic directory not found: ${epicDirectory}`);
223
+ return {
224
+ valid: false,
225
+ errors
226
+ };
227
+ }
228
+ // Check if it's a directory
229
+ const stat = fs.statSync(epicDirectory);
230
+ if (!stat.isDirectory()) {
231
+ errors.push(`Path is not a directory: ${epicDirectory}`);
232
+ return {
233
+ valid: false,
234
+ errors
235
+ };
236
+ }
237
+ // Check for EPIC_OVERVIEW.md
238
+ const overviewPath = path.join(epicDirectory, "EPIC_OVERVIEW.md");
239
+ if (!fs.existsSync(overviewPath)) {
240
+ errors.push(`Missing EPIC_OVERVIEW.md in ${epicDirectory}`);
241
+ }
242
+ // Check for at least one phase file
243
+ const files = fs.readdirSync(epicDirectory);
244
+ const phaseFiles = files.filter((f)=>f.startsWith("phase-") && f.endsWith(".md"));
245
+ if (phaseFiles.length === 0) {
246
+ errors.push(`No phase-*.md files found in ${epicDirectory}`);
247
+ }
248
+ return {
249
+ valid: errors.length === 0,
250
+ errors
251
+ };
252
+ }
253
+ // ============================================================================
254
+ // Default Export
255
+ // ============================================================================
256
+ export default {
257
+ parseEpic,
258
+ validateEpic,
259
+ generateEpicConfig,
260
+ parseEpicOrThrow,
261
+ getEpicStats,
262
+ validateEpicDirectory,
263
+ formatErrors
264
+ };
265
+
266
+ //# sourceMappingURL=epic-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cli/utils/epic-parser.ts"],"names":["fs","path","EpicParser","parseEpic","options","parser","epicDirectory","overviewFile","config","parse","validation","getValidationResult","verbose","logParsingProgress","outputFile","valid","absolutePath","resolve","writeFileSync","JSON","stringify","console","log","success","undefined","errors","warnings","stats","error","parseError","type","message","Error","String","severity","details","validateEpic","validateOnly","generateEpicConfig","outputPath","join","parseEpicOrThrow","result","errorMessages","map","e","getEpicStats","totalSprints","completedSprints","completionPercentage","name","phaseCount","totalPhases","sprintCount","Math","round","length","forEach","err","location","file","line","warn","dependencyCount","cyclesDetected","formatErrors","toUpperCase","validateEpicDirectory","existsSync","push","stat","statSync","isDirectory","overviewPath","files","readdirSync","phaseFiles","filter","f","startsWith","endsWith"],"mappings":"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"}
@@ -24,6 +24,8 @@ import { generateId } from '../utils/helpers.js';
24
24
  // Performance monitoring
25
25
  metrics;
26
26
  metricsInterval;
27
+ // Shutdown control
28
+ isShutdown = false;
27
29
  constructor(config, logger, eventBus){
28
30
  super();
29
31
  this.logger = logger;
@@ -51,6 +53,41 @@ import { generateId } from '../utils/helpers.js';
51
53
  this.retryManager = new RetryManager(this.config, this.logger);
52
54
  this.metrics = new MessageBusMetrics();
53
55
  this.setupEventHandlers();
56
+ this.registerProcessSignalHandlers();
57
+ }
58
+ /**
59
+ * Register process signal handlers for graceful shutdown
60
+ */ registerProcessSignalHandlers() {
61
+ const handleSignal = ()=>{
62
+ this.destroy();
63
+ };
64
+ process.on('SIGTERM', handleSignal);
65
+ process.on('SIGINT', handleSignal);
66
+ }
67
+ /**
68
+ * Destroy and cleanup MessageBus resources
69
+ * Idempotent - safe to call multiple times
70
+ */ destroy() {
71
+ if (this.isShutdown) {
72
+ return; // Already destroyed
73
+ }
74
+ this.isShutdown = true;
75
+ // Clear metrics collection interval
76
+ if (this.metricsInterval) {
77
+ clearInterval(this.metricsInterval);
78
+ this.metricsInterval = undefined;
79
+ }
80
+ // Remove all event listeners
81
+ this.removeAllListeners();
82
+ // Clear all data structures
83
+ this.channels.clear();
84
+ this.queues.clear();
85
+ this.subscriptions.clear();
86
+ this.routingRules.clear();
87
+ this.messageStore.clear();
88
+ this.deliveryReceipts.clear();
89
+ this.acknowledgments.clear();
90
+ this.logger.info('MessageBus cleanup completed');
54
91
  }
55
92
  setupEventHandlers() {
56
93
  this.eventBus.on('agent:connected', (data)=>{
@@ -109,6 +146,9 @@ import { generateId } from '../utils/helpers.js';
109
146
  }
110
147
  // === MESSAGE OPERATIONS ===
111
148
  async sendMessage(type, content, sender, receivers, options = {}) {
149
+ if (this.isShutdown) {
150
+ throw new Error('MessageBus is shutdown');
151
+ }
112
152
  const messageId = generateId('msg');
113
153
  const now = new Date();
114
154
  const receiversArray = Array.isArray(receivers) ? receivers : [
@@ -160,6 +200,9 @@ import { generateId } from '../utils/helpers.js';
160
200
  return messageId;
161
201
  }
162
202
  async broadcastMessage(type, content, sender, options = {}) {
203
+ if (this.isShutdown) {
204
+ throw new Error('MessageBus is shutdown');
205
+ }
163
206
  const channel = options.channel ? this.channels.get(options.channel) : this.getDefaultBroadcastChannel();
164
207
  if (!channel) {
165
208
  throw new Error('No broadcast channel available');
@@ -180,6 +223,9 @@ import { generateId } from '../utils/helpers.js';
180
223
  });
181
224
  }
182
225
  async subscribeToTopic(topic, subscriber, options = {}) {
226
+ if (this.isShutdown) {
227
+ throw new Error('MessageBus is shutdown');
228
+ }
183
229
  const subscriptionId = generateId('sub');
184
230
  const subscription = {
185
231
  id: subscriptionId,
@@ -203,6 +249,9 @@ import { generateId } from '../utils/helpers.js';
203
249
  return subscriptionId;
204
250
  }
205
251
  async unsubscribeFromTopic(subscriptionId) {
252
+ if (this.isShutdown) {
253
+ throw new Error('MessageBus is shutdown');
254
+ }
206
255
  const subscription = this.subscriptions.get(subscriptionId);
207
256
  if (!subscription) {
208
257
  throw new Error(`Subscription ${subscriptionId} not found`);
@@ -218,6 +267,9 @@ import { generateId } from '../utils/helpers.js';
218
267
  });
219
268
  }
220
269
  async acknowledgeMessage(messageId, agentId) {
270
+ if (this.isShutdown) {
271
+ throw new Error('MessageBus is shutdown');
272
+ }
221
273
  const message = this.messageStore.get(messageId);
222
274
  if (!message) {
223
275
  throw new Error(`Message ${messageId} not found`);
@@ -242,6 +294,9 @@ import { generateId } from '../utils/helpers.js';
242
294
  }
243
295
  // === CHANNEL MANAGEMENT ===
244
296
  async createChannel(name, type, config = {}) {
297
+ if (this.isShutdown) {
298
+ throw new Error('MessageBus is shutdown');
299
+ }
245
300
  const channelId = generateId('channel');
246
301
  const channel = {
247
302
  id: channelId,
@@ -283,6 +338,9 @@ import { generateId } from '../utils/helpers.js';
283
338
  return channelId;
284
339
  }
285
340
  async joinChannel(channelId, agentId) {
341
+ if (this.isShutdown) {
342
+ throw new Error('MessageBus is shutdown');
343
+ }
286
344
  const channel = this.channels.get(channelId);
287
345
  if (!channel) {
288
346
  throw new Error(`Channel ${channelId} not found`);
@@ -311,6 +369,9 @@ import { generateId } from '../utils/helpers.js';
311
369
  });
312
370
  }
313
371
  async leaveChannel(channelId, agentId) {
372
+ if (this.isShutdown) {
373
+ throw new Error('MessageBus is shutdown');
374
+ }
314
375
  const channel = this.channels.get(channelId);
315
376
  if (!channel) {
316
377
  throw new Error(`Channel ${channelId} not found`);
@@ -330,6 +391,9 @@ import { generateId } from '../utils/helpers.js';
330
391
  }
331
392
  // === QUEUE MANAGEMENT ===
332
393
  async createQueue(name, type, config = {}) {
394
+ if (this.isShutdown) {
395
+ throw new Error('MessageBus is shutdown');
396
+ }
333
397
  const queueId = generateId('queue');
334
398
  const queue = {
335
399
  id: queueId,
@@ -367,6 +431,9 @@ import { generateId } from '../utils/helpers.js';
367
431
  return queueId;
368
432
  }
369
433
  async enqueueMessage(queueId, message) {
434
+ if (this.isShutdown) {
435
+ throw new Error('MessageBus is shutdown');
436
+ }
370
437
  const queue = this.queues.get(queueId);
371
438
  if (!queue) {
372
439
  throw new Error(`Queue ${queueId} not found`);
@@ -397,6 +464,9 @@ import { generateId } from '../utils/helpers.js';
397
464
  await this.processQueue(queue);
398
465
  }
399
466
  async dequeueMessage(queueId, subscriberId) {
467
+ if (this.isShutdown) {
468
+ throw new Error('MessageBus is shutdown');
469
+ }
400
470
  const queue = this.queues.get(queueId);
401
471
  if (!queue) {
402
472
  throw new Error(`Queue ${queueId} not found`);
@@ -869,16 +939,31 @@ let MessageRouter = class MessageRouter {
869
939
  let DeliveryManager = class DeliveryManager extends EventEmitter {
870
940
  config;
871
941
  logger;
942
+ isShutdown = false;
872
943
  constructor(config, logger){
873
944
  super(), this.config = config, this.logger = logger;
945
+ // Register automatic cleanup on process termination
946
+ process.on('SIGTERM', ()=>this.shutdown());
947
+ process.on('SIGINT', ()=>this.shutdown());
948
+ process.on('beforeExit', ()=>this.shutdown());
874
949
  }
875
950
  async initialize() {
951
+ if (this.isShutdown) {
952
+ throw new Error('DeliveryManager is shutdown');
953
+ }
876
954
  this.logger.debug('Delivery manager initialized');
877
955
  }
878
956
  async shutdown() {
879
- this.logger.debug('Delivery manager shutdown');
957
+ if (this.isShutdown) return; // Idempotent guard
958
+ this.isShutdown = true;
959
+ // Clean up event listeners
960
+ this.removeAllListeners();
961
+ this.logger.debug('DeliveryManager cleanup completed');
880
962
  }
881
963
  async deliver(message, target) {
964
+ if (this.isShutdown) {
965
+ throw new Error('DeliveryManager is shutdown');
966
+ }
882
967
  // Simulate delivery
883
968
  this.logger.debug('Delivering message', {
884
969
  messageId: message.id,
@@ -897,20 +982,38 @@ let RetryManager = class RetryManager extends EventEmitter {
897
982
  logger;
898
983
  retryQueue = [];
899
984
  retryInterval;
985
+ isShutdown = false;
900
986
  constructor(config, logger){
901
987
  super(), this.config = config, this.logger = logger;
988
+ // Register automatic cleanup on process termination
989
+ process.on('SIGTERM', ()=>this.shutdown());
990
+ process.on('SIGINT', ()=>this.shutdown());
991
+ process.on('beforeExit', ()=>this.shutdown());
902
992
  }
903
993
  async initialize() {
994
+ if (this.isShutdown) {
995
+ throw new Error('RetryManager is shutdown');
996
+ }
904
997
  this.startRetryProcessor();
905
998
  this.logger.debug('Retry manager initialized');
906
999
  }
907
1000
  async shutdown() {
1001
+ if (this.isShutdown) return; // Idempotent guard
1002
+ this.isShutdown = true;
908
1003
  if (this.retryInterval) {
909
1004
  clearInterval(this.retryInterval);
1005
+ this.retryInterval = undefined;
910
1006
  }
911
- this.logger.debug('Retry manager shutdown');
1007
+ // Clean up event listeners
1008
+ this.removeAllListeners();
1009
+ // Clear retry queue
1010
+ this.retryQueue = [];
1011
+ this.logger.debug('RetryManager cleanup completed');
912
1012
  }
913
1013
  async scheduleRetry(message, target, error) {
1014
+ if (this.isShutdown) {
1015
+ throw new Error('RetryManager is shutdown');
1016
+ }
914
1017
  const existingEntry = this.retryQueue.find((entry)=>entry.message.id === message.id && entry.target.id === target.id);
915
1018
  if (existingEntry) {
916
1019
  existingEntry.attempts++;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/communication/message-bus.ts"],"names":["EventEmitter","generateId","MessageBus","logger","eventBus","config","channels","Map","queues","subscriptions","routingRules","messageStore","deliveryReceipts","acknowledgments","router","deliveryManager","retryManager","metrics","metricsInterval","strategy","enablePersistence","enableReliability","enableOrdering","enableFiltering","maxMessageSize","maxQueueSize","messageRetention","acknowledgmentTimeout","retryAttempts","backoffMultiplier","compressionEnabled","encryptionEnabled","metricsEnabled","debugMode","MessageRouter","DeliveryManager","RetryManager","MessageBusMetrics","setupEventHandlers","on","data","hasAgentId","handleAgentConnected","agentId","handleAgentDisconnected","handleDeliverySuccess","handleDeliveryFailure","handleRetryExhausted","initialize","info","persistence","reliability","createDefaultChannels","startMetricsCollection","emit","shutdown","clearInterval","persistMessages","sendMessage","type","content","sender","receivers","options","messageId","now","Date","receiversArray","Array","isArray","message","id","processContent","metadata","correlationId","replyTo","ttl","compressed","encrypted","size","calculateSize","contentType","detectContentType","encoding","route","timestamp","expiresAt","getTime","undefined","priority","validateMessage","set","routeMessage","channel","recordMessageSent","debug","map","r","broadcastMessage","get","getDefaultBroadcastChannel","Error","participants","filter","p","filterReceivers","subscribeToTopic","topic","subscriber","subscriptionId","subscription","ackRequired","qos","createdAt","unsubscribeFromTopic","delete","acknowledgeMessage","ack","status","checkAllAcknowledgments","createChannel","name","channelId","persistent","ordered","reliable","maxParticipants","maxQueueDepth","retentionPeriod","accessControl","readPermission","writePermission","adminPermission","allowedSenders","allowedReceivers","bannedAgents","statistics","createChannelStatistics","filters","middleware","joinChannel","canJoinChannel","length","some","push","participantCount","leaveChannel","createQueue","queueId","queue","messages","maxSize","durability","deliveryMode","retryPolicy","maxAttempts","initialDelay","maxDelay","jitter","subscribers","createQueueStatistics","enqueueMessage","deadLetterQueue","sendToDeadLetterQueue","insertMessageInQueue","depth","enqueueRate","queueDepth","processQueue","dequeueMessage","subscriberId","find","s","messageIndex","i","msg","matchesFilter","splice","dequeueRate","lastActivity","preferredChannel","calculateRoute","hops","target","targets","deliverMessage","deliver","recordDeliverySuccess","error","recordDeliveryFailure","scheduleRetry","processed","compress","encrypt","JSON","stringify","Buffer","isBuffer","context","acl","banned","allowed","conditions","every","condition","fieldValue","getFieldValue","field","evaluateCondition","operator","value","parts","split","part","compareValue","String","includes","RegExp","test","unshift","insertByPriority","insertByTimestamp","priorityOrder","critical","high","normal","low","messagePriority","insertIndex","currentPriority","targetTime","currentTime","prefetchCount","deliverMessageToSubscriber","agent","ackMode","requiredAcks","receivedAcks","receiver","has","forEach","from","values","messagesTotal","messagesDelivered","messagesFailed","bytesTransferred","averageLatency","throughput","errorRate","averageWaitTime","subscriberCount","deadLetterCount","setInterval","updateMetrics","updateChannelStatistics","updateQueueStatistics","getMetrics","subId","reason","deadLetterReason","deadLetterTimestamp","count","getChannel","getAllChannels","getQueue","getAllQueues","getSubscription","getAllSubscriptions","storedMessages","busMetrics","getMessage","addChannelFilter","sort","a","b","addChannelMiddleware","order","cost","retryQueue","retryInterval","startRetryProcessor","existingEntry","entry","attempts","processRetries","toRetry","delay","calculateDelay","attempt","warn","baseDelay","Math","min","pow","messagesSent","deliveryLatencies","latency","shift","avgLatency","reduce","sum","lat","successRate"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/communication/message-bus.ts"],"names":["EventEmitter","generateId","MessageBus","logger","eventBus","config","channels","Map","queues","subscriptions","routingRules","messageStore","deliveryReceipts","acknowledgments","router","deliveryManager","retryManager","metrics","metricsInterval","isShutdown","strategy","enablePersistence","enableReliability","enableOrdering","enableFiltering","maxMessageSize","maxQueueSize","messageRetention","acknowledgmentTimeout","retryAttempts","backoffMultiplier","compressionEnabled","encryptionEnabled","metricsEnabled","debugMode","MessageRouter","DeliveryManager","RetryManager","MessageBusMetrics","setupEventHandlers","registerProcessSignalHandlers","handleSignal","destroy","process","on","clearInterval","undefined","removeAllListeners","clear","info","data","hasAgentId","handleAgentConnected","agentId","handleAgentDisconnected","handleDeliverySuccess","handleDeliveryFailure","handleRetryExhausted","initialize","persistence","reliability","createDefaultChannels","startMetricsCollection","emit","shutdown","persistMessages","sendMessage","type","content","sender","receivers","options","Error","messageId","now","Date","receiversArray","Array","isArray","message","id","processContent","metadata","correlationId","replyTo","ttl","compressed","encrypted","size","calculateSize","contentType","detectContentType","encoding","route","timestamp","expiresAt","getTime","priority","validateMessage","set","routeMessage","channel","recordMessageSent","debug","map","r","broadcastMessage","get","getDefaultBroadcastChannel","participants","filter","p","filterReceivers","subscribeToTopic","topic","subscriber","subscriptionId","subscription","ackRequired","qos","createdAt","unsubscribeFromTopic","delete","acknowledgeMessage","ack","status","checkAllAcknowledgments","createChannel","name","channelId","persistent","ordered","reliable","maxParticipants","maxQueueDepth","retentionPeriod","accessControl","readPermission","writePermission","adminPermission","allowedSenders","allowedReceivers","bannedAgents","statistics","createChannelStatistics","filters","middleware","joinChannel","canJoinChannel","length","some","push","participantCount","leaveChannel","createQueue","queueId","queue","messages","maxSize","durability","deliveryMode","retryPolicy","maxAttempts","initialDelay","maxDelay","jitter","subscribers","createQueueStatistics","enqueueMessage","deadLetterQueue","sendToDeadLetterQueue","insertMessageInQueue","depth","enqueueRate","queueDepth","processQueue","dequeueMessage","subscriberId","find","s","messageIndex","i","msg","matchesFilter","splice","dequeueRate","lastActivity","preferredChannel","calculateRoute","hops","target","targets","deliverMessage","deliver","recordDeliverySuccess","error","recordDeliveryFailure","scheduleRetry","processed","compress","encrypt","JSON","stringify","Buffer","isBuffer","context","acl","banned","allowed","conditions","every","condition","fieldValue","getFieldValue","field","evaluateCondition","operator","value","parts","split","part","compareValue","String","includes","RegExp","test","unshift","insertByPriority","insertByTimestamp","priorityOrder","critical","high","normal","low","messagePriority","insertIndex","currentPriority","targetTime","currentTime","prefetchCount","deliverMessageToSubscriber","agent","ackMode","requiredAcks","receivedAcks","receiver","has","forEach","from","values","messagesTotal","messagesDelivered","messagesFailed","bytesTransferred","averageLatency","throughput","errorRate","averageWaitTime","subscriberCount","deadLetterCount","setInterval","updateMetrics","updateChannelStatistics","updateQueueStatistics","getMetrics","subId","reason","deadLetterReason","deadLetterTimestamp","count","getChannel","getAllChannels","getQueue","getAllQueues","getSubscription","getAllSubscriptions","storedMessages","busMetrics","getMessage","addChannelFilter","sort","a","b","addChannelMiddleware","order","cost","retryQueue","retryInterval","startRetryProcessor","existingEntry","entry","attempts","processRetries","toRetry","delay","calculateDelay","attempt","warn","baseDelay","Math","min","pow","messagesSent","deliveryLatencies","latency","shift","avgLatency","reduce","sum","lat","successRate"],"mappings":"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"}