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 @@
1
+ {"version":3,"sources":["../../../../../../../../src/coordination/archives/v2-sdk-typescript/v2/core/message-broker.ts"],"names":["EventEmitter","RateLimiter","MessagePriority","MessageUtils","DeliverySemantics","PayloadValidator","MessageBrokerError","Error","message","name","PriorityQueue","items","enqueue","item","push","sort","a","b","priority","dequeue","shift","peek","length","size","clear","MessageBroker","emitter","subscriptions","pendingRequests","messageQueue","config","stats","processing","subscriptionCounter","senderQueueSizes","deadLetterQueue","rateLimiters","rateLimiterCleanupInterval","payloadValidator","agentSubscriptions","subscriptionCleanupInterval","setMaxListeners","Map","maxQueueSize","maxQueueSizePerSender","enableDeadLetterQueue","priorityEvictionThreshold","defaultRequestTimeout","enableStats","maxConcurrency","maxSubscriptions","maxSubscriptionsPerAgent","subscriptionTTL","cleanupIntervalMs","authorizationProvider","rateLimit","maxMessagesPerSecond","maxBurstSize","strategy","undefined","payloadValidation","totalPublished","totalDelivered","totalFailed","totalSubscriptions","messagesByTopic","messagesByPriority","avgDeliveryTime","startRateLimiterCleanup","startSubscriptionCleanup","subscribe","topic","validateTopicName","handler","subscriberId","agentSubs","get","Set","authorized","canSubscribe","subscriptionId","Date","now","internalSub","id","createdAt","filter","expiresAt","has","set","topicSubs","add","unsubscribe","Array","from","keys","subs","index","findIndex","sub","splice","delete","publish","validateConfig","validationResult","validate","payload","valid","emit","errors","senderId","join","sanitizedPayload","sanitize","allowed","checkRateLimit","currentSenderSize","process","env","DEBUG_MESSAGE_BROKER","console","log","evictionThreshold","Math","floor","messagePriority","normalizePriority","evicted","evictLowPriorityMessages","queueSize","evictedMessages","threshold","generateMessageId","timestamp","replyTo","correlationId","recipientId","deliverySemantics","AT_LEAST_ONCE","metadata","processQueue","catch","error","broadcast","request","options","generateCorrelationId","timeout","NORMAL","replyTopic","Promise","resolve","reject","timeoutId","setTimeout","expectedSender","resolved","clearTimeout","reply","success","createReply","hasHandlers","hasMatchingHandlers","deliverMessage","senderSize","topicPattern","matchesTopic","startTime","matchingHandlers","cleanupExpiredSubscriptions","pendingRequest","warn","subscription","deliveryTime","getStats","resetStats","getSubscriptions","result","values","getQueueSize","getPendingRequestCount","includes","validTopicPattern","test","limiter","tokensPerInterval","interval","fireImmediately","remainingTokens","removeTokens","setInterval","entries","toKeep","slice","forEach","key","value","incomingPriority","lowestIndex","lowestPriority","i","candidate","getDeadLetterQueueSize","getRateLimiterCount","getDeadLetterMessages","count","clearDeadLetterQueue","cleanupInterval","expiredCount","validSubs","pending","clearInterval","removeAllListeners","shutdown","onError","on"],"mappings":"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"}
@@ -0,0 +1,385 @@
1
+ /**
2
+ * Agent Coordination V2 - Message Router
3
+ *
4
+ * Routes messages to topics based on patterns with priority-based delivery.
5
+ * Integrates with TopicManager for efficient pattern matching and
6
+ * PriorityQueue for ordered message delivery.
7
+ *
8
+ * Features:
9
+ * - Priority-based routing (0-10 scale, higher = more urgent)
10
+ * - Dead letter queue for failed deliveries
11
+ * - Message filtering and transformation
12
+ * - Subscription-based delivery with handlers
13
+ * - Delivery statistics and monitoring
14
+ *
15
+ * @module coordination/v2/core/message-router
16
+ */ import { TopicManager } from './topic-manager.js';
17
+ import { PriorityQueue } from '../utils/priority-queue.js';
18
+ import { MessageUtils } from './message.js';
19
+ /**
20
+ * Message Router - Priority-based message routing with topic pattern matching.
21
+ *
22
+ * Routes messages to subscribed handlers based on topic patterns, with
23
+ * priority-based delivery ordering and dead letter queue for failures.
24
+ *
25
+ * Performance:
26
+ * - publish(): O(log n) for priority queue + O(log m) for topic matching
27
+ * - subscribe(): O(p) where p is pattern length
28
+ * - route(): O(k * h) where k is matched subscriptions, h is handler execution
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const router = new MessageRouter();
33
+ *
34
+ * // Subscribe to topics
35
+ * const sub = router.subscribe({
36
+ * topic: 'task.*',
37
+ * handler: async (msg) => {
38
+ * console.log('Task message:', msg.payload);
39
+ * }
40
+ * });
41
+ *
42
+ * // Publish messages
43
+ * await router.publish({
44
+ * topic: 'task.completed',
45
+ * payload: { taskId: '123', result: 'success' },
46
+ * priority: MessagePriority.HIGH
47
+ * });
48
+ *
49
+ * // Process message queue
50
+ * await router.processQueue();
51
+ * ```
52
+ */ export class MessageRouter {
53
+ /** Topic pattern manager */ topicManager;
54
+ /** Priority queue for message ordering */ messageQueue;
55
+ /** Subscription handlers by ID */ handlers;
56
+ /** Dead letter queue for failed deliveries */ deadLetterQueue;
57
+ /** Router configuration */ config;
58
+ /** Statistics tracking */ stats;
59
+ /** Next subscription ID counter */ nextSubscriptionId;
60
+ /** Processing lock to prevent concurrent queue processing */ isProcessing;
61
+ constructor(config = {}){
62
+ this.topicManager = new TopicManager();
63
+ this.messageQueue = new PriorityQueue();
64
+ this.handlers = new Map();
65
+ this.deadLetterQueue = [];
66
+ this.config = {
67
+ maxDeadLetterQueueSize: config.maxDeadLetterQueueSize ?? 1000,
68
+ maxDeliveryAttempts: config.maxDeliveryAttempts ?? 3,
69
+ asyncHandlers: config.asyncHandlers ?? true,
70
+ handlerTimeout: config.handlerTimeout ?? 30000
71
+ };
72
+ this.stats = {
73
+ totalPublished: 0,
74
+ totalDelivered: 0,
75
+ totalFailed: 0,
76
+ deliveryTimes: [],
77
+ messagesByTopic: new Map(),
78
+ messagesByPriority: new Map()
79
+ };
80
+ this.nextSubscriptionId = 1;
81
+ this.isProcessing = false;
82
+ }
83
+ /**
84
+ * Publishes a message to the router.
85
+ * Message is added to priority queue for ordered delivery.
86
+ *
87
+ * @param config - Message configuration
88
+ * @returns Created message object
89
+ *
90
+ * @example
91
+ * ```typescript
92
+ * const message = await router.publish({
93
+ * topic: 'agent.status',
94
+ * payload: { agentId: 'agent-1', status: 'online' },
95
+ * priority: MessagePriority.NORMAL
96
+ * });
97
+ * ```
98
+ */ publish(config) {
99
+ // Validate message configuration
100
+ MessageUtils.validateConfig(config);
101
+ // Create message
102
+ const message = {
103
+ id: MessageUtils.generateMessageId(),
104
+ topic: config.topic,
105
+ payload: config.payload,
106
+ priority: MessageUtils.normalizePriority(config.priority),
107
+ timestamp: Date.now(),
108
+ replyTo: config.replyTo,
109
+ correlationId: config.correlationId,
110
+ senderId: config.senderId,
111
+ recipientId: config.recipientId,
112
+ deliverySemantics: config.deliverySemantics,
113
+ metadata: config.metadata
114
+ };
115
+ // Add to priority queue
116
+ this.messageQueue.enqueue(message, message.priority);
117
+ // Update statistics
118
+ this.stats.totalPublished++;
119
+ this.stats.messagesByTopic.set(message.topic, (this.stats.messagesByTopic.get(message.topic) ?? 0) + 1);
120
+ this.stats.messagesByPriority.set(message.priority, (this.stats.messagesByPriority.get(message.priority) ?? 0) + 1);
121
+ return message;
122
+ }
123
+ /**
124
+ * Subscribes a handler to a topic pattern.
125
+ *
126
+ * @param config - Subscription configuration
127
+ * @returns Subscription handle
128
+ *
129
+ * @example
130
+ * ```typescript
131
+ * const subscription = router.subscribe({
132
+ * topic: 'task.*.completed',
133
+ * handler: async (message) => {
134
+ * console.log('Task completed:', message.payload);
135
+ * },
136
+ * priority: 10
137
+ * });
138
+ * ```
139
+ */ subscribe(config) {
140
+ const subscriptionId = `sub-${this.nextSubscriptionId++}`;
141
+ // Register pattern with topic manager
142
+ const topicId = this.topicManager.register(config.topic);
143
+ // Store handler
144
+ this.handlers.set(topicId, {
145
+ id: subscriptionId,
146
+ pattern: config.topic,
147
+ handler: config.handler,
148
+ priority: config.priority ?? 0,
149
+ processedCount: 0,
150
+ errorCount: 0,
151
+ createdAt: Date.now()
152
+ });
153
+ return {
154
+ id: subscriptionId,
155
+ topic: config.topic,
156
+ createdAt: Date.now(),
157
+ unsubscribe: ()=>this.unsubscribe(topicId)
158
+ };
159
+ }
160
+ /**
161
+ * Unsubscribes a handler by topic ID.
162
+ *
163
+ * @param topicId - Topic registration ID
164
+ */ unsubscribe(topicId) {
165
+ this.topicManager.deregister(topicId);
166
+ this.handlers.delete(topicId);
167
+ }
168
+ /**
169
+ * Processes the message queue, delivering messages to handlers.
170
+ * Messages are processed in priority order (highest priority first).
171
+ *
172
+ * @returns Number of messages processed
173
+ *
174
+ * @example
175
+ * ```typescript
176
+ * const processed = await router.processQueue();
177
+ * console.log(`Processed ${processed} messages`);
178
+ * ```
179
+ */ async processQueue() {
180
+ // Prevent concurrent processing
181
+ if (this.isProcessing) {
182
+ return 0;
183
+ }
184
+ this.isProcessing = true;
185
+ let processedCount = 0;
186
+ try {
187
+ while(!this.messageQueue.isEmpty()){
188
+ const message = this.messageQueue.dequeue();
189
+ if (!message) break;
190
+ await this.routeMessage(message);
191
+ processedCount++;
192
+ }
193
+ } finally{
194
+ this.isProcessing = false;
195
+ }
196
+ return processedCount;
197
+ }
198
+ /**
199
+ * Routes a single message to matching handlers.
200
+ *
201
+ * @param message - Message to route
202
+ */ async routeMessage(message) {
203
+ const startTime = performance.now();
204
+ try {
205
+ // Find matching subscriptions
206
+ const matchedTopicIds = this.topicManager.match(message.topic);
207
+ if (matchedTopicIds.length === 0) {
208
+ // No handlers, message is dropped (consider logging)
209
+ return;
210
+ }
211
+ // Get handlers and sort by priority (highest first)
212
+ const matchedHandlers = matchedTopicIds.map((id)=>this.handlers.get(id)).filter((h)=>h !== undefined).sort((a, b)=>b.priority - a.priority);
213
+ // Deliver to handlers
214
+ const deliveryPromises = matchedHandlers.map((handler)=>this.deliverToHandler(message, handler));
215
+ if (this.config.asyncHandlers) {
216
+ await Promise.allSettled(deliveryPromises);
217
+ } else {
218
+ for (const promise of deliveryPromises){
219
+ await promise;
220
+ }
221
+ }
222
+ // Update statistics
223
+ this.stats.totalDelivered++;
224
+ const deliveryTime = performance.now() - startTime;
225
+ this.stats.deliveryTimes.push(deliveryTime);
226
+ // Keep only last 1000 delivery times for stats
227
+ if (this.stats.deliveryTimes.length > 1000) {
228
+ this.stats.deliveryTimes.shift();
229
+ }
230
+ } catch (error) {
231
+ this.stats.totalFailed++;
232
+ this.addToDeadLetterQueue(message, error, []);
233
+ }
234
+ }
235
+ /**
236
+ * Delivers a message to a specific handler.
237
+ *
238
+ * @param message - Message to deliver
239
+ * @param handler - Handler to deliver to
240
+ */ async deliverToHandler(message, handler) {
241
+ try {
242
+ // Create timeout promise
243
+ const timeoutPromise = new Promise((_, reject)=>{
244
+ setTimeout(()=>reject(new Error(`Handler timeout after ${this.config.handlerTimeout}ms`)), this.config.handlerTimeout);
245
+ });
246
+ // Race handler execution against timeout
247
+ await Promise.race([
248
+ handler.handler(message),
249
+ timeoutPromise
250
+ ]);
251
+ handler.processedCount++;
252
+ } catch (error) {
253
+ handler.errorCount++;
254
+ this.addToDeadLetterQueue(message, error, [
255
+ handler.id
256
+ ]);
257
+ throw error;
258
+ }
259
+ }
260
+ /**
261
+ * Adds a message to the dead letter queue.
262
+ *
263
+ * @param message - Failed message
264
+ * @param error - Delivery error
265
+ * @param failedSubscriptions - Subscription IDs that failed
266
+ */ addToDeadLetterQueue(message, error, failedSubscriptions) {
267
+ // Check if queue is full
268
+ if (this.deadLetterQueue.length >= this.config.maxDeadLetterQueueSize) {
269
+ // Remove oldest message (FIFO)
270
+ this.deadLetterQueue.shift();
271
+ }
272
+ this.deadLetterQueue.push({
273
+ message,
274
+ error,
275
+ attempts: 1,
276
+ timestamp: Date.now(),
277
+ failedSubscriptions
278
+ });
279
+ }
280
+ /**
281
+ * Gets all messages in the dead letter queue.
282
+ *
283
+ * @returns Array of dead letter messages
284
+ */ getDeadLetterQueue() {
285
+ return [
286
+ ...this.deadLetterQueue
287
+ ];
288
+ }
289
+ /**
290
+ * Clears the dead letter queue.
291
+ */ clearDeadLetterQueue() {
292
+ this.deadLetterQueue = [];
293
+ }
294
+ /**
295
+ * Retries a message from the dead letter queue.
296
+ *
297
+ * @param messageId - ID of message to retry
298
+ * @returns True if message was found and requeued
299
+ */ retryDeadLetterMessage(messageId) {
300
+ const index = this.deadLetterQueue.findIndex((dlm)=>dlm.message.id === messageId);
301
+ if (index === -1) {
302
+ return false;
303
+ }
304
+ const [deadLetter] = this.deadLetterQueue.splice(index, 1);
305
+ // Check if we've exceeded max attempts
306
+ if (deadLetter.attempts >= this.config.maxDeliveryAttempts) {
307
+ // Put it back (max retries exceeded)
308
+ this.deadLetterQueue.push(deadLetter);
309
+ return false;
310
+ }
311
+ // Increment attempts and requeue
312
+ deadLetter.attempts++;
313
+ this.messageQueue.enqueue(deadLetter.message, deadLetter.message.priority);
314
+ return true;
315
+ }
316
+ /**
317
+ * Gets router statistics.
318
+ *
319
+ * @returns Statistics object
320
+ */ getStats() {
321
+ const avgDeliveryTime = this.stats.deliveryTimes.length > 0 ? this.stats.deliveryTimes.reduce((sum, t)=>sum + t, 0) / this.stats.deliveryTimes.length : 0;
322
+ const messagesByTopic = {};
323
+ for (const [topic, count] of Array.from(this.stats.messagesByTopic.entries())){
324
+ messagesByTopic[topic] = count;
325
+ }
326
+ const messagesByPriority = {};
327
+ for (const [priority, count] of Array.from(this.stats.messagesByPriority.entries())){
328
+ messagesByPriority[priority] = count;
329
+ }
330
+ const handlerStats = Array.from(this.handlers.values()).map((handler)=>({
331
+ id: handler.id,
332
+ pattern: handler.pattern,
333
+ processedCount: handler.processedCount,
334
+ errorCount: handler.errorCount
335
+ }));
336
+ return {
337
+ totalPublished: this.stats.totalPublished,
338
+ totalDelivered: this.stats.totalDelivered,
339
+ totalFailed: this.stats.totalFailed,
340
+ totalSubscriptions: this.handlers.size,
341
+ messagesByTopic,
342
+ messagesByPriority,
343
+ avgDeliveryTime,
344
+ deadLetterQueueSize: this.deadLetterQueue.length,
345
+ totalFailedDeliveries: this.deadLetterQueue.length,
346
+ handlerStats
347
+ };
348
+ }
349
+ /**
350
+ * Gets the current queue size.
351
+ *
352
+ * @returns Number of messages in queue
353
+ */ getQueueSize() {
354
+ return this.messageQueue.size();
355
+ }
356
+ /**
357
+ * Clears all messages from the queue.
358
+ */ clearQueue() {
359
+ this.messageQueue.clear();
360
+ }
361
+ /**
362
+ * Resets all statistics.
363
+ */ resetStats() {
364
+ this.stats = {
365
+ totalPublished: 0,
366
+ totalDelivered: 0,
367
+ totalFailed: 0,
368
+ deliveryTimes: [],
369
+ messagesByTopic: new Map(),
370
+ messagesByPriority: new Map()
371
+ };
372
+ }
373
+ /**
374
+ * Clears all subscriptions, messages, and statistics.
375
+ */ clear() {
376
+ this.topicManager.clear();
377
+ this.handlers.clear();
378
+ this.messageQueue.clear();
379
+ this.deadLetterQueue = [];
380
+ this.resetStats();
381
+ this.nextSubscriptionId = 1;
382
+ }
383
+ }
384
+
385
+ //# sourceMappingURL=message-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../src/coordination/archives/v2-sdk-typescript/v2/core/message-router.ts"],"names":["TopicManager","PriorityQueue","MessageUtils","MessageRouter","topicManager","messageQueue","handlers","deadLetterQueue","config","stats","nextSubscriptionId","isProcessing","Map","maxDeadLetterQueueSize","maxDeliveryAttempts","asyncHandlers","handlerTimeout","totalPublished","totalDelivered","totalFailed","deliveryTimes","messagesByTopic","messagesByPriority","publish","validateConfig","message","id","generateMessageId","topic","payload","priority","normalizePriority","timestamp","Date","now","replyTo","correlationId","senderId","recipientId","deliverySemantics","metadata","enqueue","set","get","subscribe","subscriptionId","topicId","register","pattern","handler","processedCount","errorCount","createdAt","unsubscribe","deregister","delete","processQueue","isEmpty","dequeue","routeMessage","startTime","performance","matchedTopicIds","match","length","matchedHandlers","map","filter","h","undefined","sort","a","b","deliveryPromises","deliverToHandler","Promise","allSettled","promise","deliveryTime","push","shift","error","addToDeadLetterQueue","timeoutPromise","_","reject","setTimeout","Error","race","failedSubscriptions","attempts","getDeadLetterQueue","clearDeadLetterQueue","retryDeadLetterMessage","messageId","index","findIndex","dlm","deadLetter","splice","getStats","avgDeliveryTime","reduce","sum","t","count","Array","from","entries","handlerStats","values","totalSubscriptions","size","deadLetterQueueSize","totalFailedDeliveries","getQueueSize","clearQueue","clear","resetStats"],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Agent Coordination V2 - Message Interface and Types
3
+ *
4
+ * Defines the core message structure for the message bus, supporting
5
+ * pub/sub, request/reply, and broadcast communication patterns.
6
+ *
7
+ * @module coordination/v2/core/message
8
+ */ /**
9
+ * Message priority levels (0-10 scale).
10
+ * Higher values indicate more urgent messages.
11
+ */ export var MessagePriority = /*#__PURE__*/ function(MessagePriority) {
12
+ /** Critical system messages (10) */ MessagePriority[MessagePriority["CRITICAL"] = 10] = "CRITICAL";
13
+ /** High priority operational messages (8) */ MessagePriority[MessagePriority["HIGH"] = 8] = "HIGH";
14
+ /** Normal priority messages (5) - default */ MessagePriority[MessagePriority["NORMAL"] = 5] = "NORMAL";
15
+ /** Low priority background messages (2) */ MessagePriority[MessagePriority["LOW"] = 2] = "LOW";
16
+ /** Informational/logging messages (0) */ MessagePriority[MessagePriority["INFORMATIONAL"] = 0] = "INFORMATIONAL";
17
+ return MessagePriority;
18
+ }({});
19
+ /**
20
+ * Message delivery semantics.
21
+ */ export var DeliverySemantics = /*#__PURE__*/ function(DeliverySemantics) {
22
+ /** At-least-once delivery (default) */ DeliverySemantics["AT_LEAST_ONCE"] = "at-least-once";
23
+ /** At-most-once delivery (fire-and-forget) */ DeliverySemantics["AT_MOST_ONCE"] = "at-most-once";
24
+ /** Exactly-once delivery (requires deduplication) */ DeliverySemantics["EXACTLY_ONCE"] = "exactly-once";
25
+ return DeliverySemantics;
26
+ }({});
27
+ /**
28
+ * Message validation error.
29
+ */ export class MessageValidationError extends Error {
30
+ messageId;
31
+ constructor(message, messageId){
32
+ super(message), this.messageId = messageId;
33
+ this.name = 'MessageValidationError';
34
+ }
35
+ }
36
+ /**
37
+ * Utility functions for message validation and creation.
38
+ */ export class MessageUtils {
39
+ /**
40
+ * Validates a message configuration.
41
+ *
42
+ * @param config - Message configuration to validate
43
+ * @throws {MessageValidationError} If configuration is invalid
44
+ */ static validateConfig(config) {
45
+ if (!config.topic || typeof config.topic !== 'string') {
46
+ throw new MessageValidationError('Message topic must be a non-empty string');
47
+ }
48
+ if (config.payload === undefined || config.payload === null) {
49
+ throw new MessageValidationError('Message payload is required');
50
+ }
51
+ if (config.priority !== undefined) {
52
+ if (typeof config.priority !== 'number' || isNaN(config.priority)) {
53
+ throw new MessageValidationError('Priority must be a valid number');
54
+ }
55
+ if (config.priority < 0 || config.priority > 10) {
56
+ throw new MessageValidationError('Priority must be between 0 and 10');
57
+ }
58
+ }
59
+ if (config.replyTo !== undefined && typeof config.replyTo !== 'string') {
60
+ throw new MessageValidationError('Reply-to must be a string');
61
+ }
62
+ if (config.correlationId !== undefined && typeof config.correlationId !== 'string') {
63
+ throw new MessageValidationError('Correlation ID must be a string');
64
+ }
65
+ }
66
+ /**
67
+ * Normalizes priority to valid range (0-10).
68
+ *
69
+ * @param priority - Priority value to normalize
70
+ * @returns Normalized priority
71
+ */ static normalizePriority(priority) {
72
+ if (priority === undefined || priority === null) {
73
+ return 5;
74
+ }
75
+ if (typeof priority !== 'number' || isNaN(priority)) {
76
+ return 5;
77
+ }
78
+ return Math.max(0, Math.min(10, Math.round(priority)));
79
+ }
80
+ /**
81
+ * Generates a unique message ID.
82
+ *
83
+ * @returns UUID v4 string
84
+ */ static generateMessageId() {
85
+ return `msg-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
86
+ }
87
+ /**
88
+ * Generates a unique correlation ID.
89
+ *
90
+ * @returns UUID v4 string
91
+ */ static generateCorrelationId() {
92
+ return `corr-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
93
+ }
94
+ /**
95
+ * Checks if a topic matches a topic pattern (supports wildcards).
96
+ *
97
+ * @param topic - Actual message topic
98
+ * @param pattern - Topic pattern (supports * and **)
99
+ * @returns True if topic matches pattern
100
+ *
101
+ * @example
102
+ * ```typescript
103
+ * MessageUtils.matchesTopic('task.completed', 'task.*'); // true
104
+ * MessageUtils.matchesTopic('agent.status.online', 'agent.**'); // true
105
+ * MessageUtils.matchesTopic('task.failed', 'task.completed'); // false
106
+ * ```
107
+ */ static matchesTopic(topic, pattern) {
108
+ if (pattern === '*' || pattern === '**') {
109
+ return true; // Match all
110
+ }
111
+ if (!pattern.includes('*')) {
112
+ return topic === pattern; // Exact match
113
+ }
114
+ // Convert pattern to regex
115
+ const regexPattern = pattern.replace(/\./g, '\\.').replace(/\*\*/g, '.*').replace(/\*/g, '[^.]*');
116
+ const regex = new RegExp(`^${regexPattern}$`);
117
+ return regex.test(topic);
118
+ }
119
+ /**
120
+ * Creates a reply message from a request.
121
+ *
122
+ * @param request - Original request message
123
+ * @param payload - Reply payload
124
+ * @param success - Success status (default: true)
125
+ * @param error - Error message if failed
126
+ * @returns Reply object
127
+ */ static createReply(request, payload, success = true, error) {
128
+ return {
129
+ correlationId: request.correlationId || request.id,
130
+ payload,
131
+ success,
132
+ error,
133
+ timestamp: Date.now()
134
+ };
135
+ }
136
+ }
137
+
138
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../src/coordination/archives/v2-sdk-typescript/v2/core/message.ts"],"names":["MessagePriority","DeliverySemantics","MessageValidationError","Error","message","messageId","name","MessageUtils","validateConfig","config","topic","payload","undefined","priority","isNaN","replyTo","correlationId","normalizePriority","Math","max","min","round","generateMessageId","Date","now","random","toString","substr","generateCorrelationId","matchesTopic","pattern","includes","regexPattern","replace","regex","RegExp","test","createReply","request","success","error","id","timestamp"],"mappings":"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"}