claude-flow-novice 1.6.1 → 1.6.3

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 (273) hide show
  1. package/.claude/agents/cfn-loop/product-owner.md +54 -4
  2. package/.claude/commands/cfn-claude-sync.md +303 -0
  3. package/.claude/commands/cfn-loop-epic.md +290 -0
  4. package/.claude/commands/cfn-loop-single.md +168 -0
  5. package/.claude/commands/cfn-loop-sprints.md +384 -0
  6. package/.claude/commands/cfn-loop.md +180 -0
  7. package/.claude/commands/metrics-summary.md +58 -0
  8. package/.claude/commands/parse-epic.md +357 -0
  9. package/.claude/settings.json +5 -4
  10. package/.claude/settings.local.json +9 -2
  11. package/.claude-flow-novice/.claude/agents/cfn-loop/product-owner.md +792 -0
  12. package/.claude-flow-novice/dist/mcp/server.js +21 -2
  13. package/.claude-flow-novice/dist/src/api/auth-service.js +84 -38
  14. package/.claude-flow-novice/dist/src/api/auth-service.js.map +1 -1
  15. package/.claude-flow-novice/dist/src/api/claude-client.js +138 -3
  16. package/.claude-flow-novice/dist/src/api/claude-client.js.map +1 -1
  17. package/.claude-flow-novice/dist/src/cfn-loop/phase-orchestrator-example.js +1 -1
  18. package/.claude-flow-novice/dist/src/cfn-loop/scope-control.js +247 -0
  19. package/.claude-flow-novice/dist/src/cfn-loop/scope-control.js.map +1 -0
  20. package/.claude-flow-novice/dist/src/cli/commands/swarm.js +32 -15
  21. package/.claude-flow-novice/dist/src/cli/commands/swarm.js.map +1 -1
  22. package/.claude-flow-novice/dist/src/cli/commands/transparency.js +455 -0
  23. package/.claude-flow-novice/dist/src/cli/commands/transparency.js.map +1 -0
  24. package/.claude-flow-novice/dist/src/cli/simple-commands/init/templates/CLAUDE.md +129 -13
  25. package/.claude-flow-novice/dist/src/components/visualizations/index.js +9 -0
  26. package/.claude-flow-novice/dist/src/components/visualizations/index.js.map +1 -0
  27. package/.claude-flow-novice/dist/src/coordination/adapters/v1-coordinator-adapter.js +462 -0
  28. package/.claude-flow-novice/dist/src/coordination/adapters/v1-coordinator-adapter.js.map +1 -0
  29. package/.claude-flow-novice/dist/src/coordination/config-translator.js +248 -0
  30. package/.claude-flow-novice/dist/src/coordination/config-translator.js.map +1 -0
  31. package/.claude-flow-novice/dist/src/coordination/coordination-toggle.js +287 -0
  32. package/.claude-flow-novice/dist/src/coordination/coordination-toggle.js.map +1 -0
  33. package/.claude-flow-novice/dist/src/coordination/distributed-consensus.js +68 -9
  34. package/.claude-flow-novice/dist/src/coordination/distributed-consensus.js.map +1 -1
  35. package/.claude-flow-novice/dist/src/coordination/feature-flags.js +166 -0
  36. package/.claude-flow-novice/dist/src/coordination/feature-flags.js.map +1 -0
  37. package/.claude-flow-novice/dist/src/coordination/queen-agent.js +18 -4
  38. package/.claude-flow-novice/dist/src/coordination/queen-agent.js.map +1 -1
  39. package/.claude-flow-novice/dist/src/coordination/role-assignment.js +6 -110
  40. package/.claude-flow-novice/dist/src/coordination/role-assignment.js.map +1 -1
  41. package/.claude-flow-novice/dist/src/coordination/v2/cache/artifact-cache-optimizer.js +632 -0
  42. package/.claude-flow-novice/dist/src/coordination/v2/cache/artifact-cache-optimizer.js.map +1 -0
  43. package/.claude-flow-novice/dist/src/coordination/v2/cache/index.js +11 -0
  44. package/.claude-flow-novice/dist/src/coordination/v2/cache/index.js.map +1 -0
  45. package/.claude-flow-novice/dist/src/coordination/v2/checkpoints/checkpoint-compressor.js +318 -0
  46. package/.claude-flow-novice/dist/src/coordination/v2/checkpoints/checkpoint-compressor.js.map +1 -0
  47. package/.claude-flow-novice/dist/src/coordination/v2/coordinators/cascading-shutdown.example.js +364 -0
  48. package/.claude-flow-novice/dist/src/coordination/v2/coordinators/cascading-shutdown.example.js.map +1 -0
  49. package/.claude-flow-novice/dist/src/coordination/v2/coordinators/cascading-shutdown.js +492 -0
  50. package/.claude-flow-novice/dist/src/coordination/v2/coordinators/cascading-shutdown.js.map +1 -0
  51. package/.claude-flow-novice/dist/src/coordination/v2/coordinators/hierarchical-coordinator.js +786 -0
  52. package/.claude-flow-novice/dist/src/coordination/v2/coordinators/hierarchical-coordinator.js.map +1 -0
  53. package/.claude-flow-novice/dist/src/coordination/v2/coordinators/index.js +16 -0
  54. package/.claude-flow-novice/dist/src/coordination/v2/coordinators/index.js.map +1 -0
  55. package/.claude-flow-novice/dist/src/coordination/v2/coordinators/parent-child-manager.js +342 -0
  56. package/.claude-flow-novice/dist/src/coordination/v2/coordinators/parent-child-manager.js.map +1 -0
  57. package/.claude-flow-novice/dist/src/coordination/v2/coordinators/swarm-coordinator-v2.js +601 -0
  58. package/.claude-flow-novice/dist/src/coordination/v2/coordinators/swarm-coordinator-v2.js.map +1 -0
  59. package/.claude-flow-novice/dist/src/coordination/v2/core/help-request-metrics.js +211 -0
  60. package/.claude-flow-novice/dist/src/coordination/v2/core/help-request-metrics.js.map +1 -0
  61. package/.claude-flow-novice/dist/src/coordination/v2/core/index.js +1 -0
  62. package/.claude-flow-novice/dist/src/coordination/v2/core/index.js.map +1 -1
  63. package/.claude-flow-novice/dist/src/coordination/v2/core/message-broker.js +365 -6
  64. package/.claude-flow-novice/dist/src/coordination/v2/core/message-broker.js.map +1 -1
  65. package/.claude-flow-novice/dist/src/coordination/v2/core/resource-manager-safe.js +478 -0
  66. package/.claude-flow-novice/dist/src/coordination/v2/core/resource-manager-safe.js.map +1 -0
  67. package/.claude-flow-novice/dist/src/coordination/v2/core/state-machine-config.js +5 -2
  68. package/.claude-flow-novice/dist/src/coordination/v2/core/state-machine-config.js.map +1 -1
  69. package/.claude-flow-novice/dist/src/coordination/v2/core/state-machine.js +189 -0
  70. package/.claude-flow-novice/dist/src/coordination/v2/core/state-machine.js.map +1 -1
  71. package/.claude-flow-novice/dist/src/coordination/v2/deadlock/deadlock-detector.js +424 -0
  72. package/.claude-flow-novice/dist/src/coordination/v2/deadlock/deadlock-detector.js.map +1 -0
  73. package/.claude-flow-novice/dist/src/coordination/v2/deadlock/index.js +9 -0
  74. package/.claude-flow-novice/dist/src/coordination/v2/deadlock/index.js.map +1 -0
  75. package/.claude-flow-novice/dist/src/coordination/v2/deadlock/resource-manager.js +669 -0
  76. package/.claude-flow-novice/dist/src/coordination/v2/deadlock/resource-manager.js.map +1 -0
  77. package/.claude-flow-novice/dist/src/coordination/v2/dependency/artifact-storage.js +451 -0
  78. package/.claude-flow-novice/dist/src/coordination/v2/dependency/artifact-storage.js.map +1 -0
  79. package/.claude-flow-novice/dist/src/coordination/v2/dependency/cycle-detector.js +271 -0
  80. package/.claude-flow-novice/dist/src/coordination/v2/dependency/cycle-detector.js.map +1 -0
  81. package/.claude-flow-novice/dist/src/coordination/v2/dependency/dependency-graph.js +335 -0
  82. package/.claude-flow-novice/dist/src/coordination/v2/dependency/dependency-graph.js.map +1 -0
  83. package/.claude-flow-novice/dist/src/coordination/v2/dependency/dependency-manager.js +439 -0
  84. package/.claude-flow-novice/dist/src/coordination/v2/dependency/dependency-manager.js.map +1 -0
  85. package/.claude-flow-novice/dist/src/coordination/v2/dependency/dependency-request.js +92 -0
  86. package/.claude-flow-novice/dist/src/coordination/v2/dependency/dependency-request.js.map +1 -0
  87. package/.claude-flow-novice/dist/src/coordination/v2/dependency/index.js +21 -0
  88. package/.claude-flow-novice/dist/src/coordination/v2/dependency/index.js.map +1 -0
  89. package/.claude-flow-novice/dist/src/coordination/v2/dependency/topological-sort.js +223 -0
  90. package/.claude-flow-novice/dist/src/coordination/v2/dependency/topological-sort.js.map +1 -0
  91. package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-coordinator.js +436 -0
  92. package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-coordinator.js.map +1 -0
  93. package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-matcher.js +278 -0
  94. package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-matcher.js.map +1 -0
  95. package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-request-handler.js +317 -0
  96. package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-request-handler.js.map +1 -0
  97. package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-request.js +273 -0
  98. package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-request.js.map +1 -0
  99. package/.claude-flow-novice/dist/src/coordination/v2/help-system/index.js +15 -0
  100. package/.claude-flow-novice/dist/src/coordination/v2/help-system/index.js.map +1 -0
  101. package/.claude-flow-novice/dist/src/coordination/v2/help-system/waiting-agent-pool.js +512 -0
  102. package/.claude-flow-novice/dist/src/coordination/v2/help-system/waiting-agent-pool.js.map +1 -0
  103. package/.claude-flow-novice/dist/src/coordination/v2/index.js +6 -0
  104. package/.claude-flow-novice/dist/src/coordination/v2/index.js.map +1 -1
  105. package/.claude-flow-novice/dist/src/coordination/v2/integration/help-deadlock-integration.js +557 -0
  106. package/.claude-flow-novice/dist/src/coordination/v2/integration/help-deadlock-integration.js.map +1 -0
  107. package/.claude-flow-novice/dist/src/coordination/v2/integration/index.js +14 -0
  108. package/.claude-flow-novice/dist/src/coordination/v2/integration/index.js.map +1 -0
  109. package/.claude-flow-novice/dist/src/coordination/v2/integration/message-bus-completion-integration.example.js +212 -0
  110. package/.claude-flow-novice/dist/src/coordination/v2/integration/message-bus-completion-integration.example.js.map +1 -0
  111. package/.claude-flow-novice/dist/src/coordination/v2/integration/message-bus-completion-integration.js +552 -0
  112. package/.claude-flow-novice/dist/src/coordination/v2/integration/message-bus-completion-integration.js.map +1 -0
  113. package/.claude-flow-novice/dist/src/coordination/v2/memory/dependency-storage.js +367 -0
  114. package/.claude-flow-novice/dist/src/coordination/v2/memory/dependency-storage.js.map +1 -0
  115. package/.claude-flow-novice/dist/src/coordination/v2/memory/index.js +1 -0
  116. package/.claude-flow-novice/dist/src/coordination/v2/memory/index.js.map +1 -1
  117. package/.claude-flow-novice/dist/src/coordination/v2/messaging/channel.js +371 -0
  118. package/.claude-flow-novice/dist/src/coordination/v2/messaging/channel.js.map +1 -0
  119. package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/dependency-channel.js +355 -0
  120. package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/dependency-channel.js.map +1 -0
  121. package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/help-channel.js +424 -0
  122. package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/help-channel.js.map +1 -0
  123. package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/index.js +16 -0
  124. package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/index.js.map +1 -0
  125. package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/state-channel.js +295 -0
  126. package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/state-channel.js.map +1 -0
  127. package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/task-channel.js +411 -0
  128. package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/task-channel.js.map +1 -0
  129. package/.claude-flow-novice/dist/src/coordination/v2/messaging/index.js +14 -0
  130. package/.claude-flow-novice/dist/src/coordination/v2/messaging/index.js.map +1 -0
  131. package/.claude-flow-novice/dist/src/coordination/v2/messaging/message-bus.js +387 -0
  132. package/.claude-flow-novice/dist/src/coordination/v2/messaging/message-bus.js.map +1 -0
  133. package/.claude-flow-novice/dist/src/coordination/v2/messaging/message-persistence.js +589 -0
  134. package/.claude-flow-novice/dist/src/coordination/v2/messaging/message-persistence.js.map +1 -0
  135. package/.claude-flow-novice/dist/src/coordination/v2/messaging/message-router.js +444 -0
  136. package/.claude-flow-novice/dist/src/coordination/v2/messaging/message-router.js.map +1 -0
  137. package/.claude-flow-novice/dist/src/coordination/v2/sdk/checkpoint-manager.js +29 -8
  138. package/.claude-flow-novice/dist/src/coordination/v2/sdk/checkpoint-manager.js.map +1 -1
  139. package/.claude-flow-novice/dist/src/coordination/v2/sdk/help-coordinator.js +470 -0
  140. package/.claude-flow-novice/dist/src/coordination/v2/sdk/help-coordinator.js.map +1 -0
  141. package/.claude-flow-novice/dist/src/coordination/v2/sdk/hierarchical-background-integration.js +450 -0
  142. package/.claude-flow-novice/dist/src/coordination/v2/sdk/hierarchical-background-integration.js.map +1 -0
  143. package/.claude-flow-novice/dist/src/coordination/v2/sdk/index.js +5 -0
  144. package/.claude-flow-novice/dist/src/coordination/v2/sdk/index.js.map +1 -1
  145. package/.claude-flow-novice/dist/src/coordination/v2/sdk/multi-level-control.js +545 -0
  146. package/.claude-flow-novice/dist/src/coordination/v2/sdk/multi-level-control.js.map +1 -0
  147. package/.claude-flow-novice/dist/src/coordination/v2/sdk/query-controller.js +44 -0
  148. package/.claude-flow-novice/dist/src/coordination/v2/sdk/query-controller.js.map +1 -1
  149. package/.claude-flow-novice/dist/src/coordination/v2/sdk/query-message-integration.js +415 -0
  150. package/.claude-flow-novice/dist/src/coordination/v2/sdk/query-message-integration.js.map +1 -0
  151. package/.claude-flow-novice/dist/src/coordination/v2/sdk/session-pool-optimizer.js +615 -0
  152. package/.claude-flow-novice/dist/src/coordination/v2/sdk/session-pool-optimizer.js.map +1 -0
  153. package/.claude-flow-novice/dist/src/coordination/v2/security/payload-validator.js +259 -0
  154. package/.claude-flow-novice/dist/src/coordination/v2/security/payload-validator.js.map +1 -0
  155. package/.claude-flow-novice/dist/src/coordination/v2/transparency/index.js +17 -0
  156. package/.claude-flow-novice/dist/src/coordination/v2/transparency/index.js.map +1 -0
  157. package/.claude-flow-novice/dist/src/coordination/v2/transparency/transparency-integration.js +357 -0
  158. package/.claude-flow-novice/dist/src/coordination/v2/transparency/transparency-integration.js.map +1 -0
  159. package/.claude-flow-novice/dist/src/coordination/v2/transparency/transparency-system.js +679 -0
  160. package/.claude-flow-novice/dist/src/coordination/v2/transparency/transparency-system.js.map +1 -0
  161. package/.claude-flow-novice/dist/src/core/agent-manager.js +30 -0
  162. package/.claude-flow-novice/dist/src/core/agent-manager.js.map +1 -1
  163. package/.claude-flow-novice/dist/src/mcp/server.js +21 -2
  164. package/.claude-flow-novice/dist/src/mcp/server.js.map +1 -1
  165. package/.claude-flow-novice/dist/src/monitoring/apm/apm-integration.js +719 -0
  166. package/.claude-flow-novice/dist/src/monitoring/apm/apm-integration.js.map +1 -0
  167. package/.claude-flow-novice/dist/src/monitoring/apm/datadog-collector.js +363 -0
  168. package/.claude-flow-novice/dist/src/monitoring/apm/datadog-collector.js.map +1 -0
  169. package/.claude-flow-novice/dist/src/monitoring/apm/index.js +97 -0
  170. package/.claude-flow-novice/dist/src/monitoring/apm/index.js.map +1 -0
  171. package/.claude-flow-novice/dist/src/monitoring/apm/newrelic-collector.js +384 -0
  172. package/.claude-flow-novice/dist/src/monitoring/apm/newrelic-collector.js.map +1 -0
  173. package/.claude-flow-novice/dist/src/monitoring/apm/performance-optimizer.js +612 -0
  174. package/.claude-flow-novice/dist/src/monitoring/apm/performance-optimizer.js.map +1 -0
  175. package/.claude-flow-novice/dist/src/monitoring/metrics-collector.js +282 -0
  176. package/.claude-flow-novice/dist/src/monitoring/metrics-collector.js.map +1 -0
  177. package/.claude-flow-novice/dist/src/observability/metrics-counter.js +268 -0
  178. package/.claude-flow-novice/dist/src/observability/metrics-counter.js.map +1 -0
  179. package/.claude-flow-novice/dist/src/observability/metrics-storage.js +265 -0
  180. package/.claude-flow-novice/dist/src/observability/metrics-storage.js.map +1 -0
  181. package/.claude-flow-novice/dist/src/observability/telemetry.js +26 -0
  182. package/.claude-flow-novice/dist/src/observability/telemetry.js.map +1 -1
  183. package/.claude-flow-novice/dist/src/providers/tiered-router.js +64 -10
  184. package/.claude-flow-novice/dist/src/providers/tiered-router.js.map +1 -1
  185. package/.claude-flow-novice/dist/src/providers/zai-provider.js +196 -97
  186. package/.claude-flow-novice/dist/src/providers/zai-provider.js.map +1 -1
  187. package/.claude-flow-novice/dist/src/slash-commands/cfn-claude-sync.js +533 -0
  188. package/.claude-flow-novice/dist/src/slash-commands/index.js +5 -0
  189. package/.claude-flow-novice/dist/src/slash-commands/metrics-summary-class.js +74 -0
  190. package/.claude-flow-novice/dist/src/slash-commands/metrics-summary.js +335 -0
  191. package/.claude-flow-novice/dist/src/slash-commands/register-all-commands.js +12 -0
  192. package/.claude-flow-novice/dist/src/verification/checkpoint-compression-demo.js +96 -0
  193. package/.claude-flow-novice/dist/src/verification/checkpoint-compression-demo.js.map +1 -0
  194. package/.claude-flow-novice/dist/src/verification/checkpoint-compression.js +406 -0
  195. package/.claude-flow-novice/dist/src/verification/checkpoint-compression.js.map +1 -0
  196. package/.claude-flow-novice/dist/src/verification/checkpoint-manager.js +35 -5
  197. package/.claude-flow-novice/dist/src/verification/checkpoint-manager.js.map +1 -1
  198. package/.claude-flow-novice/dist/src/web/api/apm-routes.js +355 -0
  199. package/.claude-flow-novice/dist/src/web/api/apm-routes.js.map +1 -0
  200. package/.claude-flow-novice/dist/src/web/api/config/api-config.js +186 -0
  201. package/.claude-flow-novice/dist/src/web/api/config/api-config.js.map +1 -0
  202. package/.claude-flow-novice/dist/src/web/api/middleware/auth.js +205 -0
  203. package/.claude-flow-novice/dist/src/web/api/middleware/auth.js.map +1 -0
  204. package/.claude-flow-novice/dist/src/web/api/middleware/cache.js +262 -0
  205. package/.claude-flow-novice/dist/src/web/api/middleware/cache.js.map +1 -0
  206. package/.claude-flow-novice/dist/src/web/api/middleware/error-handler.js +250 -0
  207. package/.claude-flow-novice/dist/src/web/api/middleware/error-handler.js.map +1 -0
  208. package/.claude-flow-novice/dist/src/web/api/middleware/request-logger.js +217 -0
  209. package/.claude-flow-novice/dist/src/web/api/middleware/request-logger.js.map +1 -0
  210. package/.claude-flow-novice/dist/src/web/api/middleware/validation.js +325 -0
  211. package/.claude-flow-novice/dist/src/web/api/middleware/validation.js.map +1 -0
  212. package/.claude-flow-novice/dist/src/web/api/routes/events.js +465 -0
  213. package/.claude-flow-novice/dist/src/web/api/routes/events.js.map +1 -0
  214. package/.claude-flow-novice/dist/src/web/api/routes/hierarchy.js +302 -0
  215. package/.claude-flow-novice/dist/src/web/api/routes/hierarchy.js.map +1 -0
  216. package/.claude-flow-novice/dist/src/web/api/routes/index.js +14 -0
  217. package/.claude-flow-novice/dist/src/web/api/routes/index.js.map +1 -0
  218. package/.claude-flow-novice/dist/src/web/api/routes/metrics.js +561 -0
  219. package/.claude-flow-novice/dist/src/web/api/routes/metrics.js.map +1 -0
  220. package/.claude-flow-novice/dist/src/web/api/routes/status.js +450 -0
  221. package/.claude-flow-novice/dist/src/web/api/routes/status.js.map +1 -0
  222. package/.claude-flow-novice/dist/src/web/api/server.js +451 -0
  223. package/.claude-flow-novice/dist/src/web/api/server.js.map +1 -0
  224. package/.claude-flow-novice/dist/src/web/dashboard/hooks/useWebSocket.js +385 -0
  225. package/.claude-flow-novice/dist/src/web/dashboard/hooks/useWebSocket.js.map +1 -0
  226. package/.claude-flow-novice/dist/src/web/dashboard/index.js +87 -0
  227. package/.claude-flow-novice/dist/src/web/dashboard/index.js.map +1 -0
  228. package/.claude-flow-novice/dist/src/web/dashboard/types.js +6 -0
  229. package/.claude-flow-novice/dist/src/web/dashboard/types.js.map +1 -0
  230. package/.claude-flow-novice/dist/src/web/frontend/src/utils/security.js +425 -0
  231. package/.claude-flow-novice/dist/src/web/frontend/src/utils/security.js.map +1 -0
  232. package/.claude-flow-novice/dist/src/web/security/security-middleware.js +379 -0
  233. package/.claude-flow-novice/dist/src/web/security/security-middleware.js.map +1 -0
  234. package/.claude-flow-novice/dist/src/web/websocket/apm-websocket-handler.js +441 -0
  235. package/.claude-flow-novice/dist/src/web/websocket/apm-websocket-handler.js.map +1 -0
  236. package/.claude-flow-novice/dist/src/web/websocket/websocket-manager.js +255 -1
  237. package/.claude-flow-novice/dist/src/web/websocket/websocket-manager.js.map +1 -1
  238. package/.claude-flow-novice/metrics.db +0 -0
  239. package/.claude-flow-novice/metrics.db-shm +0 -0
  240. package/.claude-flow-novice/metrics.db-wal +0 -0
  241. package/AGENT_PERFORMANCE_GUIDELINES.md +88 -0
  242. package/CLAUDE.md +60 -3
  243. package/MEMORY_LEAK_ROOT_CAUSE.md +149 -0
  244. package/README.md +27 -0
  245. package/config/hooks/post-edit-pipeline.js +36 -2
  246. package/examples/metrics-counter-demo.ts +106 -0
  247. package/examples/persistent-metrics-demo.ts +83 -0
  248. package/examples/phase-5-multi-level-control.ts +282 -0
  249. package/examples/session-pool-optimizer-example.ts +311 -0
  250. package/package.json +18 -4
  251. package/scripts/check-routing-stats.cjs +122 -0
  252. package/scripts/monitor-loop.sh +65 -0
  253. package/scripts/monitor-memory.sh +47 -0
  254. package/scripts/monitor.py +43 -0
  255. package/scripts/pre-publish-validation.cjs +212 -0
  256. package/scripts/test-provider-routing.cjs +228 -0
  257. package/scripts/test-routing-telemetry.cjs +147 -0
  258. package/scripts/test-zai-10k.cjs +81 -0
  259. package/scripts/test-zai-api.cjs +191 -0
  260. package/scripts/test-zai-diagnostic.cjs +151 -0
  261. package/scripts/test-zai-final.cjs +128 -0
  262. package/scripts/test-zai-with-env.cjs +85 -0
  263. package/scripts/validate-coordination-cli.js +69 -0
  264. package/scripts/validate-coordination-toggle-integration.cjs +501 -0
  265. package/src/cli/simple-commands/init/templates/CLAUDE.md +29 -0
  266. package/src/observability/metrics-counter.ts +347 -0
  267. package/src/observability/metrics-storage.ts +356 -0
  268. package/src/observability/telemetry.ts +658 -0
  269. package/src/slash-commands/cfn-claude-sync.js +533 -0
  270. package/src/slash-commands/index.js +5 -0
  271. package/src/slash-commands/metrics-summary-class.js +74 -0
  272. package/src/slash-commands/metrics-summary.js +335 -0
  273. package/src/slash-commands/register-all-commands.js +12 -0
