claude-flow-novice 1.6.4 → 1.6.6

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 (286) 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/mcp-server-sdk.js +45 -0
  5. package/.claude-flow-novice/dist/mcp/transports/base.js +5 -0
  6. package/.claude-flow-novice/dist/mcp/transports/base.js.map +1 -0
  7. package/.claude-flow-novice/dist/mcp/transports/http.js +414 -0
  8. package/.claude-flow-novice/dist/mcp/transports/http.js.map +1 -0
  9. package/.claude-flow-novice/dist/mcp/transports/stdio.js +217 -0
  10. package/.claude-flow-novice/dist/mcp/transports/stdio.js.map +1 -0
  11. package/.claude-flow-novice/dist/src/cli/commands/parse-epic.js +129 -0
  12. package/.claude-flow-novice/dist/src/cli/commands/parse-epic.js.map +1 -0
  13. package/.claude-flow-novice/dist/src/cli/index.js +3 -0
  14. package/.claude-flow-novice/dist/src/cli/index.js.map +1 -1
  15. package/.claude-flow-novice/dist/src/cli/utils/epic-parser.js +266 -0
  16. package/.claude-flow-novice/dist/src/cli/utils/epic-parser.js.map +1 -0
  17. package/.claude-flow-novice/dist/src/communication/message-bus.js +105 -2
  18. package/.claude-flow-novice/dist/src/communication/message-bus.js.map +1 -1
  19. package/.claude-flow-novice/dist/src/coordination/adapters/v1-coordinator-adapter.js +1 -1
  20. package/.claude-flow-novice/dist/src/coordination/adapters/v1-coordinator-adapter.js.map +1 -1
  21. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/cache/artifact-cache-optimizer.js +632 -0
  22. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/cache/artifact-cache-optimizer.js.map +1 -0
  23. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/cache/index.js +11 -0
  24. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/cache/index.js.map +1 -0
  25. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/checkpoints/checkpoint-compressor.js +318 -0
  26. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/checkpoints/checkpoint-compressor.js.map +1 -0
  27. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/completion-detector.js +234 -0
  28. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/completion-detector.js.map +1 -0
  29. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/hierarchical-detector.js +347 -0
  30. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/hierarchical-detector.js.map +1 -0
  31. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/index.js +13 -0
  32. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/index.js.map +1 -0
  33. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/lamport-clock.js +173 -0
  34. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/lamport-clock.js.map +1 -0
  35. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/mesh-detector.js +526 -0
  36. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/mesh-detector.js.map +1 -0
  37. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/sdk-completion-detector.js +443 -0
  38. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/sdk-completion-detector.js.map +1 -0
  39. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/swarm-shutdown.js +366 -0
  40. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/swarm-shutdown.js.map +1 -0
  41. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinator-factory.js +287 -0
  42. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinator-factory.js.map +1 -0
  43. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/cascading-shutdown.example.js +364 -0
  44. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/cascading-shutdown.example.js.map +1 -0
  45. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/cascading-shutdown.js +492 -0
  46. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/cascading-shutdown.js.map +1 -0
  47. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/hierarchical-coordinator.js +786 -0
  48. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/hierarchical-coordinator.js.map +1 -0
  49. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/index.js +16 -0
  50. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/index.js.map +1 -0
  51. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/parent-child-manager.js +342 -0
  52. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/parent-child-manager.js.map +1 -0
  53. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/swarm-coordinator-v2.js +601 -0
  54. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/swarm-coordinator-v2.js.map +1 -0
  55. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/agent-state.js +9 -0
  56. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/agent-state.js.map +1 -0
  57. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dead-letter-queue.js +413 -0
  58. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dead-letter-queue.js.map +1 -0
  59. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-graph.js +471 -0
  60. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-graph.js.map +1 -0
  61. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-node.js +379 -0
  62. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-node.js.map +1 -0
  63. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-resolver.js +335 -0
  64. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-resolver.js.map +1 -0
  65. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/help-request-metrics.js +211 -0
  66. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/help-request-metrics.js.map +1 -0
  67. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/index.js +33 -0
  68. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/index.js.map +1 -0
  69. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message-broker.js +920 -0
  70. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message-broker.js.map +1 -0
  71. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message-router.js +385 -0
  72. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message-router.js.map +1 -0
  73. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message.js +138 -0
  74. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message.js.map +1 -0
  75. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/resource-manager-safe.js +478 -0
  76. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/resource-manager-safe.js.map +1 -0
  77. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-machine-config.js +358 -0
  78. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-machine-config.js.map +1 -0
  79. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-machine.js +588 -0
  80. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-machine.js.map +1 -0
  81. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-transition.js +153 -0
  82. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-transition.js.map +1 -0
  83. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/task-scheduler.js +360 -0
  84. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/task-scheduler.js.map +1 -0
  85. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/topic-manager.js +337 -0
  86. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/topic-manager.js.map +1 -0
  87. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/deadlock-detector.js +424 -0
  88. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/deadlock-detector.js.map +1 -0
  89. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/index.js +9 -0
  90. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/index.js.map +1 -0
  91. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/resource-manager.js +669 -0
  92. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/resource-manager.js.map +1 -0
  93. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/artifact-storage.js +451 -0
  94. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/artifact-storage.js.map +1 -0
  95. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/cycle-detector.js +271 -0
  96. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/cycle-detector.js.map +1 -0
  97. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-graph.js +335 -0
  98. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-graph.js.map +1 -0
  99. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-manager.js +439 -0
  100. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-manager.js.map +1 -0
  101. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-request.js +92 -0
  102. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-request.js.map +1 -0
  103. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/index.js +21 -0
  104. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/index.js.map +1 -0
  105. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/topological-sort.js +223 -0
  106. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/topological-sort.js.map +1 -0
  107. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-coordinator.js +436 -0
  108. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-coordinator.js.map +1 -0
  109. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-matcher.js +278 -0
  110. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-matcher.js.map +1 -0
  111. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-request-handler.js +317 -0
  112. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-request-handler.js.map +1 -0
  113. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-request.js +273 -0
  114. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-request.js.map +1 -0
  115. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/index.js +15 -0
  116. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/index.js.map +1 -0
  117. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/waiting-agent-pool.js +512 -0
  118. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/waiting-agent-pool.js.map +1 -0
  119. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/index.js +67 -0
  120. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/index.js.map +1 -0
  121. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/help-deadlock-integration.js +557 -0
  122. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/help-deadlock-integration.js.map +1 -0
  123. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/index.js +14 -0
  124. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/index.js.map +1 -0
  125. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/message-bus-completion-integration.example.js +212 -0
  126. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/message-bus-completion-integration.example.js.map +1 -0
  127. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/message-bus-completion-integration.js +552 -0
  128. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/message-bus-completion-integration.js.map +1 -0
  129. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/state-machine-integration.js +635 -0
  130. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/state-machine-integration.js.map +1 -0
  131. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/IArtifactStorage.js +28 -0
  132. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/IArtifactStorage.js.map +1 -0
  133. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/ICoordinator.js +9 -0
  134. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/ICoordinator.js.map +1 -0
  135. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/ISessionStore.js +25 -0
  136. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/ISessionStore.js.map +1 -0
  137. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/index.js +14 -0
  138. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/index.js.map +1 -0
  139. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/artifact-adapter.js +308 -0
  140. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/artifact-adapter.js.map +1 -0
  141. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/completion-storage.js +439 -0
  142. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/completion-storage.js.map +1 -0
  143. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/dependency-graph-storage.js +540 -0
  144. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/dependency-graph-storage.js.map +1 -0
  145. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/dependency-storage.js +367 -0
  146. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/dependency-storage.js.map +1 -0
  147. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/index.js +14 -0
  148. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/index.js.map +1 -0
  149. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/message-storage.js +518 -0
  150. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/message-storage.js.map +1 -0
  151. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/state-storage.js +377 -0
  152. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/state-storage.js.map +1 -0
  153. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channel.js +371 -0
  154. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channel.js.map +1 -0
  155. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/dependency-channel.js +355 -0
  156. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/dependency-channel.js.map +1 -0
  157. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/help-channel.js +424 -0
  158. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/help-channel.js.map +1 -0
  159. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/index.js +16 -0
  160. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/index.js.map +1 -0
  161. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/state-channel.js +295 -0
  162. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/state-channel.js.map +1 -0
  163. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/task-channel.js +411 -0
  164. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/task-channel.js.map +1 -0
  165. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/index.js +14 -0
  166. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/index.js.map +1 -0
  167. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-bus.js +387 -0
  168. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-bus.js.map +1 -0
  169. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-persistence.js +589 -0
  170. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-persistence.js.map +1 -0
  171. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-router.js +444 -0
  172. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-router.js.map +1 -0
  173. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/artifact-storage.js +560 -0
  174. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/artifact-storage.js.map +1 -0
  175. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/background-orchestrator.js +335 -0
  176. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/background-orchestrator.js.map +1 -0
  177. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/bash-output-monitor.js +104 -0
  178. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/bash-output-monitor.js.map +1 -0
  179. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/checkpoint-manager.js +847 -0
  180. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/checkpoint-manager.js.map +1 -0
  181. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/help-coordinator.js +470 -0
  182. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/help-coordinator.js.map +1 -0
  183. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/hierarchical-background-integration.js +450 -0
  184. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/hierarchical-background-integration.js.map +1 -0
  185. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/index.js +13 -0
  186. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/index.js.map +1 -0
  187. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/message-bus-integration.js +625 -0
  188. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/message-bus-integration.js.map +1 -0
  189. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/multi-level-control.js +545 -0
  190. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/multi-level-control.js.map +1 -0
  191. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/query-controller.js +740 -0
  192. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/query-controller.js.map +1 -0
  193. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/query-message-integration.js +415 -0
  194. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/query-message-integration.js.map +1 -0
  195. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/session-pool-optimizer.js +615 -0
  196. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/session-pool-optimizer.js.map +1 -0
  197. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/state-machine-integration.js +547 -0
  198. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/state-machine-integration.js.map +1 -0
  199. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/state-sdk-integration.js +342 -0
  200. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/state-sdk-integration.js.map +1 -0
  201. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/security/payload-validator.js +259 -0
  202. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/security/payload-validator.js.map +1 -0
  203. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/framework-registry.js +273 -0
  204. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/framework-registry.js.map +1 -0
  205. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/index.js +8 -0
  206. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/index.js.map +1 -0
  207. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/truth-config-manager.js +310 -0
  208. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/truth-config-manager.js.map +1 -0
  209. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/truth-validator.js +218 -0
  210. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/truth-validator.js.map +1 -0
  211. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/types/sdk.js +9 -0
  212. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/types/sdk.js.map +1 -0
  213. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/index.js +6 -0
  214. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/index.js.map +1 -0
  215. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/priority-queue.js +145 -0
  216. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/priority-queue.js.map +1 -0
  217. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/sdk-helpers.js +122 -0
  218. package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/sdk-helpers.js.map +1 -0
  219. package/.claude-flow-novice/dist/src/coordination/config-translator.js +17 -43
  220. package/.claude-flow-novice/dist/src/coordination/config-translator.js.map +1 -1
  221. package/.claude-flow-novice/dist/src/coordination/coordination-toggle.js +34 -76
  222. package/.claude-flow-novice/dist/src/coordination/coordination-toggle.js.map +1 -1
  223. package/.claude-flow-novice/dist/src/coordination/shared/core/agent-state.js +172 -0
  224. package/.claude-flow-novice/dist/src/coordination/shared/core/agent-state.js.map +1 -0
  225. package/.claude-flow-novice/dist/src/coordination/shared/core/index.js +7 -0
  226. package/.claude-flow-novice/dist/src/coordination/shared/core/index.js.map +1 -0
  227. package/.claude-flow-novice/dist/src/coordination/shared/index.js +19 -0
  228. package/.claude-flow-novice/dist/src/coordination/shared/index.js.map +1 -0
  229. package/.claude-flow-novice/dist/src/coordination/shared/interfaces/ICoordinator.js +24 -0
  230. package/.claude-flow-novice/dist/src/coordination/shared/interfaces/ICoordinator.js.map +1 -0
  231. package/.claude-flow-novice/dist/src/coordination/shared/interfaces/index.js +7 -0
  232. package/.claude-flow-novice/dist/src/coordination/shared/interfaces/index.js.map +1 -0
  233. package/.claude-flow-novice/dist/src/coordination/shared/message-broker.js +920 -0
  234. package/.claude-flow-novice/dist/src/coordination/shared/message-broker.js.map +1 -0
  235. package/.claude-flow-novice/dist/src/coordination/shared/message.js +138 -0
  236. package/.claude-flow-novice/dist/src/coordination/shared/message.js.map +1 -0
  237. package/.claude-flow-novice/dist/src/coordination/shared/security/payload-validator.js +259 -0
  238. package/.claude-flow-novice/dist/src/coordination/shared/security/payload-validator.js.map +1 -0
  239. package/.claude-flow-novice/dist/src/coordination/shared/transparency/index.js +17 -0
  240. package/.claude-flow-novice/dist/src/coordination/shared/transparency/index.js.map +1 -0
  241. package/.claude-flow-novice/dist/src/coordination/shared/transparency/interfaces/transparency-system.js +19 -0
  242. package/.claude-flow-novice/dist/src/coordination/shared/transparency/interfaces/transparency-system.js.map +1 -0
  243. package/.claude-flow-novice/dist/src/coordination/shared/transparency/transparency-integration.js +357 -0
  244. package/.claude-flow-novice/dist/src/coordination/shared/transparency/transparency-integration.js.map +1 -0
  245. package/.claude-flow-novice/dist/src/coordination/shared/transparency/transparency-system.js +679 -0
  246. package/.claude-flow-novice/dist/src/coordination/shared/transparency/transparency-system.js.map +1 -0
  247. package/.claude-flow-novice/dist/src/coordination/shared/types/index.js +7 -0
  248. package/.claude-flow-novice/dist/src/coordination/shared/types/index.js.map +1 -0
  249. package/.claude-flow-novice/dist/src/coordination/shared/types/sdk.js +10 -0
  250. package/.claude-flow-novice/dist/src/coordination/shared/types/sdk.js.map +1 -0
  251. package/.claude-flow-novice/dist/src/feature-flags/core/FeatureFlagManager.js +52 -2
  252. package/.claude-flow-novice/dist/src/feature-flags/core/FeatureFlagManager.js.map +1 -1
  253. package/.claude-flow-novice/dist/src/mcp/mcp-server-novice.js +37 -2
  254. package/.claude-flow-novice/dist/src/mcp/session-manager.js +3 -1
  255. package/.claude-flow-novice/dist/src/mcp/session-manager.js.map +1 -1
  256. package/.claude-flow-novice/dist/src/providers/provider-manager.js +36 -3
  257. package/.claude-flow-novice/dist/src/providers/provider-manager.js.map +1 -1
  258. package/.claude-flow-novice/dist/src/utils/markdown-sanitizer.js +65 -41
  259. package/.claude-flow-novice/dist/src/utils/markdown-sanitizer.js.map +1 -1
  260. package/.claude-flow-novice/dist/src/web/api/server.js +1 -1
  261. package/.claude-flow-novice/dist/src/web/api/server.js.map +1 -1
  262. package/.claude-flow-novice/dist/src/workflows/progressive-rollout-manager.js +30 -0
  263. package/.claude-flow-novice/dist/src/workflows/progressive-rollout-manager.js.map +1 -1
  264. package/.claude-flow-novice/metrics.db-shm +0 -0
  265. package/.claude-flow-novice/metrics.db-wal +0 -0
  266. package/config/.env.example +178 -0
  267. package/config/DEPLOYMENT_GUIDE.md +692 -0
  268. package/config/README-CONFIG.md +331 -0
  269. package/config/coordination-config.sh +327 -0
  270. package/config/docker/env.development +53 -0
  271. package/config/docker/env.production +83 -0
  272. package/config/docker/env.staging +70 -0
  273. package/config/k8s/configmap-development.yaml +60 -0
  274. package/config/k8s/configmap-production.yaml +85 -0
  275. package/config/k8s/configmap-staging.yaml +76 -0
  276. package/config/k8s/secret-production.yaml +62 -0
  277. package/config/k8s/secret-staging.yaml +36 -0
  278. package/package.json +2 -2
  279. package/scripts/monitoring/alert-monitor.sh +220 -0
  280. package/scripts/monitoring/dashboards/rate-limiting-dashboard.json +211 -0
  281. package/scripts/monitoring/quick-test-alerting.sh +118 -0
  282. package/scripts/monitoring/quick-test-rate-limiting.sh +206 -0
  283. package/scripts/monitoring/rate-limiting-monitor.sh +380 -0
  284. package/scripts/monitoring/view-alerts.sh +307 -0
  285. package/scripts/test-zai-api.cjs +2 -2
  286. package/src/slash-commands/parse-epic.js +1 -1
