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,28 @@
1
+ /**
2
+ * Agent Coordination V2 - IArtifactStorage Interface
3
+ *
4
+ * Storage interface for agent-generated artifacts (code, files, outputs).
5
+ * Enables sharing artifacts between agents and persistence across sessions.
6
+ *
7
+ * @module coordination/v2/interfaces/IArtifactStorage
8
+ */ /**
9
+ * Artifact metadata
10
+ */ /**
11
+ * IArtifactStorage - Storage interface for agent-generated artifacts
12
+ *
13
+ * Implementations:
14
+ * - MemoryArtifactStorage: In-memory storage (testing/development)
15
+ * - FilesystemArtifactStorage: Local filesystem storage
16
+ * - S3ArtifactStorage: AWS S3 backend for production
17
+ * - AzureBlobArtifactStorage: Azure Blob Storage backend
18
+ *
19
+ * Features:
20
+ * - Compression (gzip/brotli) for large artifacts
21
+ * - Versioning support (keep multiple versions)
22
+ * - Integrity verification (SHA-256 checksums)
23
+ * - Metadata indexing for fast queries
24
+ * - Auto-cleanup of old artifacts
25
+ * - Streaming support for large files
26
+ */ export { };
27
+
28
+ //# sourceMappingURL=IArtifactStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../src/coordination/archives/v2-sdk-typescript/v2/interfaces/IArtifactStorage.ts"],"names":[],"mappings":"AAAA;;;;;;;CAOC,GAED;;CAEC,GAmND;;;;;;;;;;;;;;;;CAgBC,GACD,WA4RC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Agent Coordination V2 - ICoordinator Interface (Re-export)
3
+ *
4
+ * @deprecated Import from coordination/shared/interfaces/ICoordinator instead
5
+ * @module coordination/v2/interfaces/ICoordinator
6
+ */ // Re-export from shared location for backward compatibility
7
+ export * from '../../shared/interfaces/ICoordinator.js';
8
+
9
+ //# sourceMappingURL=ICoordinator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../src/coordination/archives/v2-sdk-typescript/v2/interfaces/ICoordinator.ts"],"names":[],"mappings":"AAAA;;;;;CAKC,GAED,4DAA4D;AAC5D,cAAc,0CAA0C"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Agent Coordination V2 - ISessionStore Interface
3
+ *
4
+ * Persistent storage interface for agent sessions and checkpoints.
5
+ * Enables state persistence across coordinator restarts.
6
+ *
7
+ * @module coordination/v2/interfaces/ISessionStore
8
+ */ /**
9
+ * ISessionStore - Persistent storage interface for agent sessions
10
+ *
11
+ * Implementations:
12
+ * - MemorySessionStore: In-memory storage (testing/development)
13
+ * - FilesystemSessionStore: Local filesystem with MessagePack compression
14
+ * - RedisSessionStore: Redis backend for distributed deployments
15
+ * - PostgreSQLSessionStore: PostgreSQL backend for production persistence
16
+ *
17
+ * Features:
18
+ * - Atomic read/write operations
19
+ * - Compression (60% reduction via MessagePack)
20
+ * - Auto-cleanup of old checkpoints
21
+ * - Query/filter capabilities
22
+ * - Integrity verification (checksums)
23
+ */ export { };
24
+
25
+ //# sourceMappingURL=ISessionStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../src/coordination/archives/v2-sdk-typescript/v2/interfaces/ISessionStore.ts"],"names":[],"mappings":"AAAA;;;;;;;CAOC,GAuJD;;;;;;;;;;;;;;;CAeC,GACD,WA0MC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Agent Coordination V2 - Interface Exports
3
+ *
4
+ * Unified coordinator interfaces enabling CLI/SDK/Hybrid mode switching.
5
+ *
6
+ * @module coordination/v2/interfaces
7
+ */ // Coordinator interface
8
+ export { ICoordinator, AgentSpawnConfig, Agent, Checkpoint, CoordinatorMetrics } from './ICoordinator.js';
9
+ // Session storage interface
10
+ export { ISessionStore, SessionStoreConfig, SessionStoreMetrics, SessionQueryFilter, CheckpointQueryFilter } from './ISessionStore.js';
11
+ // Artifact storage interface
12
+ export { IArtifactStorage, ArtifactMetadata, ArtifactStorageConfig, ArtifactStorageMetrics, ArtifactQueryFilter, ArtifactUploadOptions, ArtifactDownloadResult } from './IArtifactStorage.js';
13
+
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../src/coordination/archives/v2-sdk-typescript/v2/interfaces/index.ts"],"names":["ICoordinator","AgentSpawnConfig","Agent","Checkpoint","CoordinatorMetrics","ISessionStore","SessionStoreConfig","SessionStoreMetrics","SessionQueryFilter","CheckpointQueryFilter","IArtifactStorage","ArtifactMetadata","ArtifactStorageConfig","ArtifactStorageMetrics","ArtifactQueryFilter","ArtifactUploadOptions","ArtifactDownloadResult"],"mappings":"AAAA;;;;;;CAMC,GAED,wBAAwB;AACxB,SACEA,YAAY,EACZC,gBAAgB,EAChBC,KAAK,EACLC,UAAU,EACVC,kBAAkB,QACb,oBAAoB;AAE3B,4BAA4B;AAC5B,SACEC,aAAa,EACbC,kBAAkB,EAClBC,mBAAmB,EACnBC,kBAAkB,EAClBC,qBAAqB,QAChB,qBAAqB;AAE5B,6BAA6B;AAC7B,SACEC,gBAAgB,EAChBC,gBAAgB,EAChBC,qBAAqB,EACrBC,sBAAsB,EACtBC,mBAAmB,EACnBC,qBAAqB,EACrBC,sBAAsB,QACjB,wBAAwB"}
@@ -0,0 +1,308 @@
1
+ /**
2
+ * Agent Coordination V2 - Artifact Adapter for SwarmMemory Migration
3
+ *
4
+ * Provides migration layer from SwarmMemory JSON storage to artifact-backed storage.
5
+ * Enables gradual transition with dual-write strategy and fallback support.
6
+ *
7
+ * Features:
8
+ * - SwarmMemory to artifact storage migration
9
+ * - Dual-write during transition period
10
+ * - Fallback to JSON on artifact errors
11
+ * - Binary serialization with MessagePack
12
+ * - 3.7x faster than JSON baseline
13
+ *
14
+ * @module coordination/v2/memory/artifact-adapter
15
+ */ import { FilesystemArtifactStorage } from '../sdk/artifact-storage.js';
16
+ import { SwarmMemoryManager } from '../../../memory/swarm-memory.js';
17
+ import * as msgpack from 'msgpack-lite';
18
+ /**
19
+ * ArtifactAdapter - Migration layer for SwarmMemory to artifact storage
20
+ *
21
+ * Strategy:
22
+ * 1. Dual-write: Write to both SwarmMemory and artifacts during transition
23
+ * 2. Gradual migration: Migrate existing entries in batches
24
+ * 3. Fallback: Fall back to SwarmMemory on artifact errors
25
+ * 4. Performance: 3.7x faster than JSON baseline
26
+ */ export class ArtifactAdapter {
27
+ artifactStorage;
28
+ swarmMemory;
29
+ config;
30
+ migrationStats;
31
+ initialized = false;
32
+ constructor(artifactStorage, swarmMemory, config = {}){
33
+ this.config = {
34
+ enableDualWrite: config.enableDualWrite ?? true,
35
+ enableFallback: config.enableFallback ?? true,
36
+ storagePath: config.storagePath || '.claude-flow/artifact-migration',
37
+ enableCompression: config.enableCompression ?? true,
38
+ migrationBatchSize: config.migrationBatchSize || 100
39
+ };
40
+ this.artifactStorage = artifactStorage || new FilesystemArtifactStorage({
41
+ backend: 'filesystem',
42
+ path: `${this.config.storagePath}/artifacts`,
43
+ enableCompression: this.config.enableCompression,
44
+ enableVersioning: true,
45
+ maxVersions: 3
46
+ });
47
+ this.swarmMemory = swarmMemory;
48
+ this.migrationStats = {
49
+ totalEntries: 0,
50
+ migratedEntries: 0,
51
+ failedEntries: 0,
52
+ totalSizeMb: 0,
53
+ compressedSizeMb: 0,
54
+ compressionRatio: 0,
55
+ migrationTimeMs: 0,
56
+ averageEntryTimeMs: 0
57
+ };
58
+ }
59
+ /**
60
+ * Initialize adapter
61
+ */ async initialize() {
62
+ if (this.initialized) return;
63
+ await this.artifactStorage.initialize();
64
+ if (this.swarmMemory) {
65
+ await this.swarmMemory.initialize();
66
+ }
67
+ this.initialized = true;
68
+ console.log('✅ ArtifactAdapter initialized');
69
+ }
70
+ /**
71
+ * Migrate from SwarmMemory to artifact storage
72
+ * Converts JSON-based memory entries to binary artifacts
73
+ */ async migrateFromSwarmMemory(namespace = 'swarm') {
74
+ this.ensureInitialized();
75
+ if (!this.swarmMemory) {
76
+ throw new Error('SwarmMemory not configured. Cannot migrate.');
77
+ }
78
+ const startTime = performance.now();
79
+ console.log(`🔄 Starting migration from SwarmMemory namespace: ${namespace}`);
80
+ // Export all SwarmMemory entries
81
+ const exportData = await this.swarmMemory.exportMemory();
82
+ const entries = exportData.entries || [];
83
+ this.migrationStats.totalEntries = entries.length;
84
+ // Migrate in batches
85
+ const batchSize = this.config.migrationBatchSize;
86
+ for(let i = 0; i < entries.length; i += batchSize){
87
+ const batch = entries.slice(i, i + batchSize);
88
+ await this.migrateBatch(batch, namespace);
89
+ }
90
+ this.migrationStats.migrationTimeMs = performance.now() - startTime;
91
+ this.migrationStats.averageEntryTimeMs = this.migrationStats.migrationTimeMs / this.migrationStats.migratedEntries;
92
+ // Calculate compression ratio
93
+ if (this.migrationStats.totalSizeMb > 0) {
94
+ this.migrationStats.compressionRatio = 1 - this.migrationStats.compressedSizeMb / this.migrationStats.totalSizeMb;
95
+ }
96
+ console.log(`✅ Migration complete:`);
97
+ console.log(` - Total entries: ${this.migrationStats.totalEntries}`);
98
+ console.log(` - Migrated: ${this.migrationStats.migratedEntries}`);
99
+ console.log(` - Failed: ${this.migrationStats.failedEntries}`);
100
+ console.log(` - Compression ratio: ${(this.migrationStats.compressionRatio * 100).toFixed(1)}%`);
101
+ console.log(` - Time: ${this.migrationStats.migrationTimeMs.toFixed(0)}ms`);
102
+ console.log(` - Avg per entry: ${this.migrationStats.averageEntryTimeMs.toFixed(2)}ms`);
103
+ return {
104
+ ...this.migrationStats
105
+ };
106
+ }
107
+ /**
108
+ * Store artifact with dual-write strategy
109
+ */ async storeArtifact(key, data) {
110
+ this.ensureInitialized();
111
+ const [namespace, agentId, type] = this.parseKey(key);
112
+ try {
113
+ // Primary: Write to artifact storage
114
+ await this.artifactStorage.uploadArtifact(agentId, namespace, data, {
115
+ type: type || 'data',
116
+ filename: `${key.replace(/\//g, '-')}.bin`,
117
+ tags: [
118
+ namespace,
119
+ agentId,
120
+ type
121
+ ].filter(Boolean),
122
+ metadata: {
123
+ originalKey: key
124
+ }
125
+ });
126
+ // Dual-write: Also write to SwarmMemory if enabled
127
+ if (this.config.enableDualWrite && this.swarmMemory) {
128
+ try {
129
+ await this.swarmMemory.store(key, data);
130
+ } catch (error) {
131
+ console.warn(`Dual-write to SwarmMemory failed for ${key}:`, error);
132
+ }
133
+ }
134
+ } catch (error) {
135
+ // Fallback to SwarmMemory on artifact error
136
+ if (this.config.enableFallback && this.swarmMemory) {
137
+ console.warn(`Artifact storage failed for ${key}, falling back to SwarmMemory:`, error);
138
+ await this.swarmMemory.store(key, data);
139
+ } else {
140
+ throw error;
141
+ }
142
+ }
143
+ }
144
+ /**
145
+ * Retrieve artifact with fallback support
146
+ */ async retrieveArtifact(key) {
147
+ this.ensureInitialized();
148
+ const [namespace, agentId] = this.parseKey(key);
149
+ try {
150
+ // Primary: Read from artifact storage using metadata filter
151
+ const artifacts = await this.artifactStorage.queryArtifacts({
152
+ limit: 100,
153
+ sortBy: 'createdAt',
154
+ sortOrder: 'desc'
155
+ });
156
+ // Find artifact with matching key
157
+ const matchingArtifact = artifacts.find((a)=>a.metadata.originalKey === key);
158
+ if (matchingArtifact) {
159
+ const result = await this.artifactStorage.downloadArtifact(matchingArtifact.artifactId);
160
+ return result.content;
161
+ }
162
+ // Fallback to SwarmMemory if not found in artifacts
163
+ if (this.config.enableFallback && this.swarmMemory) {
164
+ console.warn(`Artifact not found for ${key}, falling back to SwarmMemory`);
165
+ const results = await this.swarmMemory.search(key, 1);
166
+ if (results.length > 0) {
167
+ // Return the actual data stored in SwarmMemory
168
+ const data = results[0];
169
+ if (Buffer.isBuffer(data)) {
170
+ return data;
171
+ }
172
+ return Buffer.from(JSON.stringify(data));
173
+ }
174
+ }
175
+ throw new Error(`Artifact not found: ${key}`);
176
+ } catch (error) {
177
+ // Final fallback to SwarmMemory
178
+ if (this.config.enableFallback && this.swarmMemory && error instanceof Error && error.message.includes('not found')) {
179
+ try {
180
+ const results = await this.swarmMemory.search(key, 1);
181
+ if (results.length > 0) {
182
+ const data = results[0];
183
+ if (Buffer.isBuffer(data)) {
184
+ return data;
185
+ }
186
+ return Buffer.from(JSON.stringify(data));
187
+ }
188
+ } catch (swarmError) {
189
+ // Both failed, throw original error
190
+ throw error;
191
+ }
192
+ }
193
+ throw error;
194
+ }
195
+ }
196
+ /**
197
+ * List artifacts matching pattern
198
+ */ async listArtifacts(pattern) {
199
+ this.ensureInitialized();
200
+ const artifacts = await this.artifactStorage.queryArtifacts({
201
+ limit: 1000,
202
+ sortBy: 'createdAt',
203
+ sortOrder: 'desc'
204
+ });
205
+ // Extract keys from metadata
206
+ const keys = artifacts.map((a)=>a.metadata.originalKey).filter(Boolean);
207
+ // Apply pattern matching if provided
208
+ if (pattern) {
209
+ const regex = new RegExp(pattern.replace(/\*/g, '.*'));
210
+ return keys.filter((key)=>regex.test(key));
211
+ }
212
+ return keys;
213
+ }
214
+ /**
215
+ * Get migration statistics
216
+ */ getStats() {
217
+ return {
218
+ ...this.migrationStats
219
+ };
220
+ }
221
+ /**
222
+ * Close connections
223
+ */ async close() {
224
+ await this.artifactStorage.close();
225
+ if (this.swarmMemory) {
226
+ await this.swarmMemory.shutdown();
227
+ }
228
+ this.initialized = false;
229
+ console.log('✅ ArtifactAdapter closed');
230
+ }
231
+ /**
232
+ * Check if adapter is ready
233
+ */ isReady() {
234
+ return this.initialized && this.artifactStorage.isReady();
235
+ }
236
+ // ===========================
237
+ // Private Helpers
238
+ // ===========================
239
+ ensureInitialized() {
240
+ if (!this.initialized) {
241
+ throw new Error('ArtifactAdapter not initialized. Call initialize() first.');
242
+ }
243
+ }
244
+ parseKey(key) {
245
+ const parts = key.split('/');
246
+ const namespace = parts[0] || 'default';
247
+ const agentId = parts[1] || 'system';
248
+ const type = parts[2] || 'data';
249
+ return [
250
+ namespace,
251
+ agentId,
252
+ type
253
+ ];
254
+ }
255
+ async migrateBatch(entries, namespace) {
256
+ for (const entry of entries){
257
+ try {
258
+ const entryStartTime = performance.now();
259
+ // Serialize entry with MessagePack
260
+ const content = Buffer.from(msgpack.encode(entry));
261
+ const uncompressedSize = Buffer.byteLength(JSON.stringify(entry));
262
+ // Upload to artifact storage
263
+ const metadata = await this.artifactStorage.uploadArtifact(entry.agentId, namespace, content, {
264
+ type: entry.type,
265
+ filename: `swarm-entry-${entry.id}.msgpack`,
266
+ tags: [
267
+ namespace,
268
+ entry.agentId,
269
+ entry.type,
270
+ ...entry.metadata.tags || []
271
+ ],
272
+ metadata: {
273
+ originalId: entry.id,
274
+ migrated: true,
275
+ migratedAt: new Date().toISOString(),
276
+ ...entry.metadata
277
+ }
278
+ });
279
+ // Update stats
280
+ this.migrationStats.migratedEntries++;
281
+ this.migrationStats.totalSizeMb += uncompressedSize / (1024 * 1024);
282
+ this.migrationStats.compressedSizeMb += metadata.sizeBytes / (1024 * 1024);
283
+ const entryTime = performance.now() - entryStartTime;
284
+ if (this.migrationStats.migratedEntries % 100 === 0) {
285
+ console.log(` Progress: ${this.migrationStats.migratedEntries}/${this.migrationStats.totalEntries} (${entryTime.toFixed(2)}ms/entry)`);
286
+ }
287
+ } catch (error) {
288
+ console.warn(`Failed to migrate entry ${entry.id}:`, error);
289
+ this.migrationStats.failedEntries++;
290
+ }
291
+ }
292
+ }
293
+ }
294
+ /**
295
+ * Utility: Create artifact adapter with SwarmMemory integration
296
+ */ export async function createArtifactAdapter(config = {}) {
297
+ const swarmMemory = new SwarmMemoryManager({
298
+ namespace: 'swarm',
299
+ enableDistribution: false,
300
+ enableReplication: false,
301
+ persistencePath: './swarm-memory'
302
+ });
303
+ const adapter = new ArtifactAdapter(undefined, swarmMemory, config);
304
+ await adapter.initialize();
305
+ return adapter;
306
+ }
307
+
308
+ //# sourceMappingURL=artifact-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../src/coordination/archives/v2-sdk-typescript/v2/memory/artifact-adapter.ts"],"names":["FilesystemArtifactStorage","SwarmMemoryManager","msgpack","ArtifactAdapter","artifactStorage","swarmMemory","config","migrationStats","initialized","enableDualWrite","enableFallback","storagePath","enableCompression","migrationBatchSize","backend","path","enableVersioning","maxVersions","totalEntries","migratedEntries","failedEntries","totalSizeMb","compressedSizeMb","compressionRatio","migrationTimeMs","averageEntryTimeMs","initialize","console","log","migrateFromSwarmMemory","namespace","ensureInitialized","Error","startTime","performance","now","exportData","exportMemory","entries","length","batchSize","i","batch","slice","migrateBatch","toFixed","storeArtifact","key","data","agentId","type","parseKey","uploadArtifact","filename","replace","tags","filter","Boolean","metadata","originalKey","store","error","warn","retrieveArtifact","artifacts","queryArtifacts","limit","sortBy","sortOrder","matchingArtifact","find","a","result","downloadArtifact","artifactId","content","results","search","Buffer","isBuffer","from","JSON","stringify","message","includes","swarmError","listArtifacts","pattern","keys","map","regex","RegExp","test","getStats","close","shutdown","isReady","parts","split","entry","entryStartTime","encode","uncompressedSize","byteLength","id","originalId","migrated","migratedAt","Date","toISOString","sizeBytes","entryTime","createArtifactAdapter","enableDistribution","enableReplication","persistencePath","adapter","undefined"],"mappings":"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"}