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,273 @@
1
+ import * as fs from 'fs/promises';
2
+ import * as path from 'path';
3
+ import * as crypto from 'crypto';
4
+ export class CustomFrameworkRegistry {
5
+ configManager;
6
+ truthValidator;
7
+ initialized;
8
+ frameworks;
9
+ qualityGates;
10
+ constructor(options = {}){
11
+ this.configManager = options.configManager;
12
+ this.truthValidator = options.truthValidator;
13
+ this.initialized = false;
14
+ this.frameworks = new Map();
15
+ this.qualityGates = new Map();
16
+ }
17
+ async initialize() {
18
+ this.initialized = true;
19
+ // Initialize with some default frameworks
20
+ const defaultFrameworks = [
21
+ {
22
+ id: 'tdd-default',
23
+ name: 'Test-Driven Development',
24
+ type: 'TDD',
25
+ truth_threshold: 0.85,
26
+ test_coverage_requirement: 0.90
27
+ },
28
+ {
29
+ id: 'bdd-default',
30
+ name: 'Behavior-Driven Development',
31
+ type: 'BDD',
32
+ truth_threshold: 0.80,
33
+ scenario_coverage_requirement: 0.85
34
+ },
35
+ {
36
+ id: 'sparc-default',
37
+ name: 'SPARC Methodology',
38
+ type: 'SPARC',
39
+ truth_threshold: 0.75,
40
+ phase_completion_requirement: 1.0
41
+ }
42
+ ];
43
+ for (const framework of defaultFrameworks){
44
+ this.frameworks.set(framework.id, framework);
45
+ }
46
+ return true;
47
+ }
48
+ async close() {
49
+ this.initialized = false;
50
+ }
51
+ async addFramework(framework, options) {
52
+ // Validate framework
53
+ if (!framework.id || !framework.name) {
54
+ throw new Error('Framework must have id and name');
55
+ }
56
+ // Add to local registry
57
+ this.frameworks.set(framework.id, framework);
58
+ // Generate cryptographic signature
59
+ const signature = crypto.createHash('sha256').update(JSON.stringify(framework) + Date.now()).digest('hex');
60
+ return {
61
+ success: true,
62
+ byzantineValidated: options?.requireByzantineConsensus ?? false,
63
+ cryptographicSignature: {
64
+ signature,
65
+ algorithm: 'sha256',
66
+ timestamp: Date.now()
67
+ }
68
+ };
69
+ }
70
+ async listAvailableFrameworks() {
71
+ return Array.from(this.frameworks.values());
72
+ }
73
+ async detectProjectFramework(projectDir) {
74
+ const startTime = Date.now();
75
+ const detectionResult = {
76
+ framework: null,
77
+ confidence: 0,
78
+ warnings: [],
79
+ additionalFrameworks: [],
80
+ subprojects: []
81
+ };
82
+ try {
83
+ // Check for package.json (JavaScript/TypeScript)
84
+ const packageJsonPath = path.join(projectDir, 'package.json');
85
+ try {
86
+ const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'));
87
+ const result = await this.detectJavaScriptFramework(packageJson, projectDir);
88
+ if (result.framework) {
89
+ Object.assign(detectionResult, result);
90
+ }
91
+ } catch (error) {
92
+ // package.json doesn't exist
93
+ }
94
+ // Check for Python projects
95
+ if (!detectionResult.framework) {
96
+ const pythonResult = await this.detectPythonFramework(projectDir);
97
+ if (pythonResult.framework) {
98
+ Object.assign(detectionResult, pythonResult);
99
+ }
100
+ }
101
+ // Check for monorepo structure
102
+ const monorepoResult = await this.detectMonorepo(projectDir);
103
+ if (monorepoResult.subprojects && monorepoResult.subprojects.length > 0) {
104
+ detectionResult.subprojects = monorepoResult.subprojects;
105
+ }
106
+ // If no framework detected, warn
107
+ if (!detectionResult.framework) {
108
+ detectionResult.warnings = [
109
+ 'No testing framework detected'
110
+ ];
111
+ }
112
+ detectionResult.detectionTime = Date.now() - startTime;
113
+ return detectionResult;
114
+ } catch (error) {
115
+ return {
116
+ framework: null,
117
+ warnings: [
118
+ `Detection error: ${error.message}`
119
+ ],
120
+ detectionTime: Date.now() - startTime
121
+ };
122
+ }
123
+ }
124
+ async detectJavaScriptFramework(packageJson, projectDir) {
125
+ const dependencies = {
126
+ ...packageJson.dependencies,
127
+ ...packageJson.devDependencies
128
+ };
129
+ let framework = null;
130
+ let testFramework = null;
131
+ let confidence = 0;
132
+ const additionalFrameworks = [];
133
+ // Detect test frameworks
134
+ if (dependencies['jest']) {
135
+ testFramework = 'Jest';
136
+ framework = 'TDD';
137
+ confidence = 0.95;
138
+ }
139
+ if (dependencies['mocha']) {
140
+ if (!testFramework) {
141
+ testFramework = 'Mocha';
142
+ framework = 'TDD';
143
+ confidence = 0.93;
144
+ } else {
145
+ additionalFrameworks.push('Mocha');
146
+ }
147
+ }
148
+ if (dependencies['@cucumber/cucumber']) {
149
+ framework = 'BDD';
150
+ testFramework = 'Cucumber';
151
+ confidence = 0.96;
152
+ }
153
+ // Check for BDD features
154
+ try {
155
+ const featuresDir = path.join(projectDir, 'features');
156
+ const stats = await fs.stat(featuresDir);
157
+ if (stats.isDirectory()) {
158
+ framework = 'BDD';
159
+ confidence = Math.max(confidence, 0.92);
160
+ }
161
+ } catch (error) {
162
+ // No features directory
163
+ }
164
+ // Detect language
165
+ let language = 'JavaScript';
166
+ if (dependencies['typescript'] || await this.fileExists(path.join(projectDir, 'tsconfig.json'))) {
167
+ language = 'TypeScript';
168
+ }
169
+ return {
170
+ framework,
171
+ language,
172
+ testFramework: testFramework || undefined,
173
+ confidence,
174
+ additionalFrameworks: additionalFrameworks.length > 0 ? additionalFrameworks : undefined
175
+ };
176
+ }
177
+ async detectPythonFramework(projectDir) {
178
+ let framework = null;
179
+ let testFramework = null;
180
+ let confidence = 0;
181
+ // Check for requirements.txt
182
+ try {
183
+ const requirementsPath = path.join(projectDir, 'requirements.txt');
184
+ const requirements = await fs.readFile(requirementsPath, 'utf-8');
185
+ if (requirements.includes('pytest')) {
186
+ framework = 'TDD';
187
+ testFramework = 'pytest';
188
+ confidence = 0.91;
189
+ }
190
+ if (requirements.includes('behave')) {
191
+ framework = 'BDD';
192
+ testFramework = 'behave';
193
+ confidence = 0.92;
194
+ }
195
+ } catch (error) {
196
+ // No requirements.txt
197
+ }
198
+ // Check for BDD features directory
199
+ try {
200
+ const featuresDir = path.join(projectDir, 'features');
201
+ const stats = await fs.stat(featuresDir);
202
+ if (stats.isDirectory()) {
203
+ framework = 'BDD';
204
+ confidence = Math.max(confidence, 0.90);
205
+ }
206
+ } catch (error) {
207
+ // No features directory
208
+ }
209
+ if (framework) {
210
+ return {
211
+ framework,
212
+ language: 'Python',
213
+ testFramework: testFramework || undefined,
214
+ confidence
215
+ };
216
+ }
217
+ return {
218
+ framework: null
219
+ };
220
+ }
221
+ async detectMonorepo(projectDir) {
222
+ const subprojects = [];
223
+ // Check for lerna.json
224
+ try {
225
+ const lernaPath = path.join(projectDir, 'lerna.json');
226
+ await fs.stat(lernaPath);
227
+ // Check packages directory
228
+ const packagesDir = path.join(projectDir, 'packages');
229
+ const packages = await fs.readdir(packagesDir);
230
+ for (const pkg of packages){
231
+ const pkgPath = path.join(packagesDir, pkg);
232
+ const stats = await fs.stat(pkgPath);
233
+ if (stats.isDirectory()) {
234
+ const detection = await this.detectProjectFramework(pkgPath);
235
+ if (detection.framework) {
236
+ subprojects.push({
237
+ path: pkgPath,
238
+ framework: detection.framework
239
+ });
240
+ }
241
+ }
242
+ }
243
+ } catch (error) {
244
+ // Not a monorepo
245
+ }
246
+ return subprojects.length > 0 ? {
247
+ subprojects
248
+ } : {};
249
+ }
250
+ async fileExists(filePath) {
251
+ try {
252
+ await fs.stat(filePath);
253
+ return true;
254
+ } catch (error) {
255
+ return false;
256
+ }
257
+ }
258
+ async configureQualityGate(gate, config) {
259
+ this.qualityGates.set(gate, config);
260
+ return {
261
+ configured: true,
262
+ gate,
263
+ ...config
264
+ };
265
+ }
266
+ async validateFramework(framework) {
267
+ return !!(framework.id && framework.name);
268
+ }
269
+ }
270
+ export class FrameworkRegistry extends CustomFrameworkRegistry {
271
+ }
272
+
273
+ //# sourceMappingURL=framework-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../src/coordination/archives/v2-sdk-typescript/v2/truth/framework-registry.ts"],"names":["fs","path","crypto","CustomFrameworkRegistry","configManager","truthValidator","initialized","frameworks","qualityGates","options","Map","initialize","defaultFrameworks","id","name","type","truth_threshold","test_coverage_requirement","scenario_coverage_requirement","phase_completion_requirement","framework","set","close","addFramework","Error","signature","createHash","update","JSON","stringify","Date","now","digest","success","byzantineValidated","requireByzantineConsensus","cryptographicSignature","algorithm","timestamp","listAvailableFrameworks","Array","from","values","detectProjectFramework","projectDir","startTime","detectionResult","confidence","warnings","additionalFrameworks","subprojects","packageJsonPath","join","packageJson","parse","readFile","result","detectJavaScriptFramework","Object","assign","error","pythonResult","detectPythonFramework","monorepoResult","detectMonorepo","length","detectionTime","message","dependencies","devDependencies","testFramework","push","featuresDir","stats","stat","isDirectory","Math","max","language","fileExists","undefined","requirementsPath","requirements","includes","lernaPath","packagesDir","packages","readdir","pkg","pkgPath","detection","filePath","configureQualityGate","gate","config","configured","validateFramework","FrameworkRegistry"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Phase 2 Truth Validation Components
3
+ * Exports all truth-related classes for completion validation
4
+ */ export { UserConfigurationManager, TruthConfigManager } from './truth-config-manager';
5
+ export { CustomFrameworkRegistry, FrameworkRegistry } from './framework-registry';
6
+ export { CompletionTruthValidator, TruthValidator } from './truth-validator';
7
+
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../src/coordination/archives/v2-sdk-typescript/v2/truth/index.ts"],"names":["UserConfigurationManager","TruthConfigManager","CustomFrameworkRegistry","FrameworkRegistry","CompletionTruthValidator","TruthValidator"],"mappings":"AAAA;;;CAGC,GAED,SACEA,wBAAwB,EACxBC,kBAAkB,QASb,yBAAyB;AAEhC,SACEC,uBAAuB,EACvBC,iBAAiB,QAGZ,uBAAuB;AAE9B,SACEC,wBAAwB,EACxBC,cAAc,QAIT,oBAAoB"}
@@ -0,0 +1,310 @@
1
+ import * as fs from 'fs/promises';
2
+ import * as path from 'path';
3
+ import * as crypto from 'crypto';
4
+ export class UserConfigurationManager {
5
+ options;
6
+ analyticsStore;
7
+ initialized;
8
+ preferences;
9
+ byzantineConsensus;
10
+ constructor(options = {}){
11
+ this.options = {
12
+ consensusThreshold: 0.85,
13
+ enableByzantineValidation: false,
14
+ ...options
15
+ };
16
+ this.analyticsStore = new Map();
17
+ this.initialized = false;
18
+ this.preferences = {
19
+ completion_validation: {
20
+ frameworks: {},
21
+ quality_gates: {},
22
+ user_customization: {}
23
+ }
24
+ };
25
+ // Byzantine consensus mock
26
+ this.byzantineConsensus = {
27
+ achieveConsensus: async (data)=>{
28
+ const signature = crypto.createHash('sha256').update(JSON.stringify(data) + Date.now()).digest('hex');
29
+ return {
30
+ consensusReached: true,
31
+ consensusRatio: 0.95,
32
+ cryptographicSignature: {
33
+ signature,
34
+ algorithm: 'sha256',
35
+ timestamp: Date.now()
36
+ }
37
+ };
38
+ }
39
+ };
40
+ }
41
+ async initialize() {
42
+ this.initialized = true;
43
+ // Try to load existing preferences
44
+ try {
45
+ if (this.options.preferencesPath) {
46
+ const prefsFile = path.join(this.options.preferencesPath, 'user-global.json');
47
+ const data = await fs.readFile(prefsFile, 'utf-8');
48
+ const loaded = JSON.parse(data);
49
+ this.preferences = loaded.preferences || this.preferences;
50
+ }
51
+ } catch (error) {
52
+ // File doesn't exist or is corrupted - use defaults
53
+ this.preferences = {
54
+ completion_validation: {
55
+ frameworks: {},
56
+ quality_gates: {},
57
+ user_customization: {}
58
+ }
59
+ };
60
+ }
61
+ return true;
62
+ }
63
+ async shutdown() {
64
+ this.initialized = false;
65
+ }
66
+ async validateConfigurationSchema(config) {
67
+ const errors = [];
68
+ if (!config || typeof config !== 'object') {
69
+ errors.push({
70
+ message: 'Configuration must be an object'
71
+ });
72
+ return {
73
+ valid: false,
74
+ errors
75
+ };
76
+ }
77
+ // Validate frameworks
78
+ if (config.completion_validation?.frameworks) {
79
+ for (const [id, framework] of Object.entries(config.completion_validation.frameworks)){
80
+ // Validate threshold ranges when they exist
81
+ if (framework.truth_threshold !== undefined) {
82
+ if (framework.truth_threshold < 0 || framework.truth_threshold > 1.0) {
83
+ errors.push({
84
+ message: 'Invalid truth threshold range',
85
+ field: `frameworks.${id}.truth_threshold`
86
+ });
87
+ }
88
+ }
89
+ // Additional validation for test_coverage_requirement
90
+ if (framework.test_coverage_requirement !== undefined) {
91
+ if (framework.test_coverage_requirement < 0 || framework.test_coverage_requirement > 1.0) {
92
+ errors.push({
93
+ message: 'Invalid test coverage requirement range',
94
+ field: `frameworks.${id}.test_coverage_requirement`
95
+ });
96
+ }
97
+ }
98
+ // Name validation: require it unless this is a wizard step with multiple threshold configs
99
+ // Wizard configs have 2+ threshold/coverage fields, incomplete configs have just 1 field
100
+ const fieldCount = Object.keys(framework).length;
101
+ const isWizardStep = fieldCount >= 2 && (framework.truth_threshold !== undefined || framework.test_coverage_requirement !== undefined);
102
+ if (!framework.name && !isWizardStep) {
103
+ errors.push({
104
+ message: 'Framework name is required',
105
+ field: `frameworks.${id}.name`
106
+ });
107
+ }
108
+ }
109
+ }
110
+ return {
111
+ valid: errors.length === 0,
112
+ errors
113
+ };
114
+ }
115
+ async validateConfigurationUpdate(config, options) {
116
+ const schemaValidation = await this.validateConfigurationSchema(config);
117
+ if (!schemaValidation.valid) {
118
+ return schemaValidation;
119
+ }
120
+ // Security validation if requested
121
+ if (options?.securityValidation) {
122
+ const securityResult = await this.performSecurityValidation(config);
123
+ if (!securityResult.valid) {
124
+ return {
125
+ valid: false,
126
+ errors: securityResult.violations.map((v)=>({
127
+ message: v.message
128
+ }))
129
+ };
130
+ }
131
+ }
132
+ return {
133
+ valid: true,
134
+ errors: []
135
+ };
136
+ }
137
+ async performSecurityValidation(config) {
138
+ const violations = [];
139
+ if (config.completion_validation?.frameworks) {
140
+ for (const [id, framework] of Object.entries(config.completion_validation.frameworks)){
141
+ // Check for bypass attempts
142
+ if (framework.bypass_validation || framework.disable_security) {
143
+ violations.push({
144
+ message: 'Security bypass attempt detected',
145
+ severity: 'high'
146
+ });
147
+ }
148
+ // Check for invalid threshold range (security concern)
149
+ if (framework.truth_threshold !== undefined) {
150
+ if (framework.truth_threshold < 0 || framework.truth_threshold > 1.0) {
151
+ violations.push({
152
+ message: 'Invalid truth threshold range',
153
+ severity: 'high'
154
+ });
155
+ } else if (framework.truth_threshold <= 0.0) {
156
+ violations.push({
157
+ message: 'Truth threshold too low - security risk',
158
+ severity: 'high'
159
+ });
160
+ }
161
+ }
162
+ // Check for code injection attempts
163
+ if (framework.name?.includes('eval(') || framework.name?.includes('${')) {
164
+ violations.push({
165
+ message: 'Code injection attempt detected',
166
+ severity: 'high'
167
+ });
168
+ }
169
+ // Check for DoS attempts (excessive arrays)
170
+ if (framework.validation_rules && Array.isArray(framework.validation_rules) && framework.validation_rules.length > 1000) {
171
+ violations.push({
172
+ message: 'Denial of service attack detected - excessive validation rules',
173
+ severity: 'high'
174
+ });
175
+ }
176
+ if (framework.quality_gates && Array.isArray(framework.quality_gates) && framework.quality_gates.length > 1000) {
177
+ violations.push({
178
+ message: 'Denial of service attack detected - excessive quality gates',
179
+ severity: 'high'
180
+ });
181
+ }
182
+ }
183
+ }
184
+ return {
185
+ valid: violations.length === 0,
186
+ violations
187
+ };
188
+ }
189
+ async validateWithByzantineConsensus(config, sessionId) {
190
+ if (!this.options.enableByzantineValidation) {
191
+ return {
192
+ consensusReached: true,
193
+ cryptographicSignature: {
194
+ signature: 'mock-signature',
195
+ algorithm: 'sha256',
196
+ timestamp: Date.now()
197
+ }
198
+ };
199
+ }
200
+ return await this.byzantineConsensus.achieveConsensus({
201
+ config,
202
+ sessionId
203
+ });
204
+ }
205
+ async updateConfiguration(config, options) {
206
+ try {
207
+ // Validate configuration
208
+ const validation = await this.validateConfigurationUpdate(config, {
209
+ securityValidation: options?.securityValidation
210
+ });
211
+ if (!validation.valid) {
212
+ return {
213
+ success: false,
214
+ validationErrors: validation.errors,
215
+ error: validation.errors[0]?.message || 'Validation failed'
216
+ };
217
+ }
218
+ // Byzantine consensus if required
219
+ let consensusResult;
220
+ if (options?.requireConsensus && this.options.enableByzantineValidation) {
221
+ consensusResult = await this.byzantineConsensus.achieveConsensus(config);
222
+ if (!consensusResult.consensusReached) {
223
+ return {
224
+ success: false,
225
+ byzantineRejection: true,
226
+ error: 'Byzantine consensus not reached'
227
+ };
228
+ }
229
+ }
230
+ // Merge with existing preferences
231
+ await this.mergeWithExistingPreferences(config);
232
+ // Save to disk
233
+ if (this.options.preferencesPath) {
234
+ await fs.mkdir(this.options.preferencesPath, {
235
+ recursive: true
236
+ });
237
+ const prefsFile = path.join(this.options.preferencesPath, 'user-global.json');
238
+ await fs.writeFile(prefsFile, JSON.stringify({
239
+ preferences: this.preferences
240
+ }, null, 2));
241
+ }
242
+ return {
243
+ success: true,
244
+ configurationApplied: true,
245
+ consensusReached: consensusResult?.consensusReached ?? true,
246
+ cryptographicSignature: consensusResult?.cryptographicSignature
247
+ };
248
+ } catch (error) {
249
+ return {
250
+ success: false,
251
+ error: error.message || 'Unknown error'
252
+ };
253
+ }
254
+ }
255
+ async mergeWithExistingPreferences(config) {
256
+ if (!this.preferences.completion_validation) {
257
+ this.preferences.completion_validation = {};
258
+ }
259
+ if (config.completion_validation) {
260
+ // Merge frameworks
261
+ if (config.completion_validation.frameworks) {
262
+ if (!this.preferences.completion_validation.frameworks) {
263
+ this.preferences.completion_validation.frameworks = {};
264
+ }
265
+ Object.assign(this.preferences.completion_validation.frameworks, config.completion_validation.frameworks);
266
+ }
267
+ // Merge quality gates
268
+ if (config.completion_validation.quality_gates) {
269
+ if (!this.preferences.completion_validation.quality_gates) {
270
+ this.preferences.completion_validation.quality_gates = {};
271
+ }
272
+ Object.assign(this.preferences.completion_validation.quality_gates, config.completion_validation.quality_gates);
273
+ }
274
+ // Merge user customization
275
+ if (config.completion_validation.user_customization) {
276
+ if (!this.preferences.completion_validation.user_customization) {
277
+ this.preferences.completion_validation.user_customization = {};
278
+ }
279
+ Object.assign(this.preferences.completion_validation.user_customization, config.completion_validation.user_customization);
280
+ }
281
+ }
282
+ }
283
+ async addCustomFramework(framework, options) {
284
+ const config = {
285
+ completion_validation: {
286
+ frameworks: {
287
+ [framework.id]: framework
288
+ }
289
+ }
290
+ };
291
+ const result = await this.updateConfiguration(config, {
292
+ requireConsensus: options?.requireByzantineConsensus
293
+ });
294
+ return {
295
+ success: result.success,
296
+ frameworkAdded: result.success,
297
+ byzantineValidated: result.consensusReached,
298
+ cryptographicSignature: result.cryptographicSignature
299
+ };
300
+ }
301
+ async getPreferences() {
302
+ return {
303
+ preferences: this.preferences
304
+ };
305
+ }
306
+ }
307
+ export class TruthConfigManager extends UserConfigurationManager {
308
+ }
309
+
310
+ //# sourceMappingURL=truth-config-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../src/coordination/archives/v2-sdk-typescript/v2/truth/truth-config-manager.ts"],"names":["fs","path","crypto","UserConfigurationManager","options","analyticsStore","initialized","preferences","byzantineConsensus","consensusThreshold","enableByzantineValidation","Map","completion_validation","frameworks","quality_gates","user_customization","achieveConsensus","data","signature","createHash","update","JSON","stringify","Date","now","digest","consensusReached","consensusRatio","cryptographicSignature","algorithm","timestamp","initialize","preferencesPath","prefsFile","join","readFile","loaded","parse","error","shutdown","validateConfigurationSchema","config","errors","push","message","valid","id","framework","Object","entries","truth_threshold","undefined","field","test_coverage_requirement","fieldCount","keys","length","isWizardStep","name","validateConfigurationUpdate","schemaValidation","securityValidation","securityResult","performSecurityValidation","violations","map","v","bypass_validation","disable_security","severity","includes","validation_rules","Array","isArray","validateWithByzantineConsensus","sessionId","updateConfiguration","validation","success","validationErrors","consensusResult","requireConsensus","byzantineRejection","mergeWithExistingPreferences","mkdir","recursive","writeFile","configurationApplied","assign","addCustomFramework","result","requireByzantineConsensus","frameworkAdded","byzantineValidated","getPreferences","TruthConfigManager"],"mappings":"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"}