@@ -0,0 +1,129 @@
1
+ #!/usr/bin/env node
2
+ import { promises as fs } from 'fs';
3
+ import path from 'path';
4
+ import { Command } from 'commander';
5
+ import chalk from 'chalk';
6
+ import { EpicParser } from '../../parsers/epic-parser.js';
7
+ export const parseEpicCommand = new Command().name('parse-epic').description('Parse epic markdown files into structured JSON configuration').argument('<epic-directory>', 'Path to epic directory containing EPIC_OVERVIEW.md and phase files').option('-o, --output <file>', 'Output file path (default: <epic-name>-config.json)').option('-v, --validate', 'Run validation and report errors without generating output').action(async (epicDirectory, options)=>{
8
+ await executeParseEpic(epicDirectory, options);
9
+ });
10
+ async function executeParseEpic(epicDirectory, options) {
11
+ console.log(chalk.cyan.bold('🔍 Epic Parser - Natural Language to Structured JSON\n'));
12
+ try {
13
+ // Resolve epic directory path
14
+ const absoluteEpicDir = path.resolve(process.cwd(), epicDirectory);
15
+ // Display directory info
16
+ console.log(chalk.white('📂 Epic directory:'), chalk.gray(absoluteEpicDir));
17
+ // Check if directory exists
18
+ try {
19
+ await fs.access(absoluteEpicDir);
20
+ } catch {
21
+ console.error(chalk.red('✗ Epic directory not found:'), absoluteEpicDir);
22
+ process.exit(1);
23
+ }
24
+ // Check for overview file
25
+ const overviewPath = path.join(absoluteEpicDir, 'EPIC_OVERVIEW.md');
26
+ try {
27
+ await fs.access(overviewPath);
28
+ console.log(chalk.white('📄 Overview file:'), chalk.gray('EPIC_OVERVIEW.md'));
29
+ } catch {
30
+ console.error(chalk.red('✗ EPIC_OVERVIEW.md not found in directory'));
31
+ process.exit(1);
32
+ }
33
+ console.log(); // Empty line for spacing
34
+ // Initialize parser
35
+ const parser = new EpicParser({
36
+ epicDirectory: absoluteEpicDir
37
+ });
38
+ // Parse epic configuration
39
+ let epicConfig;
40
+ try {
41
+ epicConfig = parser.parse();
42
+ } catch (error) {
43
+ console.error(chalk.red('✗ Parsing failed:'));
44
+ console.error(chalk.red(error.message));
45
+ process.exit(1);
46
+ }
47
+ // Get validation result with stats
48
+ const validation = parser.getValidationResult();
49
+ // Display parsing results
50
+ if (validation.valid) {
51
+ console.log(chalk.green('✅ Parsed successfully:'));
52
+ console.log(chalk.white(' - Epic:'), chalk.cyan(epicConfig.epicId));
53
+ console.log(chalk.white(' - Phases:'), chalk.cyan(validation.stats?.totalPhases || 0));
54
+ console.log(chalk.white(' - Total Sprints:'), chalk.cyan(validation.stats?.totalSprints || 0));
55
+ console.log(chalk.white(' - Scope boundaries:'), chalk.green('✓'));
56
+ console.log(chalk.white(' - Dependencies:'), chalk.green('✓'));
57
+ if (validation.stats?.completedSprints) {
58
+ console.log(chalk.white(' - Completed:'), chalk.cyan(`${validation.stats.completedSprints}/${validation.stats.totalSprints}`));
59
+ }
60
+ if (validation.stats?.dependencyCount) {
61
+ console.log(chalk.white(' - Dependency count:'), chalk.cyan(validation.stats.dependencyCount));
62
+ }
63
+ }
64
+ console.log(); // Empty line
65
+ // Display warnings if any
66
+ if (validation.warnings.length > 0) {
67
+ console.log(chalk.yellow(`⚠️ ${validation.warnings.length} warning(s):`));
68
+ validation.warnings.forEach((warn)=>{
69
+ const location = warn.location ? ` (${warn.location.file})` : '';
70
+ console.log(chalk.yellow(` - [${warn.type}] ${warn.message}${location}`));
71
+ });
72
+ console.log(); // Empty line
73
+ }
74
+ // Validation-only mode
75
+ if (options.validate) {
76
+ if (validation.valid) {
77
+ console.log(chalk.green('✅ Validation: PASSED\n'));
78
+ process.exit(0);
79
+ } else {
80
+ console.log(chalk.red('✗ Validation: FAILED\n'));
81
+ console.error(chalk.red('Errors:'));
82
+ validation.errors.forEach((err)=>{
83
+ const location = err.location ? ` at ${err.location.file}` : '';
84
+ console.error(chalk.red(` - [${err.type}] ${err.message}${location}`));
85
+ });
86
+ process.exit(1);
87
+ }
88
+ }
89
+ // Generate output file path
90
+ const defaultOutputName = `${epicConfig.epicId}-config.json`;
91
+ const outputPath = options.output ? path.resolve(process.cwd(), options.output) : path.join(absoluteEpicDir, defaultOutputName);
92
+ // Write JSON to output file
93
+ try {
94
+ await fs.writeFile(outputPath, JSON.stringify(epicConfig, null, 2), 'utf-8');
95
+ const relativeOutput = path.relative(process.cwd(), outputPath);
96
+ console.log(chalk.white('📄 Output:'), chalk.cyan(relativeOutput));
97
+ } catch (error) {
98
+ console.error(chalk.red('✗ Failed to write output file:'), error.message);
99
+ process.exit(1);
100
+ }
101
+ // Final status
102
+ if (validation.valid) {
103
+ console.log(chalk.green('✅ Validation: PASSED\n'));
104
+ console.log(chalk.cyan('Ready for CFN Loop execution!'));
105
+ process.exit(0);
106
+ } else {
107
+ console.log(chalk.red('✗ Validation: FAILED (but config generated)\n'));
108
+ console.error(chalk.red('Errors:'));
109
+ validation.errors.forEach((err)=>{
110
+ const location = err.location ? ` at ${err.location.file}` : '';
111
+ console.error(chalk.red(` - [${err.type}] ${err.message}${location}`));
112
+ });
113
+ process.exit(1);
114
+ }
115
+ } catch (error) {
116
+ console.error(chalk.red('\n✗ Unexpected error:'), error.message);
117
+ if (error.stack) {
118
+ console.error(chalk.gray(error.stack));
119
+ }
120
+ process.exit(1);
121
+ }
122
+ }
123
+ // CLI execution when run directly
124
+ if (import.meta.url === `file://${process.argv[1]}`) {
125
+ parseEpicCommand.parse(process.argv);
126
+ }
127
+ export default parseEpicCommand;
128
+
129
+ //# sourceMappingURL=parse-epic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cli/commands/parse-epic.ts"],"names":["promises","fs","path","Command","chalk","EpicParser","parseEpicCommand","name","description","argument","option","action","epicDirectory","options","executeParseEpic","console","log","cyan","bold","absoluteEpicDir","resolve","process","cwd","white","gray","access","error","red","exit","overviewPath","join","parser","epicConfig","parse","message","validation","getValidationResult","valid","green","epicId","stats","totalPhases","totalSprints","completedSprints","dependencyCount","warnings","length","yellow","forEach","warn","location","file","type","validate","errors","err","defaultOutputName","outputPath","output","writeFile","JSON","stringify","relativeOutput","relative","stack","url","argv"],"mappings":"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"}
@@ -9,6 +9,7 @@ import { Command } from 'commander';
9
9
  import chalk from 'chalk';