@@ -13,6 +13,7 @@ import { createSwarmTools } from './swarm-tools.js';
13
13
  import { createRuvSwarmTools, isRuvSwarmAvailable, initializeRuvSwarmIntegration } from './ruv-swarm-tools.js';
14
14
  import { platform, arch } from 'node:os';
15
15
  import { performance } from 'node:perf_hooks';
16
+ import { incrementMetric, recordTiming } from '../observability/metrics-counter.js';
16
17
  /**
17
18
  * MCP server implementation
18
19
  */ export class MCPServer {
@@ -209,6 +210,12 @@ import { performance } from 'node:perf_hooks';
209
210
  }
210
211
  }
211
212
  async handleRequest(request) {
213
+ const startTime = Date.now();
214
+ // Track incoming request
215
+ incrementMetric('api.request.received', 1, {
216
+ endpoint: request.method,
217
+ clientId: this.currentSession?.id || 'unknown'
218
+ });
212
219
  this.logger.debug('Handling MCP request', {
213
220
  id: request.id,
214
221
  method: request.method
@@ -257,13 +264,25 @@ import { performance } from 'node:perf_hooks';
257
264
  id: request.id,
258
265
  result
259
266
  };
260
- // Record success
267
+ // Record success metrics
268
+ recordTiming('api.request.duration', Date.now() - startTime, {
269
+ endpoint: request.method,
270
+ status: 'success'
271
+ });
261
272
  if (requestMetrics) {
262
273
  this.loadBalancer?.recordRequestEnd(requestMetrics, response);
263
274
  }
264
275
  return response;
265
276
  } catch (error) {
266
- // Record failure
277
+ // Record failure metrics
278
+ recordTiming('api.request.duration', Date.now() - startTime, {
279
+ endpoint: request.method,
280
+ status: 'error'
281
+ });
282
+ incrementMetric('api.error.count', 1, {
283
+ errorType: error instanceof Error ? error.name : 'Unknown',
284
+ endpoint: request.method
285
+ });
267
286
  if (requestMetrics) {
268
287
  this.loadBalancer?.recordRequestEnd(requestMetrics, undefined, error);
269
288
  }
@@ -67,7 +67,12 @@ const ROLE_PERMISSIONS = {
67
67
  constructor(config, logger){
68
68
  this.config = config;
69
69
  this.logger = logger;
70
- this.initializeDefaultUsers();
70
+ // Initialize asynchronously to avoid blocking constructor
71
+ this.initializeDefaultUsers().catch((error)=>{
72
+ this.logger.error('Failed to initialize default users', {
73
+ error
74
+ });
75
+ });
71
76
  }
72
77
  /**
73
78
  * Authenticate user with email and password
@@ -328,6 +333,33 @@ const ROLE_PERMISSIONS = {
328
333
  */ listUsers() {
329
334
  return Array.from(this.users.values());
330
335
  }
336
+ /**
337
+ * Check if first-time admin setup is required
338
+ */ isFirstTimeSetupRequired() {
339
+ const adminUsers = Array.from(this.users.values()).filter((u)=>u.role === 'admin' && u.isActive);
340
+ return adminUsers.length === 0;
341
+ }
342
+ /**
343
+ * Complete first-time setup by creating initial admin user
344
+ */ async completeFirstTimeSetup(userData) {
345
+ if (!this.isFirstTimeSetupRequired()) {
346
+ throw new AuthenticationError('First-time setup already completed');
347
+ }
348
+ const adminUser = await this.createUser({
349
+ email: userData.email,
350
+ password: userData.password,
351
+ role: 'admin',
352
+ isActive: true
353
+ });
354
+ this.logger.info('First-time setup completed', {
355
+ adminEmail: adminUser.email,
356
+ adminId: adminUser.id
357
+ });
358
+ return {
359
+ user: adminUser,
360
+ needsSetup: false
361
+ };
362
+ }
331
363
  // Private helper methods
332
364
  async checkRateLimit(email) {
333
365
  const attempts = this.loginAttempts.get(email);
@@ -431,43 +463,57 @@ const ROLE_PERMISSIONS = {
431
463
  const bufferB = Buffer.from(b, 'hex');
432
464
  return timingSafeEqual(bufferA, bufferB);
433
465
  }
434
- initializeDefaultUsers() {
435
- // Create default admin user
436
- const adminId = 'admin_default';
437
- const adminUser = {
438
- id: adminId,
439
- email: 'admin@claude-flow.local',
440
- passwordHash: createHash('sha256').update('admin123' + 'salt').digest('hex'),
441
- role: 'admin',
442
- permissions: ROLE_PERMISSIONS.admin,
443
- apiKeys: [],
444
- isActive: true,
445
- loginAttempts: 0,
446
- mfaEnabled: false,
447
- createdAt: new Date(),
448
- updatedAt: new Date()
449
- };
450
- this.users.set(adminId, adminUser);
451
- // Create default service user
452
- const serviceId = 'service_default';
453
- const serviceUser = {
454
- id: serviceId,
455
- email: 'service@claude-flow.local',
456
- passwordHash: createHash('sha256').update('service123' + 'salt').digest('hex'),
457
- role: 'service',
458
- permissions: ROLE_PERMISSIONS.service,
459
- apiKeys: [],
460
- isActive: true,
461
- loginAttempts: 0,
462
- mfaEnabled: false,
463
- createdAt: new Date(),
464
- updatedAt: new Date()
465
- };
466
- this.users.set(serviceId, serviceUser);
467
- this.logger.info('Default users initialized', {
468
- admin: adminUser.email,
469
- service: serviceUser.email
470
- });
466
+ async initializeDefaultUsers() {
467
+ // Check if first-time setup is needed
468
+ const adminUser = Array.from(this.users.values()).find((u)=>u.role === 'admin');
469
+ if (!adminUser) {
470
+ // Check for environment-based admin configuration
471
+ const adminEmail = process.env.ADMIN_EMAIL;
472
+ const adminPassword = process.env.ADMIN_PASSWORD;
473
+ if (adminEmail && adminPassword) {
474
+ // Create admin from environment variables
475
+ const adminId = 'admin_env';
476
+ const passwordHash = createHash('sha256').update(adminPassword + 'salt').digest('hex');
477
+ const envAdminUser = {
478
+ id: adminId,
479
+ email: adminEmail,
480
+ passwordHash,
481
+ role: 'admin',
482
+ permissions: ROLE_PERMISSIONS.admin,
483
+ apiKeys: [],
484
+ isActive: true,
485
+ loginAttempts: 0,
486
+ mfaEnabled: false,
487
+ createdAt: new Date(),
488
+ updatedAt: new Date()
489
+ };
490
+ this.users.set(adminId, envAdminUser);
491
+ this.logger.info('Admin user created from environment', {
492
+ email: adminEmail
493
+ });
494
+ } else {
495
+ // Create temporary service user only
496
+ const serviceId = 'service_default';
497
+ const serviceUser = {
498
+ id: serviceId,
499
+ email: 'service@claude-flow.local',
500
+ passwordHash: createHash('sha256').update('service123' + 'salt').digest('hex'),
501
+ role: 'service',
502
+ permissions: ROLE_PERMISSIONS.service,
503
+ apiKeys: [],
504
+ isActive: true,
505
+ loginAttempts: 0,
506
+ mfaEnabled: false,
507
+ createdAt: new Date(),
508
+ updatedAt: new Date()
509
+ };
510
+ this.users.set(serviceId, serviceUser);
511
+ this.logger.warn('No admin user configured. First-time setup required.', {
512
+ setupRequired: true,
513
+ serviceAccount: serviceUser.email
514
+ });
515
+ }
516
+ }
471
517
  }
472
518
  }
473
519
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/api/auth-service.ts"],"names":["AuthenticationError","nanoid","createHash","createHmac","timingSafeEqual","ROLE_PERMISSIONS","admin","operator","developer","viewer","service","AuthService","users","Map","sessions","apiKeys","loginAttempts","config","logger","initializeDefaultUsers","authenticateUser","email","password","clientInfo","checkRateLimit","user","Array","from","values","find","u","recordFailedLogin","lockedUntil","Date","isActive","isValid","verifyPassword","passwordHash","delete","undefined","lastLogin","session","createSession","id","token","generateJWT","info","userId","sessionId","error","Error","message","authenticateApiKey","apiKey","keyHash","hashApiKey","storedKey","k","constantTimeCompare","expiresAt","lastUsed","some","keyId","keyName","name","key","verifyJWT","payload","decodeJWT","get","updatedAt","hasPermission","userOrPermissions","requiredPermission","permissions","isArray","includes","createUser","userData","existingUser","now","hashPassword","role","mfaEnabled","createdAt","set","createApiKey","keyData","generateApiKey","substring","push","revokeApiKey","filter","invalidateSession","cleanupSessions","cleaned","count","getUser","listUsers","attempts","maxAttempts","maxLoginAttempts","lockoutDuration","timeSinceLastAttempt","lastAttempt","getTime","sessionTimeout","iat","Math","floor","exp","header","alg","typ","encodedHeader","Buffer","JSON","stringify","toString","encodedPayload","signature","jwtSecret","update","digest","parts","split","length","expectedSignature","parse","apiKeyLength","hash","a","b","bufferA","bufferB","adminId","adminUser","serviceId","serviceUser"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/api/auth-service.ts"],"names":["AuthenticationError","nanoid","createHash","createHmac","timingSafeEqual","ROLE_PERMISSIONS","admin","operator","developer","viewer","service","AuthService","users","Map","sessions","apiKeys","loginAttempts","config","logger","initializeDefaultUsers","catch","error","authenticateUser","email","password","clientInfo","checkRateLimit","user","Array","from","values","find","u","recordFailedLogin","lockedUntil","Date","isActive","isValid","verifyPassword","passwordHash","delete","undefined","lastLogin","session","createSession","id","token","generateJWT","info","userId","sessionId","Error","message","authenticateApiKey","apiKey","keyHash","hashApiKey","storedKey","k","constantTimeCompare","expiresAt","lastUsed","some","keyId","keyName","name","key","verifyJWT","payload","decodeJWT","get","updatedAt","hasPermission","userOrPermissions","requiredPermission","permissions","isArray","includes","createUser","userData","existingUser","now","hashPassword","role","mfaEnabled","createdAt","set","createApiKey","keyData","generateApiKey","substring","push","revokeApiKey","filter","invalidateSession","cleanupSessions","cleaned","count","getUser","listUsers","isFirstTimeSetupRequired","adminUsers","length","completeFirstTimeSetup","adminUser","adminEmail","adminId","needsSetup","attempts","maxAttempts","maxLoginAttempts","lockoutDuration","timeSinceLastAttempt","lastAttempt","getTime","sessionTimeout","iat","Math","floor","exp","header","alg","typ","encodedHeader","Buffer","JSON","stringify","toString","encodedPayload","signature","jwtSecret","update","digest","parts","split","expectedSignature","parse","apiKeyLength","hash","a","b","bufferA","bufferB","process","env","ADMIN_EMAIL","adminPassword","ADMIN_PASSWORD","envAdminUser","serviceId","serviceUser","warn","setupRequired","serviceAccount"],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  */ import { EventEmitter } from 'events';
5
5
  import { ClaudeAPIError, ClaudeInternalServerError, ClaudeServiceUnavailableError, ClaudeRateLimitError, ClaudeTimeoutError, ClaudeNetworkError, ClaudeAuthenticationError, ClaudeValidationError, getUserFriendlyError } from './claude-api-errors.js';
6
6
  import { circuitBreaker } from '../utils/helpers.js';
7
+ import { incrementMetric, recordTiming } from '../observability/metrics-counter.js';
7
8
  export class ClaudeAPIClient extends EventEmitter {
8
9
  config;
9
10
  logger;
@@ -154,6 +155,16 @@ export class ClaudeAPIClient extends EventEmitter {
154
155
  /**
155
156
  * Send a non-streaming request
156
157
  */ async sendRequest(request) {
158
+ const startTime = Date.now();
159
+ const model = request.model || 'unknown';
160
+ // Detect provider from apiUrl (z.ai vs anthropic)
161
+ const provider = this.config.apiUrl?.includes('z.ai') ? 'z.ai' : 'anthropic';
162
+ // Track API request
163
+ incrementMetric('claude.api.request', 1, {
164
+ model,
165
+ provider,
166
+ stream: 'false'
167
+ });
157
168
  let lastError;
158
169
  for(let attempt = 0; attempt < (this.config.retryAttempts || 3); attempt++){
159
170
  try {
@@ -183,6 +194,24 @@ export class ClaudeAPIClient extends EventEmitter {
183
194
  throw this.createAPIError(response.status, errorData);
184
195
  }
185
196
  const data = await response.json();
197
+ // Track successful response timing
198
+ recordTiming('claude.api.duration', Date.now() - startTime, {
199
+ model,
200
+ status: 'success',
201
+ stream: 'false'
202
+ });
203
+ // Track token usage
204
+ if (data.usage) {
205
+ incrementMetric('claude.tokens.input', data.usage.input_tokens, {
206
+ model
207
+ });
208
+ incrementMetric('claude.tokens.output', data.usage.output_tokens, {
209
+ model
210
+ });
211
+ incrementMetric('claude.tokens.total', data.usage.input_tokens + data.usage.output_tokens, {
212
+ model
213
+ });
214
+ }
186
215
  this.logger.info('Claude API response received', {
187
216
  model: data.model,
188
217
  inputTokens: data.usage.input_tokens,
@@ -193,8 +222,20 @@ export class ClaudeAPIClient extends EventEmitter {
193
222
  return data;
194
223
  } catch (error) {
195
224
  lastError = this.transformError(error);
225
+ // Track error
226
+ incrementMetric('claude.api.error', 1, {
227
+ model,
228
+ errorType: lastError.code || lastError.constructor.name || 'Unknown',
229
+ statusCode: lastError.statusCode?.toString() || 'unknown',
230
+ retryable: lastError.retryable ? 'true' : 'false'
231
+ });
196
232
  // Don't retry non-retryable errors
197
233
  if (!lastError.retryable) {
234
+ recordTiming('claude.api.duration', Date.now() - startTime, {
235
+ model,
236
+ status: 'error',
237
+ stream: 'false'
238
+ });
198
239
  this.handleError(lastError);
199
240
  throw lastError;
200
241
  }
@@ -209,12 +250,30 @@ export class ClaudeAPIClient extends EventEmitter {
209
250
  }
210
251
  }
211
252
  }
253
+ // Track final error timing after all retries exhausted
254
+ recordTiming('claude.api.duration', Date.now() - startTime, {
255
+ model,
256
+ status: 'error',
257
+ stream: 'false'
258
+ });
212
259
  this.handleError(lastError);
213
260
  throw lastError;
214
261
  }
215
262
  /**
216
263
  * Send a streaming request
217
264
  */ async *streamRequest(request) {
265
+ const startTime = Date.now();
266
+ const model = request.model || 'unknown';
267
+ let totalInputTokens = 0;
268
+ let totalOutputTokens = 0;
269
+ // Detect provider from apiUrl (z.ai vs anthropic)
270
+ const provider = this.config.apiUrl?.includes('z.ai') ? 'z.ai' : 'anthropic';
271
+ // Track API request
272
+ incrementMetric('claude.api.request', 1, {
273
+ model,
274
+ provider,
275
+ stream: 'true'
276
+ });
218
277
  const controller = new AbortController();
219
278
  const timeout = setTimeout(()=>controller.abort(), (this.config.timeout || 30000) * 2); // Double timeout for streaming
220
279
  try {
@@ -241,10 +300,35 @@ export class ClaudeAPIClient extends EventEmitter {
241
300
  message: errorText
242
301
  };
243
302
  }
244
- throw this.createAPIError(response.status, errorData);
303
+ const apiError = this.createAPIError(response.status, errorData);
304
+ // Track error
305
+ incrementMetric('claude.api.error', 1, {
306
+ model,
307
+ errorType: apiError.code || apiError.constructor.name || 'Unknown',
308
+ statusCode: apiError.statusCode?.toString() || 'unknown',
309
+ retryable: apiError.retryable ? 'true' : 'false'
310
+ });
311
+ recordTiming('claude.api.duration', Date.now() - startTime, {
312
+ model,
313
+ status: 'error',
314
+ stream: 'true'
315
+ });
316
+ throw apiError;
245
317
  }
246
318
  if (!response.body) {
247
- throw new ClaudeAPIError('Response body is null');
319
+ const bodyError = new ClaudeAPIError('Response body is null');
320
+ incrementMetric('claude.api.error', 1, {
321
+ model,
322
+ errorType: 'ResponseBodyNull',
323
+ statusCode: 'unknown',
324
+ retryable: 'false'
325
+ });
326
+ recordTiming('claude.api.duration', Date.now() - startTime, {
327
+ model,
328
+ status: 'error',
329
+ stream: 'true'
330
+ });
331
+ throw bodyError;
248
332
  }
249
333
  const reader = response.body.getReader();
250
334
  const decoder = new TextDecoder();
@@ -263,6 +347,13 @@ export class ClaudeAPIClient extends EventEmitter {
263
347
  if (data === '[DONE]') continue;
264
348
  try {
265
349
  const event = JSON.parse(data);
350
+ // Track token usage from stream events
351
+ if (event.type === 'message_start' && event.message?.usage) {
352
+ totalInputTokens = event.message.usage.input_tokens || 0;
353
+ }
354
+ if (event.type === 'message_delta' && event.usage) {
355
+ totalOutputTokens += event.usage.output_tokens || 0;
356
+ }
266
357
  this.emit('stream_event', event);
267
358
  yield event;
268
359
  } catch (e) {
@@ -274,11 +365,55 @@ export class ClaudeAPIClient extends EventEmitter {
274
365
  }
275
366
  }
276
367
  }
368
+ // Track successful completion
369
+ recordTiming('claude.api.duration', Date.now() - startTime, {
370
+ model,
371
+ status: 'success',
372
+ stream: 'true'
373
+ });
374
+ // Track token usage
375
+ if (totalInputTokens > 0 || totalOutputTokens > 0) {
376
+ incrementMetric('claude.tokens.input', totalInputTokens, {
377
+ model
378
+ });
379
+ incrementMetric('claude.tokens.output', totalOutputTokens, {
380
+ model
381
+ });
382
+ incrementMetric('claude.tokens.total', totalInputTokens + totalOutputTokens, {
383
+ model
384
+ });
385
+ }
277
386
  } catch (error) {
278
387
  clearTimeout(timeout);
279
388
  // Handle abort/timeout
280
389
  if (error instanceof Error && error.name === 'AbortError') {
281
- throw new ClaudeTimeoutError('Request timed out', this.config.timeout || 60000);
390
+ const timeoutError = new ClaudeTimeoutError('Request timed out', this.config.timeout || 60000);
391
+ incrementMetric('claude.api.error', 1, {
392
+ model,
393
+ errorType: 'Timeout',
394
+ statusCode: 'timeout',
395
+ retryable: 'true'
396
+ });
397
+ recordTiming('claude.api.duration', Date.now() - startTime, {
398
+ model,
399
+ status: 'error',
400
+ stream: 'true'
401
+ });
402
+ throw timeoutError;
403
+ }
404
+ // Track error if not already tracked
405
+ if (!(error instanceof ClaudeAPIError)) {
406
+ incrementMetric('claude.api.error', 1, {
407
+ model,
408
+ errorType: error instanceof Error ? error.constructor.name : 'Unknown',
409
+ statusCode: 'unknown',
410
+ retryable: 'false'
411
+ });
412
+ recordTiming('claude.api.duration', Date.now() - startTime, {
413
+ model,
414
+ status: 'error',
415
+ stream: 'true'
416
+ });
282
417
  }
283
418
  throw error;
284
419
  } finally{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/api/claude-client.ts"],"names":["EventEmitter","ClaudeAPIError","ClaudeInternalServerError","ClaudeServiceUnavailableError","ClaudeRateLimitError","ClaudeTimeoutError","ClaudeNetworkError","ClaudeAuthenticationError","ClaudeValidationError","getUserFriendlyError","circuitBreaker","ClaudeAPIClient","config","logger","configManager","defaultModel","defaultTemperature","defaultMaxTokens","lastHealthCheck","healthCheckTimer","loadConfiguration","threshold","circuitBreakerThreshold","timeout","circuitBreakerTimeout","resetTimeout","circuitBreakerResetTimeout","enableHealthCheck","startHealthCheck","overrides","apiKey","apiUrl","model","temperature","maxTokens","topP","topK","undefined","systemPrompt","retryAttempts","retryDelay","healthCheckInterval","retryJitter","process","env","ANTHROPIC_API_KEY","CLAUDE_API_URL","CLAUDE_MODEL","CLAUDE_TEMPERATURE","parseFloat","CLAUDE_MAX_TOKENS","parseInt","claudeConfig","get","Object","assign","validateConfiguration","updateConfig","updates","info","getConfig","sendMessage","messages","options","request","system","max_tokens","top_p","top_k","stream","debug","messageCount","length","streamRequest","sendRequest","lastError","attempt","controller","AbortController","setTimeout","abort","response","fetch","method","headers","body","JSON","stringify","signal","clearTimeout","ok","errorText","text","errorData","parse","message","createAPIError","status","data","json","inputTokens","usage","input_tokens","outputTokens","output_tokens","stopReason","stop_reason","emit","error","transformError","retryable","handleError","warn","statusCode","delay","calculateRetryDelay","reader","getReader","decoder","TextDecoder","buffer","done","value","read","decode","lines","split","pop","line","startsWith","slice","event","e","Error","name","complete","prompt","role","content","streamComplete","type","delta","getAvailableModels","getModelInfo","modelInfo","contextWindow","description","ms","Promise","resolve","performHealthCheck","setInterval","startTime","Date","now","latency","healthy","timestamp","getHealthStatus","retryAfter","retry_after","includes","String","baseDelay","maxDelay","Math","min","pow","jitter","random","floor","errorInfo","title","code","details","level","suggestions","userFriendly","destroy","clearInterval","removeAllListeners"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/api/claude-client.ts"],"names":["EventEmitter","ClaudeAPIError","ClaudeInternalServerError","ClaudeServiceUnavailableError","ClaudeRateLimitError","ClaudeTimeoutError","ClaudeNetworkError","ClaudeAuthenticationError","ClaudeValidationError","getUserFriendlyError","circuitBreaker","incrementMetric","recordTiming","ClaudeAPIClient","config","logger","configManager","defaultModel","defaultTemperature","defaultMaxTokens","lastHealthCheck","healthCheckTimer","loadConfiguration","threshold","circuitBreakerThreshold","timeout","circuitBreakerTimeout","resetTimeout","circuitBreakerResetTimeout","enableHealthCheck","startHealthCheck","overrides","apiKey","apiUrl","model","temperature","maxTokens","topP","topK","undefined","systemPrompt","retryAttempts","retryDelay","healthCheckInterval","retryJitter","process","env","ANTHROPIC_API_KEY","CLAUDE_API_URL","CLAUDE_MODEL","CLAUDE_TEMPERATURE","parseFloat","CLAUDE_MAX_TOKENS","parseInt","claudeConfig","get","Object","assign","validateConfiguration","updateConfig","updates","info","getConfig","sendMessage","messages","options","request","system","max_tokens","top_p","top_k","stream","debug","messageCount","length","streamRequest","sendRequest","startTime","Date","now","provider","includes","lastError","attempt","controller","AbortController","setTimeout","abort","response","fetch","method","headers","body","JSON","stringify","signal","clearTimeout","ok","errorText","text","errorData","parse","message","createAPIError","status","data","json","usage","input_tokens","output_tokens","inputTokens","outputTokens","stopReason","stop_reason","emit","error","transformError","errorType","code","name","statusCode","toString","retryable","handleError","warn","delay","calculateRetryDelay","totalInputTokens","totalOutputTokens","apiError","bodyError","reader","getReader","decoder","TextDecoder","buffer","done","value","read","decode","lines","split","pop","line","startsWith","slice","event","type","e","Error","timeoutError","complete","prompt","role","content","streamComplete","delta","getAvailableModels","getModelInfo","modelInfo","contextWindow","description","ms","Promise","resolve","performHealthCheck","setInterval","latency","healthy","timestamp","getHealthStatus","retryAfter","retry_after","String","baseDelay","maxDelay","Math","min","pow","jitter","random","floor","errorInfo","title","details","level","suggestions","userFriendly","destroy","clearInterval","removeAllListeners"],"mappings":"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"}
@@ -85,7 +85,7 @@ Key deliverables:
85
85
  selfLoopingPrompt: `
86
86
  Phase 1 (State Machine) complete with {consensusScore}% consensus.
87
87
 
88
- ✅ State transitions operational with <100ms latency
88
+ ✅ State transitions operational
89
89
  ✅ SDK auto-checkpoints working
90
90
 
91
91
  🚀 **IMMEDIATELY proceed to Phase 2: Dependency Graph**