10
10
  import { logger } from '../core/logger.js';
11
11
  import { configManager } from '../core/config.js';
12
+ import { parseEpicCommand } from './commands/parse-epic.js';
12
13
  import { formatError, displayBanner, displayVersion } from './formatter.js';
13
14
  import { startREPL } from './repl.js';
14
15
  import { CompletionGenerator } from './completion.js';
@@ -49,6 +50,8 @@ const replCommand = new Command('repl').description('Start interactive REPL mode
49
50
  await startREPL(options);
50
51
  });
51
52
  cli.addCommand(replCommand);
53
+ // Add parse-epic command
54
+ cli.addCommand(parseEpicCommand);
52
55
  // Add version command
53
56
  const versionCommand = new Command('version').description('Show detailed version information').option('--short', 'Show version number only').action(async (options)=>{
54
57
  if (options.short) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cli/index.ts"],"names":["Command","chalk","logger","configManager","formatError","displayBanner","displayVersion","startREPL","CompletionGenerator","VERSION","BUILD_DATE","cli","name","version","description","option","action","options","setupLogging","quiet","console","log","gray","replCommand","banner","addCommand","versionCommand","short","completionCommand","argument","shell","generator","generate","install","handleError","error","formatted","json","JSON","stringify","message","timestamp","Date","toISOString","red","bold","process","env","verbose","exit","logLevel","configure","level","format","destination","config","load","loadDefault","profile","applyProfile","warn","setupSignalHandlers","gracefulShutdown","Deno","addSignalListener","globalOptions","args","includes","noColor","parse"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/cli/index.ts"],"names":["Command","chalk","logger","configManager","parseEpicCommand","formatError","displayBanner","displayVersion","startREPL","CompletionGenerator","VERSION","BUILD_DATE","cli","name","version","description","option","action","options","setupLogging","quiet","console","log","gray","replCommand","banner","addCommand","versionCommand","short","completionCommand","argument","shell","generator","generate","install","handleError","error","formatted","json","JSON","stringify","message","timestamp","Date","toISOString","red","bold","process","env","verbose","exit","logLevel","configure","level","format","destination","config","load","loadDefault","profile","applyProfile","warn","setupSignalHandlers","gracefulShutdown","Deno","addSignalListener","globalOptions","args","includes","noColor","parse"],"mappings":"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"}
@@ -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":"AAAA;;;;;;;;;;;;CAYC,GAED,YAAYA,QAAQ,KAAK;AACzB,YAAYC,UAAU,OAAO;AAC7B,SAASC,UAAU,QAAyB,+BAA+B;AAgD3E,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;CAkBC,GACD,OAAO,eAAeC,UACpBC,OAAqB;IAErB,IAAI;QACF,MAAMC,SAAS,IAAIH,WAAW;YAC5BI,eAAeF,QAAQE,aAAa;YACpCC,cAAcH,QAAQG,YAAY;QACpC;QAEA,2BAA2B;QAC3B,MAAMC,SAASH,OAAOI,KAAK;QAC3B,MAAMC,aAAaL,OAAOM,mBAAmB;QAE7C,kCAAkC;QAClC,IAAIP,QAAQQ,OAAO,EAAE;YACnBC,mBAAmBH;QACrB;QAEA,uDAAuD;QACvD,IAAIN,QAAQU,UAAU,IAAIJ,WAAWK,KAAK,EAAE;YAC1C,MAAMC,eAAef,KAAKgB,OAAO,CAACb,QAAQU,UAAU;YACpDd,GAAGkB,aAAa,CAACF,cAAcG,KAAKC,SAAS,CAACZ,QAAQ,MAAM,IAAI;YAEhE,IAAIJ,QAAQQ,OAAO,EAAE;gBACnBS,QAAQC,GAAG,CAAC,CAAC,4BAA4B,EAAEN,cAAc;YAC3D;QACF;QAEA,OAAO;YACLO,SAASb,WAAWK,KAAK;YACzBP,QAAQE,WAAWK,KAAK,GAAGP,SAASgB;YACpCC,QAAQf,WAAWe,MAAM;YACzBC,UAAUhB,WAAWgB,QAAQ;YAC7BC,OAAOjB,WAAWiB,KAAK;QACzB;IACF,EAAE,OAAOC,OAAO;QACd,MAAMC,aAAyB;YAC7BC,MAAM;YACNC,SAAS,CAAC,sBAAsB,EAAEH,iBAAiBI,QAAQJ,MAAMG,OAAO,GAAGE,OAAOL,QAAQ;YAC1FM,UAAU;YACVC,SAASP;QACX;QAEA,OAAO;YACLL,SAAS;YACTE,QAAQ;gBAACI;aAAW;YACpBH,UAAU,EAAE;QACd;IACF;AACF;AAEA;;;;;;;;;;;;;;CAcC,GACD,OAAO,eAAeU,aACpB9B,aAAqB,EACrBM,UAAmB,KAAK;IAExB,OAAOT,UAAU;QACfG;QACA+B,cAAc;QACdzB;IACF;AACF;AAEA;;;;;;;;;;;;;;CAcC,GACD,OAAO,eAAe0B,mBACpBhC,aAAqB,EACrBiC,UAAmB;IAEnB,MAAMzB,aACJyB,cAActC,KAAKuC,IAAI,CAAClC,eAAe;IAEzC,OAAOH,UAAU;QACfG;QACAQ;QACAF,SAAS;IACX;AACF;AAEA;;;;;;;;;;;;;;;;CAgBC,GACD,OAAO,eAAe6B,iBACpBnC,aAAqB;IAErB,MAAMoC,SAAS,MAAMvC,UAAU;QAAEG;IAAc;IAE/C,IAAI,CAACoC,OAAOnB,OAAO,IAAI,CAACmB,OAAOlC,MAAM,EAAE;QACrC,MAAMmC,gBAAgBD,OAAOjB,MAAM,CAChCmB,GAAG,CAAC,CAACC,IAAM,CAAC,CAAC,EAAEA,EAAEf,IAAI,CAAC,EAAE,EAAEe,EAAEd,OAAO,EAAE,EACrCS,IAAI,CAAC;QACR,MAAM,IAAIR,MAAM,CAAC,sBAAsB,EAAEW,eAAe;IAC1D;IAEA,OAAOD,OAAOlC,MAAM;AACtB;AAEA;;;;;CAKC,GACD,OAAO,eAAesC,aAAaxC,aAAqB;IAMtD,MAAMoC,SAAS,MAAMvC,UAAU;QAAEG;QAAe+B,cAAc;IAAK;IAEnE,IAAI,CAACK,OAAOnB,OAAO,IAAI,CAACmB,OAAOlC,MAAM,EAAE;QACrC,MAAM,IAAIwB,MAAM;IAClB;IAEA,MAAMe,eAAeL,OAAOf,KAAK,EAAEoB,gBAAgB;IACnD,MAAMC,mBAAmBN,OAAOf,KAAK,EAAEqB,oBAAoB;IAC3D,MAAMC,uBACJF,eAAe,IAAI,AAACC,mBAAmBD,eAAgB,MAAM;IAE/D,OAAO;QACLG,MAAMR,OAAOlC,MAAM,CAAC0C,IAAI;QACxBC,YAAYT,OAAOf,KAAK,EAAEyB,eAAe;QACzCC,aAAaN;QACbE,sBAAsBK,KAAKC,KAAK,CAACN;IACnC;AACF;AAEA,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;CAEC,GACD,SAASpC,mBAAmBH,UAW3B;IACC,IAAIA,WAAWK,KAAK,EAAE;QACpBM,QAAQC,GAAG,CAAC;IACd,OAAO;QACLD,QAAQO,KAAK,CAAC,CAAC,2BAA2B,EAAElB,WAAWe,MAAM,CAAC+B,MAAM,CAAC,SAAS,CAAC;QAC/E9C,WAAWe,MAAM,CAACgC,OAAO,CAAC,CAACC;YACzB,MAAMC,WAAWD,IAAIC,QAAQ,GACzB,CAAC,IAAI,EAAED,IAAIC,QAAQ,CAACC,IAAI,GAAGF,IAAIC,QAAQ,CAACE,IAAI,GAAG,CAAC,CAAC,EAAEH,IAAIC,QAAQ,CAACE,IAAI,EAAE,GAAG,IAAI,GAC7E;YACJxC,QAAQO,KAAK,CAAC,CAAC,KAAK,EAAE8B,IAAI5B,IAAI,CAAC,EAAE,EAAE4B,IAAI3B,OAAO,GAAG4B,UAAU;QAC7D;IACF;IAEA,mBAAmB;IACnB,IAAIjD,WAAWgB,QAAQ,CAAC8B,MAAM,GAAG,GAAG;QAClCnC,QAAQyC,IAAI,CAAC,CAAC,IAAI,EAAEpD,WAAWgB,QAAQ,CAAC8B,MAAM,CAAC,YAAY,CAAC;QAC5D9C,WAAWgB,QAAQ,CAAC+B,OAAO,CAAC,CAACK;YAC3B,MAAMH,WAAWG,KAAKH,QAAQ,GAC1B,CAAC,IAAI,EAAEG,KAAKH,QAAQ,CAACC,IAAI,GAAGE,KAAKH,QAAQ,CAACE,IAAI,GAAG,CAAC,CAAC,EAAEC,KAAKH,QAAQ,CAACE,IAAI,EAAE,GAAG,IAAI,GAChF;YACJxC,QAAQyC,IAAI,CAAC,CAAC,KAAK,EAAEA,KAAKhC,IAAI,CAAC,EAAE,EAAEgC,KAAK/B,OAAO,GAAG4B,UAAU;QAC9D;IACF;IAEA,gBAAgB;IAChB,IAAIjD,WAAWiB,KAAK,EAAE;QACpBN,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC,CAAC,YAAY,EAAEZ,WAAWiB,KAAK,CAACyB,WAAW,EAAE;QACzD/B,QAAQC,GAAG,CAAC,CAAC,aAAa,EAAEZ,WAAWiB,KAAK,CAACoB,YAAY,EAAE;QAC3D1B,QAAQC,GAAG,CACT,CAAC,eAAe,EAAEZ,WAAWiB,KAAK,CAACqB,gBAAgB,CAAC,CAAC,EAAEtC,WAAWiB,KAAK,CAACoB,YAAY,CAAC,EAAE,EAAEO,KAAKC,KAAK,CAAC,AAAC7C,WAAWiB,KAAK,CAACqB,gBAAgB,GAAGtC,WAAWiB,KAAK,CAACoB,YAAY,GAAI,KAAK,EAAE,CAAC;QAEpL1B,QAAQC,GAAG,CAAC,CAAC,kBAAkB,EAAEZ,WAAWiB,KAAK,CAACoC,eAAe,EAAE;QAEnE,IAAIrD,WAAWiB,KAAK,CAACqC,cAAc,GAAG,GAAG;YACvC3C,QAAQyC,IAAI,CACV,CAAC,oCAAoC,EAAEpD,WAAWiB,KAAK,CAACqC,cAAc,EAAE;QAE5E;IACF;AACF;AAEA;;CAEC,GACD,OAAO,SAASC,aAAaxC,MAAoB;IAC/C,OAAOA,OACJmB,GAAG,CAAC,CAACc;QACJ,MAAMC,WAAWD,IAAIC,QAAQ,GACzB,CAAC,IAAI,EAAED,IAAIC,QAAQ,CAACC,IAAI,GAAGF,IAAIC,QAAQ,CAACE,IAAI,GAAG,CAAC,CAAC,EAAEH,IAAIC,QAAQ,CAACE,IAAI,EAAE,GAAG,IAAI,GAC7E;QACJ,OAAO,CAAC,CAAC,EAAEH,IAAIxB,QAAQ,CAACgC,WAAW,GAAG,GAAG,EAAER,IAAI5B,IAAI,CAAC,EAAE,EAAE4B,IAAI3B,OAAO,GAAG4B,UAAU;IAClF,GACCnB,IAAI,CAAC;AACV;AAEA;;CAEC,GACD,OAAO,SAAS2B,sBAAsB7D,aAAqB;IAIzD,MAAMmB,SAAmB,EAAE;IAE3B,4BAA4B;IAC5B,IAAI,CAACzB,GAAGoE,UAAU,CAAC9D,gBAAgB;QACjCmB,OAAO4C,IAAI,CAAC,CAAC,0BAA0B,EAAE/D,eAAe;QACxD,OAAO;YAAES,OAAO;YAAOU;QAAO;IAChC;IAEA,4BAA4B;IAC5B,MAAM6C,OAAOtE,GAAGuE,QAAQ,CAACjE;IACzB,IAAI,CAACgE,KAAKE,WAAW,IAAI;QACvB/C,OAAO4C,IAAI,CAAC,CAAC,yBAAyB,EAAE/D,eAAe;QACvD,OAAO;YAAES,OAAO;YAAOU;QAAO;IAChC;IAEA,6BAA6B;IAC7B,MAAMgD,eAAexE,KAAKuC,IAAI,CAAClC,eAAe;IAC9C,IAAI,CAACN,GAAGoE,UAAU,CAACK,eAAe;QAChChD,OAAO4C,IAAI,CAAC,CAAC,4BAA4B,EAAE/D,eAAe;IAC5D;IAEA,oCAAoC;IACpC,MAAMoE,QAAQ1E,GAAG2E,WAAW,CAACrE;IAC7B,MAAMsE,aAAaF,MAAMG,MAAM,CAC7B,CAACC,IAAMA,EAAEC,UAAU,CAAC,aAAaD,EAAEE,QAAQ,CAAC;IAG9C,IAAIJ,WAAWpB,MAAM,KAAK,GAAG;QAC3B/B,OAAO4C,IAAI,CAAC,CAAC,6BAA6B,EAAE/D,eAAe;IAC7D;IAEA,OAAO;QACLS,OAAOU,OAAO+B,MAAM,KAAK;QACzB/B;IACF;AACF;AAEA,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,eAAe;IACbtB;IACAiC;IACAE;IACAG;IACAK;IACAqB;IACAF;AACF,EAAE"}