claude-flow-novice 1.6.3 → 1.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/commands/parse-epic.js +180 -0
- package/.claude/settings.json +12 -2
- package/.claude/settings.local.json +4 -2
- package/.claude-flow-novice/dist/mcp/mcp-server-novice.js +37 -2
- package/.claude-flow-novice/dist/mcp/transports/base.js +5 -0
- package/.claude-flow-novice/dist/mcp/transports/base.js.map +1 -0
- package/.claude-flow-novice/dist/mcp/transports/http.js +414 -0
- package/.claude-flow-novice/dist/mcp/transports/http.js.map +1 -0
- package/.claude-flow-novice/dist/mcp/transports/stdio.js +217 -0
- package/.claude-flow-novice/dist/mcp/transports/stdio.js.map +1 -0
- package/.claude-flow-novice/dist/src/cli/commands/parse-epic.js +129 -0
- package/.claude-flow-novice/dist/src/cli/commands/parse-epic.js.map +1 -0
- package/.claude-flow-novice/dist/src/cli/index.js +3 -0
- package/.claude-flow-novice/dist/src/cli/index.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/utils/epic-parser.js +266 -0
- package/.claude-flow-novice/dist/src/cli/utils/epic-parser.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/message-bus.js +105 -2
- package/.claude-flow-novice/dist/src/communication/message-bus.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/adapters/v1-coordinator-adapter.js +1 -1
- package/.claude-flow-novice/dist/src/coordination/adapters/v1-coordinator-adapter.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/cache/artifact-cache-optimizer.js +632 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/cache/artifact-cache-optimizer.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/cache/index.js +11 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/cache/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/checkpoints/checkpoint-compressor.js +318 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/checkpoints/checkpoint-compressor.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/completion-detector.js +234 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/completion-detector.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/hierarchical-detector.js +347 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/hierarchical-detector.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/index.js +13 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/lamport-clock.js +173 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/lamport-clock.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/mesh-detector.js +526 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/mesh-detector.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/sdk-completion-detector.js +443 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/sdk-completion-detector.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/swarm-shutdown.js +366 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/completion/swarm-shutdown.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinator-factory.js +287 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinator-factory.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/cascading-shutdown.example.js +364 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/cascading-shutdown.example.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/cascading-shutdown.js +492 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/cascading-shutdown.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/hierarchical-coordinator.js +786 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/hierarchical-coordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/index.js +16 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/parent-child-manager.js +342 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/parent-child-manager.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/swarm-coordinator-v2.js +601 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/coordinators/swarm-coordinator-v2.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/agent-state.js +9 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/agent-state.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dead-letter-queue.js +413 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dead-letter-queue.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-graph.js +471 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-graph.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-node.js +379 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-node.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-resolver.js +335 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/dependency-resolver.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/help-request-metrics.js +211 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/help-request-metrics.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/index.js +33 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message-broker.js +920 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message-broker.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message-router.js +385 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message-router.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message.js +138 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/message.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/resource-manager-safe.js +478 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/resource-manager-safe.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-machine-config.js +358 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-machine-config.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-machine.js +588 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-machine.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-transition.js +153 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/state-transition.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/task-scheduler.js +360 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/task-scheduler.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/topic-manager.js +337 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/core/topic-manager.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/deadlock-detector.js +424 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/deadlock-detector.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/index.js +9 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/resource-manager.js +669 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/deadlock/resource-manager.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/artifact-storage.js +451 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/artifact-storage.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/cycle-detector.js +271 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/cycle-detector.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-graph.js +335 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-graph.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-manager.js +439 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-manager.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-request.js +92 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/dependency-request.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/index.js +21 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/topological-sort.js +223 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/dependency/topological-sort.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-coordinator.js +436 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-coordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-matcher.js +278 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-matcher.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-request-handler.js +317 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-request-handler.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-request.js +273 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/help-request.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/index.js +15 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/waiting-agent-pool.js +512 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/help-system/waiting-agent-pool.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/index.js +67 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/help-deadlock-integration.js +557 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/help-deadlock-integration.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/index.js +14 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/message-bus-completion-integration.example.js +212 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/message-bus-completion-integration.example.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/message-bus-completion-integration.js +552 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/message-bus-completion-integration.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/state-machine-integration.js +635 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/integration/state-machine-integration.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/IArtifactStorage.js +28 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/IArtifactStorage.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/ICoordinator.js +9 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/ICoordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/ISessionStore.js +25 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/ISessionStore.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/index.js +14 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/interfaces/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/artifact-adapter.js +308 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/artifact-adapter.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/completion-storage.js +439 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/completion-storage.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/dependency-graph-storage.js +540 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/dependency-graph-storage.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/dependency-storage.js +367 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/dependency-storage.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/index.js +14 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/message-storage.js +518 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/message-storage.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/state-storage.js +377 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/memory/state-storage.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channel.js +371 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channel.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/dependency-channel.js +355 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/dependency-channel.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/help-channel.js +424 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/help-channel.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/index.js +16 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/state-channel.js +295 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/state-channel.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/task-channel.js +411 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/channels/task-channel.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/index.js +14 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-bus.js +387 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-bus.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-persistence.js +589 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-persistence.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-router.js +444 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/messaging/message-router.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/artifact-storage.js +560 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/artifact-storage.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/background-orchestrator.js +335 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/background-orchestrator.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/bash-output-monitor.js +104 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/bash-output-monitor.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/checkpoint-manager.js +847 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/checkpoint-manager.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/help-coordinator.js +470 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/help-coordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/hierarchical-background-integration.js +450 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/hierarchical-background-integration.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/index.js +13 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/message-bus-integration.js +625 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/message-bus-integration.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/multi-level-control.js +545 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/multi-level-control.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/query-controller.js +740 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/query-controller.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/query-message-integration.js +415 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/query-message-integration.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/session-pool-optimizer.js +615 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/session-pool-optimizer.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/state-machine-integration.js +547 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/state-machine-integration.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/state-sdk-integration.js +342 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/sdk/state-sdk-integration.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/security/payload-validator.js +259 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/security/payload-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/framework-registry.js +273 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/framework-registry.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/index.js +8 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/truth-config-manager.js +310 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/truth-config-manager.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/truth-validator.js +218 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/truth/truth-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/types/sdk.js +9 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/types/sdk.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/index.js +6 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/priority-queue.js +145 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/priority-queue.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/sdk-helpers.js +122 -0
- package/.claude-flow-novice/dist/src/coordination/archives/v2-sdk-typescript/v2/utils/sdk-helpers.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/config-translator.js +17 -43
- package/.claude-flow-novice/dist/src/coordination/config-translator.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/coordination-toggle.js +34 -76
- package/.claude-flow-novice/dist/src/coordination/coordination-toggle.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/index.js +3 -0
- package/.claude-flow-novice/dist/src/coordination/index.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/shared/core/agent-state.js +172 -0
- package/.claude-flow-novice/dist/src/coordination/shared/core/agent-state.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/shared/core/index.js +7 -0
- package/.claude-flow-novice/dist/src/coordination/shared/core/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/shared/index.js +19 -0
- package/.claude-flow-novice/dist/src/coordination/shared/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/shared/interfaces/ICoordinator.js +24 -0
- package/.claude-flow-novice/dist/src/coordination/shared/interfaces/ICoordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/shared/interfaces/index.js +7 -0
- package/.claude-flow-novice/dist/src/coordination/shared/interfaces/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/shared/message-broker.js +920 -0
- package/.claude-flow-novice/dist/src/coordination/shared/message-broker.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/shared/message.js +138 -0
- package/.claude-flow-novice/dist/src/coordination/shared/message.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/shared/security/payload-validator.js +259 -0
- package/.claude-flow-novice/dist/src/coordination/shared/security/payload-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/shared/transparency/index.js +17 -0
- package/.claude-flow-novice/dist/src/coordination/shared/transparency/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/shared/transparency/interfaces/transparency-system.js +19 -0
- package/.claude-flow-novice/dist/src/coordination/shared/transparency/interfaces/transparency-system.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/shared/transparency/transparency-integration.js +357 -0
- package/.claude-flow-novice/dist/src/coordination/shared/transparency/transparency-integration.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/shared/transparency/transparency-system.js +679 -0
- package/.claude-flow-novice/dist/src/coordination/shared/transparency/transparency-system.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/shared/types/index.js +7 -0
- package/.claude-flow-novice/dist/src/coordination/shared/types/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/shared/types/sdk.js +10 -0
- package/.claude-flow-novice/dist/src/coordination/shared/types/sdk.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v1-transparency/interfaces/v1-transparency-system.js +12 -0
- package/.claude-flow-novice/dist/src/coordination/v1-transparency/interfaces/v1-transparency-system.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v1-transparency/v1-to-v2-bridge.js +433 -0
- package/.claude-flow-novice/dist/src/coordination/v1-transparency/v1-to-v2-bridge.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v1-transparency/v1-transparency-adapter.js +1468 -0
- package/.claude-flow-novice/dist/src/coordination/v1-transparency/v1-transparency-adapter.js.map +1 -0
- package/.claude-flow-novice/dist/src/feature-flags/core/FeatureFlagManager.js +52 -2
- package/.claude-flow-novice/dist/src/feature-flags/core/FeatureFlagManager.js.map +1 -1
- package/.claude-flow-novice/dist/src/mcp/mcp-server-novice.js +37 -2
- package/.claude-flow-novice/dist/src/mcp/session-manager.js +3 -1
- package/.claude-flow-novice/dist/src/mcp/session-manager.js.map +1 -1
- package/.claude-flow-novice/dist/src/monitoring/apm/apm-integration.js +5 -0
- package/.claude-flow-novice/dist/src/monitoring/apm/apm-integration.js.map +1 -1
- package/.claude-flow-novice/dist/src/providers/provider-manager.js +41 -6
- package/.claude-flow-novice/dist/src/providers/provider-manager.js.map +1 -1
- package/.claude-flow-novice/dist/src/providers/tiered-router.js +9 -17
- package/.claude-flow-novice/dist/src/providers/tiered-router.js.map +1 -1
- package/.claude-flow-novice/dist/src/utils/markdown-sanitizer.js +65 -41
- package/.claude-flow-novice/dist/src/utils/markdown-sanitizer.js.map +1 -1
- package/.claude-flow-novice/dist/src/web/api/server.js +1 -1
- package/.claude-flow-novice/dist/src/web/api/server.js.map +1 -1
- package/.claude-flow-novice/dist/src/workflows/progressive-rollout-manager.js +30 -0
- package/.claude-flow-novice/dist/src/workflows/progressive-rollout-manager.js.map +1 -1
- package/.claude-flow-novice/metrics.db +0 -0
- package/.claude-flow-novice/metrics.db-shm +0 -0
- package/.claude-flow-novice/metrics.db-wal +0 -0
- package/CLAUDE.md +72 -0
- package/config/hooks/post-edit-pipeline.js +68 -118
- package/config/hooks/pre-tool-memory-safety.js +209 -0
- package/package.json +7 -4
- package/scripts/cleanup-idle-sessions.sh +59 -0
- package/scripts/monitoring/alert-monitor.sh +220 -0
- package/scripts/monitoring/view-alerts.sh +307 -0
- package/scripts/test-provider-routing.cjs +7 -9
- package/scripts/test-zai-api.cjs +2 -2
- package/src/slash-commands/parse-epic.js +1 -1
- package/wiki/Provider-Routing.md +57 -69
- package/MEMORY_LEAK_ROOT_CAUSE.md +0 -149
package/.claude-flow-novice/dist/src/coordination/v1-transparency/v1-transparency-adapter.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/coordination/v1-transparency/v1-transparency-adapter.ts"],"names":["EventEmitter","v4","uuidv4","V1TransparencySystem","logger","config","isInitialized","isMonitoring","coordinatorAdapters","Map","coordinatorInfo","agentInfo","taskInfo","transparencyEvents","eventListeners","Set","metricsCollectionInterval","healthCheckInterval","lastMetricsUpdate","Date","eventsPerSecond","recentEventTimestamps","eventCountsBySource","RATE_LIMIT_WINDOW_MS","RATE_LIMIT_MAX_EVENTS","getDefaultConfig","initialize","warn","info","clear","emit","startMonitoring","Error","enableRealTimeMonitoring","setInterval","collectMetrics","metricsCollectionIntervalMs","enableHealthMonitoring","performHealthChecks","adapter","values","isActive","startCoordinatorMonitoring","stopMonitoring","clearInterval","undefined","cleanup","removeAllListeners","registerQueenAgent","coordinatorId","queenAgent","id","type","instance","eventEmitter","registeredAt","set","setupCoordinatorEventListeners","recordEvent","eventId","timestamp","eventType","eventData","coordinatorType","source","component","name","severity","category","registerMeshCoordinator","meshCoordinator","registerMetricsCollector","metricsCollector","get","metrics","debug","getAllAgents","Array","from","getAgentsByCoordinator","filter","agent","getAgentsByType","agentType","getAgentInfo","agentId","getAllTasks","getTasksByAgent","task","assignedAgents","includes","getTasksByStatus","status","getTaskInfo","taskId","getAllCoordinators","coordinators","entries","topology","maxAgents","getMaxAgentsForCoordinator","currentAgents","getAgentCountForCoordinator","strategy","enableConsensus","agents","map","a","tasks","getTasksByCoordinator","t","performance","getCoordinatorPerformance","timestamps","startedAt","lastActivity","lastHealthCheck","push","getCoordinatorInfo","coordinator","find","c","some","getTopologyInfo","workers","hierarchy","buildHierarchyFromQueenAgent","connections","getMeshConnections","getRecentEvents","limit","events","reverse","event","slice","getAgentEvents","getCoordinatorEvents","getEventsInTimeRange","startTime","endTime","getTransparencyMetrics","calculateEventsPerSecond","total","length","active","byType","byTopology","hierarchical","mesh","idle","busy","degraded","offline","groupAgentsByType","byCoordinator","groupAgentsByCoordinator","averageHealth","calculateAverageHealth","utilizationRate","calculateAgentUtilization","completed","failed","cancelled","groupTasksByType","byPriority","groupTasksByPriority","averageDuration","calculateAverageTaskDuration","successRate","calculateTaskSuccessRate","taskThroughput","calculateTaskThroughput","averageResponseTime","calculateAverageResponseTime","memoryUsage","calculateTotalMemoryUsage","cpuUsage","calculateTotalCpuUsage","networkIO","calculateTotalNetworkIO","errorRate","calculateErrorRate","resources","totalResources","reduce","sum","maxConnections","allocatedResources","freeResources","resourceUtilization","calculateResourceUtilization","lockContention","totalEvents","eventsByType","groupEventsByType","eventsBySeverity","groupEventsBySeverity","eventsByCategory","groupEventsByCategory","getPerformanceAnalytics","agentPerformance","healthDistribution","getHealthDistribution","utilizationTrends","getUtilizationTrends","performanceByType","getPerformanceByAgentType","taskPerformance","completionRates","getTaskCompletionRates","averageDurations","getTaskDurationsByType","failurePatterns","getFailurePatterns","systemPerformance","scalabilityMetrics","getScalabilityMetrics","bottleneckAnalysis","getBottleneckAnalysis","efficiencyMetrics","getEfficiencyMetrics","getTopologyAnalytics","queenAgents","meshCoordinators","hierarchicalTopology","count","averageWorkersPerQueen","getAverageWorkersPerQueen","hierarchyDepth","getHierarchyDepth","efficiency","getHierarchicalEfficiency","meshTopology","averageConnectionsPerAgent","getAverageConnectionsPerAgent","networkDiameter","getNetworkDiameter","clustering","getMeshClusteringMetrics","overallMetrics","totalCoordinators","size","topologyEfficiency","getOverallTopologyEfficiency","scalingCharacteristics","getScalingCharacteristics","registerEventListener","listener","add","unregisterEventListener","delete","enableEventStreaming","eventRetentionHours","enablePerformanceMonitoring","enableDependencyTracking","maxEventsInMemory","enableCoordinatorMonitoring","enableTaskTracking","on","data","handleWorkerSpawned","handleWorkerStatusChanged","handleTaskDelegated","handleTaskCompleted","handleTaskFailed","error","handleCoordinatorError","collectCoordinatorData","getCurrentMetrics","notifyMetricsUpdate","now","timeSinceLastActivity","getTime","previousState","newState","reason","sourceId","checkRateLimit","sanitizedEvent","sanitizeEvent","excess","splice","cleanupOldEventTimestamps","forEach","onTransparencyEvent","sourceData","lastReset","timeSinceReset","sanitized","sanitizeEventData","substring","validSeverities","Object","keys","key","value","sanitizedKey","cleanValue","replace","then","onMetricsUpdate","catch","workerId","workerType","capabilities","level","peerAgentIds","childAgentIds","currentTasks","taskStats","health","errorCount","consecutiveFailures","spawnedAt","lastStateChange","maxConcurrentTasks","workload","dependencies","dependsOn","blocksCompletion","waitingFor","previousStatus","newStatus","taskType","description","priority","progress","percentage","timing","createdAt","required","used","quality","confidence","completedAt","result","agentIds","message","stack","oneSecondAgo","recentEvents","fiveMinutesAgo","groups","totalHealth","busyAgents","priorityKey","completedTasks","totalDuration","successfulTasks","oneHourAgo","recentTasks","totalResponseTime","totalCpu","totalTasks","failedTasks","totalAllocated","totalAvailable","distribution","excellent","good","fair","poor","utilization","current","trend","forecast","averageUtilization","typeData","agentUtilization","children","toString","totalConnections","overall","rates","tasksByType","typeTasks","durationsByType","durations","duration","stats","sort","b","acc","val","average","median","Math","floor","min","max","totalFailures","patterns","byAgent","byErrorType","commonErrors","failureRate","activeAgents","activeCoordinators","currentCapacity","coordinatorLoad","scalingLimits","maxTasksPerAgent","maxCoordinators","bottlenecks","overloadedAgents","affectedAgents","idleAgents","coordinatorLoads","load","bottleneckCount","recommendations","generateBottleneckRecommendations","bottleneck","taskEfficiency","agentEfficiency","averageTaskCompletionTime","calculateAverageCompletionTime","totalWorkers","queen","maxDepth","visited","calculateDepth","currentDepth","has","child","totalAgents","queenAgentsCount","optimalSpan","actualSpan","spanEfficiency","abs","round","sharedTasks","agentCount","coordinatorCount","ceil","log2","totalTriangles","possibleTriangles","collaborators","otherAgent","collaboratorList","i","j","clusteringCoefficient","totalClusters","averageClusterSize","utilizationEfficiency","taskSuccessRate","collaborationEfficiency","currentLoad","taskLoad","currentScale","maxTasks","scalingRecommendations","generateScalingRecommendations"],"mappings":"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"}
|
|
@@ -10,19 +10,28 @@ export class FeatureFlagManager extends EventEmitter {
|
|
|
10
10
|
configPath;
|
|
11
11
|
metricsPath;
|
|
12
12
|
environment;
|
|
13
|
+
rollbackInterval;
|
|
14
|
+
isShutdown = false;
|
|
13
15
|
constructor(environment = process.env.NODE_ENV || 'development'){
|
|
14
16
|
super();
|
|
15
17
|
this.environment = environment;
|
|
16
18
|
this.configPath = path.join(process.cwd(), 'src/feature-flags/config');
|
|
17
19
|
this.metricsPath = path.join(process.cwd(), 'src/feature-flags/monitoring');
|
|
20
|
+
// Register automatic cleanup on process termination
|
|
21
|
+
process.on('SIGTERM', ()=>this.destroy());
|
|
22
|
+
process.on('SIGINT', ()=>this.destroy());
|
|
23
|
+
process.on('beforeExit', ()=>this.destroy());
|
|
18
24
|
}
|
|
19
25
|
async initialize() {
|
|
26
|
+
if (this.isShutdown) {
|
|
27
|
+
throw new Error('FeatureFlagManager is shutdown');
|
|
28
|
+
}
|
|
20
29
|
try {
|
|
21
30
|
await this.loadFlags();
|
|
22
31
|
await this.loadMetrics();
|
|
23
32
|
await this.setupEnvironmentVariables();
|
|
24
|
-
// Start monitoring loop
|
|
25
|
-
setInterval(()=>this.evaluateRollbacks(), 30000); // Check every 30s
|
|
33
|
+
// Start monitoring loop and store interval reference
|
|
34
|
+
this.rollbackInterval = setInterval(()=>this.evaluateRollbacks(), 30000); // Check every 30s
|
|
26
35
|
this.emit('initialized', {
|
|
27
36
|
flagCount: this.flags.size,
|
|
28
37
|
environment: this.environment
|
|
@@ -113,6 +122,9 @@ export class FeatureFlagManager extends EventEmitter {
|
|
|
113
122
|
/**
|
|
114
123
|
* Check if a feature flag is enabled for a given user/context
|
|
115
124
|
*/ async isEnabled(flagName, userId, context) {
|
|
125
|
+
if (this.isShutdown) {
|
|
126
|
+
throw new Error('FeatureFlagManager is shutdown');
|
|
127
|
+
}
|
|
116
128
|
const flag = this.flags.get(flagName);
|
|
117
129
|
if (!flag) {
|
|
118
130
|
this.recordMetric(flagName, 'flag_not_found');
|
|
@@ -145,6 +157,9 @@ export class FeatureFlagManager extends EventEmitter {
|
|
|
145
157
|
/**
|
|
146
158
|
* Gradually increase rollout percentage
|
|
147
159
|
*/ async increaseRollout(flagName, targetPercentage) {
|
|
160
|
+
if (this.isShutdown) {
|
|
161
|
+
throw new Error('FeatureFlagManager is shutdown');
|
|
162
|
+
}
|
|
148
163
|
const flag = this.flags.get(flagName);
|
|
149
164
|
if (!flag) {
|
|
150
165
|
throw new Error(`Flag ${flagName} not found`);
|
|
@@ -172,6 +187,9 @@ export class FeatureFlagManager extends EventEmitter {
|
|
|
172
187
|
/**
|
|
173
188
|
* Rapid enable/disable functionality
|
|
174
189
|
*/ async enableFlag(flagName) {
|
|
190
|
+
if (this.isShutdown) {
|
|
191
|
+
throw new Error('FeatureFlagManager is shutdown');
|
|
192
|
+
}
|
|
175
193
|
const flag = this.flags.get(flagName);
|
|
176
194
|
if (!flag) {
|
|
177
195
|
throw new Error(`Flag ${flagName} not found`);
|
|
@@ -183,6 +201,9 @@ export class FeatureFlagManager extends EventEmitter {
|
|
|
183
201
|
});
|
|
184
202
|
}
|
|
185
203
|
async disableFlag(flagName) {
|
|
204
|
+
if (this.isShutdown) {
|
|
205
|
+
throw new Error('FeatureFlagManager is shutdown');
|
|
206
|
+
}
|
|
186
207
|
const flag = this.flags.get(flagName);
|
|
187
208
|
if (!flag) {
|
|
188
209
|
throw new Error(`Flag ${flagName} not found`);
|
|
@@ -196,6 +217,9 @@ export class FeatureFlagManager extends EventEmitter {
|
|
|
196
217
|
/**
|
|
197
218
|
* Emergency rollback mechanism
|
|
198
219
|
*/ async rollback(flagName, reason) {
|
|
220
|
+
if (this.isShutdown) {
|
|
221
|
+
throw new Error('FeatureFlagManager is shutdown');
|
|
222
|
+
}
|
|
199
223
|
const flag = this.flags.get(flagName);
|
|
200
224
|
if (!flag) {
|
|
201
225
|
throw new Error(`Flag ${flagName} not found`);
|
|
@@ -300,6 +324,9 @@ export class FeatureFlagManager extends EventEmitter {
|
|
|
300
324
|
await fs.writeFile(flagFile, JSON.stringify(flag, null, 2));
|
|
301
325
|
}
|
|
302
326
|
async saveMetrics() {
|
|
327
|
+
if (this.isShutdown) {
|
|
328
|
+
throw new Error('FeatureFlagManager is shutdown');
|
|
329
|
+
}
|
|
303
330
|
await fs.mkdir(this.metricsPath, {
|
|
304
331
|
recursive: true
|
|
305
332
|
});
|
|
@@ -308,6 +335,9 @@ export class FeatureFlagManager extends EventEmitter {
|
|
|
308
335
|
await fs.writeFile(metricsFile, JSON.stringify(metricsArray, null, 2));
|
|
309
336
|
}
|
|
310
337
|
getMetrics(flagName) {
|
|
338
|
+
if (this.isShutdown) {
|
|
339
|
+
throw new Error('FeatureFlagManager is shutdown');
|
|
340
|
+
}
|
|
311
341
|
if (flagName) {
|
|
312
342
|
const metric = this.metrics.get(flagName);
|
|
313
343
|
return metric ? [
|
|
@@ -317,8 +347,28 @@ export class FeatureFlagManager extends EventEmitter {
|
|
|
317
347
|
return Array.from(this.metrics.values());
|
|
318
348
|
}
|
|
319
349
|
getAllFlags() {
|
|
350
|
+
if (this.isShutdown) {
|
|
351
|
+
throw new Error('FeatureFlagManager is shutdown');
|
|
352
|
+
}
|
|
320
353
|
return Array.from(this.flags.values());
|
|
321
354
|
}
|
|
355
|
+
/**
|
|
356
|
+
* Clean up resources to prevent memory leaks
|
|
357
|
+
*/ destroy() {
|
|
358
|
+
if (this.isShutdown) return; // Idempotent guard
|
|
359
|
+
this.isShutdown = true;
|
|
360
|
+
// Clear rollback monitoring interval
|
|
361
|
+
if (this.rollbackInterval) {
|
|
362
|
+
clearInterval(this.rollbackInterval);
|
|
363
|
+
this.rollbackInterval = undefined;
|
|
364
|
+
}
|
|
365
|
+
// Clean up event listeners
|
|
366
|
+
this.removeAllListeners();
|
|
367
|
+
// Clear data structures
|
|
368
|
+
this.flags.clear();
|
|
369
|
+
this.metrics.clear();
|
|
370
|
+
console.log('FeatureFlagManager cleanup completed');
|
|
371
|
+
}
|
|
322
372
|
}
|
|
323
373
|
|
|
324
374
|
//# sourceMappingURL=FeatureFlagManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/feature-flags/core/FeatureFlagManager.ts"],"names":["EventEmitter","fs","path","FeatureFlagManager","flags","Map","metrics","configPath","metricsPath","environment","process","env","NODE_ENV","join","cwd","initialize","loadFlags","loadMetrics","setupEnvironmentVariables","setInterval","evaluateRollbacks","emit","flagCount","size","error","phase4Flags","name","enabled","getBooleanEnv","rolloutPercentage","getNumberEnv","metadata","description","owner","createdAt","Date","toISOString","phase","category","rollback","threshold","autoRollback","conditions","minVersion","flag","set","initializeMetrics","key","defaultValue","value","toLowerCase","parsed","parseInt","isNaN","isEnabled","flagName","userId","context","get","recordMetric","hash","hashUserId","inRollout","userIds","includes","groups","hasGroup","some","group","increaseRollout","targetPercentage","Error","currentWeek","Math","floor","now","maxAllowedPercentage","saveFlag","oldPercentage","newPercentage","enableFlag","disableFlag","reason","timestamp","errorRate","event","userCount","successRate","lastUpdated","currentPercentage","str","i","length","char","charCodeAt","abs","configFile","data","readFile","JSON","parse","mkdir","recursive","metricsFile","metric","flagFile","writeFile","stringify","saveMetrics","metricsArray","Array","from","values","getMetrics","getAllFlags"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/feature-flags/core/FeatureFlagManager.ts"],"names":["EventEmitter","fs","path","FeatureFlagManager","flags","Map","metrics","configPath","metricsPath","environment","rollbackInterval","isShutdown","process","env","NODE_ENV","join","cwd","on","destroy","initialize","Error","loadFlags","loadMetrics","setupEnvironmentVariables","setInterval","evaluateRollbacks","emit","flagCount","size","error","phase4Flags","name","enabled","getBooleanEnv","rolloutPercentage","getNumberEnv","metadata","description","owner","createdAt","Date","toISOString","phase","category","rollback","threshold","autoRollback","conditions","minVersion","flag","set","initializeMetrics","key","defaultValue","value","toLowerCase","parsed","parseInt","isNaN","isEnabled","flagName","userId","context","get","recordMetric","hash","hashUserId","inRollout","userIds","includes","groups","hasGroup","some","group","increaseRollout","targetPercentage","currentWeek","Math","floor","now","maxAllowedPercentage","saveFlag","oldPercentage","newPercentage","enableFlag","disableFlag","reason","timestamp","errorRate","event","userCount","successRate","lastUpdated","currentPercentage","str","i","length","char","charCodeAt","abs","configFile","data","readFile","JSON","parse","mkdir","recursive","metricsFile","metric","flagFile","writeFile","stringify","saveMetrics","metricsArray","Array","from","values","getMetrics","getAllFlags","clearInterval","undefined","removeAllListeners","clear","console","log"],"mappings":"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"}
|
|
@@ -150,6 +150,18 @@ class ClaudeFlowNoviceMCPServer {
|
|
|
150
150
|
properties: { swarmId: { type: 'string' } },
|
|
151
151
|
},
|
|
152
152
|
},
|
|
153
|
+
session_extend: {
|
|
154
|
+
name: 'session_extend',
|
|
155
|
+
description: 'Extend MCP session timeout for long-running CFN loops (prevents disconnection during multi-hour operations)',
|
|
156
|
+
inputSchema: {
|
|
157
|
+
type: 'object',
|
|
158
|
+
properties: {
|
|
159
|
+
sessionId: { type: 'string' },
|
|
160
|
+
extensionHours: { type: 'number', default: 4, minimum: 1, maximum: 24 },
|
|
161
|
+
},
|
|
162
|
+
required: ['sessionId'],
|
|
163
|
+
},
|
|
164
|
+
},
|
|
153
165
|
|
|
154
166
|
// Essential Memory Management Tools (8)
|
|
155
167
|
memory_usage: {
|
|
@@ -573,6 +585,18 @@ class ClaudeFlowNoviceMCPServer {
|
|
|
573
585
|
}
|
|
574
586
|
return { success: true, action: args.action };
|
|
575
587
|
|
|
588
|
+
case 'session_extend':
|
|
589
|
+
const extensionHours = args.extensionHours || 4;
|
|
590
|
+
const extensionMs = extensionHours * 60 * 60 * 1000;
|
|
591
|
+
return {
|
|
592
|
+
success: true,
|
|
593
|
+
sessionId: args.sessionId || this.sessionId,
|
|
594
|
+
extensionHours,
|
|
595
|
+
newTimeoutMs: extensionMs,
|
|
596
|
+
message: `Session timeout extended by ${extensionHours} hours (${extensionMs}ms)`,
|
|
597
|
+
note: 'Session timeout configured at server startup (8 hours default). This tool reports extension confirmation.',
|
|
598
|
+
};
|
|
599
|
+
|
|
576
600
|
default:
|
|
577
601
|
return {
|
|
578
602
|
success: true,
|
|
@@ -695,9 +719,20 @@ if (process.argv[1] === fileURLToPath(import.meta.url)) {
|
|
|
695
719
|
|
|
696
720
|
process.stdin.on('end', () => {
|
|
697
721
|
console.error(
|
|
698
|
-
`[${new Date().toISOString()}]
|
|
722
|
+
`[${new Date().toISOString()}] WARN [claude-flow-novice-mcp] (${server.sessionId}) MCP server received stdin close, attempting graceful shutdown...`,
|
|
699
723
|
);
|
|
700
|
-
|
|
724
|
+
|
|
725
|
+
// Grace period for pending operations (30 seconds)
|
|
726
|
+
// Allows CFN loop agents to complete final memory writes before shutdown
|
|
727
|
+
setTimeout(async () => {
|
|
728
|
+
if (server.memoryStore) {
|
|
729
|
+
await server.memoryStore.close();
|
|
730
|
+
}
|
|
731
|
+
console.error(
|
|
732
|
+
`[${new Date().toISOString()}] INFO [claude-flow-novice-mcp] (${server.sessionId}) 🔌 MCP server shutdown complete: ${server.sessionId}`,
|
|
733
|
+
);
|
|
734
|
+
process.exit(0);
|
|
735
|
+
}, 30000);
|
|
701
736
|
});
|
|
702
737
|
|
|
703
738
|
// Handle process termination
|
|
@@ -19,7 +19,9 @@ import { createHash, timingSafeEqual } from 'node:crypto';
|
|
|
19
19
|
enabled: false,
|
|
20
20
|
method: 'token'
|
|
21
21
|
};
|
|
22
|
-
|
|
22
|
+
// Extended timeout for long-running CFN loops (8 hours default)
|
|
23
|
+
// CFN loops with multiple agents can run 2-8 hours, standard 1-hour timeout causes disconnection
|
|
24
|
+
this.sessionTimeout = config.sessionTimeout || 28800000; // 8 hours for long operations
|
|
23
25
|
this.maxSessions = config.maxSessions || 100;
|
|
24
26
|
// Start cleanup timer
|
|
25
27
|
this.cleanupInterval = setInterval(()=>{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/mcp/session-manager.ts"],"names":["MCPError","createHash","timingSafeEqual","SessionManager","sessions","Map","authConfig","sessionTimeout","maxSessions","cleanupInterval","config","logger","auth","enabled","method","setInterval","cleanupExpiredSessions","createSession","transport","size","sessionId","generateSessionId","now","Date","session","id","clientInfo","name","version","protocolVersion","major","minor","patch","capabilities","isInitialized","createdAt","lastActivity","authenticated","set","info","totalSessions","getSession","get","isSessionExpired","removeSession","undefined","initializeSession","params","validateProtocolVersion","authenticateSession","credentials","authenticateToken","authenticateBasic","authenticateOAuth","warn","authData","extractAuthData","updateActivity","delete","duration","getTime","getActiveSessions","activeSessions","values","push","expiredSessions","length","count","remainingSessions","getSessionMetrics","active","expired","total","destroy","clearInterval","clear","timestamp","toString","random","Math","substr","sessionAge","supportedVersions","isSupported","some","supported","tokens","token","extractToken","validToken","encoder","TextEncoder","validTokenBytes","encode","providedTokenBytes","users","username","password","extractBasicAuth","user","find","u","hashedPassword","hashPassword","expectedHashedPassword","hashedPasswordBytes","expectedHashedPasswordBytes","creds","authorization","match","decoded","atob","split","permissions","update","digest"],"mappings":"AAAA;;CAEC,GAWD,SAASA,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,UAAU,EAAEC,eAAe,QAAQ,cAAc;AAmB1D;;CAEC,GACD,OAAO,MAAMC;;;IACHC,WAAW,IAAIC,MAA0B;IACzCC,WAA0B;IAC1BC,eAAuB;IACvBC,YAAoB;IACpBC,gBAAyB;IAEjC,YACE,AAAQC,MAAiB,EACzB,AAAQC,MAAe,CACvB;aAFQD,SAAAA;aACAC,SAAAA;QAER,IAAI,CAACL,UAAU,GAAGI,OAAOE,IAAI,IAAI;YAAEC,SAAS;YAAOC,QAAQ;QAAQ;QACnE,IAAI,CAACP,cAAc,GAAGG,OAAOH,cAAc,IAAI,
|
|
1
|
+
{"version":3,"sources":["../../../../src/mcp/session-manager.ts"],"names":["MCPError","createHash","timingSafeEqual","SessionManager","sessions","Map","authConfig","sessionTimeout","maxSessions","cleanupInterval","config","logger","auth","enabled","method","setInterval","cleanupExpiredSessions","createSession","transport","size","sessionId","generateSessionId","now","Date","session","id","clientInfo","name","version","protocolVersion","major","minor","patch","capabilities","isInitialized","createdAt","lastActivity","authenticated","set","info","totalSessions","getSession","get","isSessionExpired","removeSession","undefined","initializeSession","params","validateProtocolVersion","authenticateSession","credentials","authenticateToken","authenticateBasic","authenticateOAuth","warn","authData","extractAuthData","updateActivity","delete","duration","getTime","getActiveSessions","activeSessions","values","push","expiredSessions","length","count","remainingSessions","getSessionMetrics","active","expired","total","destroy","clearInterval","clear","timestamp","toString","random","Math","substr","sessionAge","supportedVersions","isSupported","some","supported","tokens","token","extractToken","validToken","encoder","TextEncoder","validTokenBytes","encode","providedTokenBytes","users","username","password","extractBasicAuth","user","find","u","hashedPassword","hashPassword","expectedHashedPassword","hashedPasswordBytes","expectedHashedPasswordBytes","creds","authorization","match","decoded","atob","split","permissions","update","digest"],"mappings":"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"}
|
|
@@ -38,6 +38,11 @@ export class APMIntegration {
|
|
|
38
38
|
this.initializeCollectors();
|
|
39
39
|
this.startCustomMetrics();
|
|
40
40
|
this.startHealthChecks();
|
|
41
|
+
// Register automatic cleanup on process termination
|
|
42
|
+
process.on('SIGTERM', ()=>this.shutdown());
|
|
43
|
+
process.on('SIGINT', ()=>this.shutdown());
|
|
44
|
+
process.on('beforeExit', ()=>this.shutdown());
|
|
45
|
+
this.logger.info('APM auto-shutdown hooks registered');
|
|
41
46
|
}
|
|
42
47
|
initializeCollectors() {
|
|
43
48
|
// Initialize DataDog if configured
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/monitoring/apm/apm-integration.ts"],"names":["Logger","DataDogCollector","NewRelicCollector","DistributedTracer","PerformanceOptimizer","APMIntegration","logger","config","dataDogCollector","newRelicCollector","distributedTracer","performanceOptimizer","customMetricsInterval","healthCheckInterval","distributedTracing","enabled","samplingRate","performanceOptimization","monitoringInterval","customMetrics","interval","alerting","initializeCollectors","startCustomMetrics","startHealthChecks","dataDog","apiKey","info","error","message","newRelic","licenseKey","traceAgentLifecycle","agentType","lifecycleEvent","agentId","metadata","traceContext","traceAgentOperation","undefined","recordAgentLifecycleMetric","setTimeout","finishSpan","tags","count","recordMetric","traceSwarmActivity","swarmId","activity","topology","agentCount","traceSwarmOperation","toString","recordSwarmActivityMetric","recordSwarmActivity","optimizeWebSocketPerformance","operation","socketId","duration","success","traceWebSocketOperation","recordWebSocketEvent","optimizeWebSocketConnections","monitorDatabasePerformance","query","recordSlowQuery","recordDatabaseQuery","table","recordBusinessMetric","metricName","value","type","gauge","histogram","setInterval","collectCustomMetrics","metrics","getCurrentMetrics","memory","heapUsed","heapTotal","cpu","usage","eventLoop","lag","health","getHealthStatus","overall","performHealthCheck","warn","sendHealthAlert","status","components","activeTraces","activeSpans","queuedMetrics","recommendations","errorRate","ddHealth","healthCheck","details","nrHealth","dtHealth","poHealth","componentStatuses","Object","values","includes","toUpperCase","timestamp","Date","toISOString","webhookUrl","url","slackChannel","channel","emailRecipients","length","recipients","getPerformanceAnalytics","analytics","trends","getRecommendations","getTraceStatistics","runIntegrationTest","startTime","now","results","testDataDogIntegration","testNewRelicIntegration","testDistributedTracing","testPerformanceOptimizer","every","r","runDisasterRecoveryTest","scenarios","dataDogOutage","testDataDogOutage","newRelicOutage","testNewRelicOutage","highLoad","testHighLoadScenario","memoryStress","testMemoryStressScenario","s","originalApiKey","test","metricCount","i","iteration","traceCount","memoryUsagePercent","getCollectors","shutdown","clearInterval","shutdownPromises","push","cleanup","Promise","all","createAPMIntegration"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/monitoring/apm/apm-integration.ts"],"names":["Logger","DataDogCollector","NewRelicCollector","DistributedTracer","PerformanceOptimizer","APMIntegration","logger","config","dataDogCollector","newRelicCollector","distributedTracer","performanceOptimizer","customMetricsInterval","healthCheckInterval","distributedTracing","enabled","samplingRate","performanceOptimization","monitoringInterval","customMetrics","interval","alerting","initializeCollectors","startCustomMetrics","startHealthChecks","process","on","shutdown","info","dataDog","apiKey","error","message","newRelic","licenseKey","traceAgentLifecycle","agentType","lifecycleEvent","agentId","metadata","traceContext","traceAgentOperation","undefined","recordAgentLifecycleMetric","setTimeout","finishSpan","tags","count","recordMetric","traceSwarmActivity","swarmId","activity","topology","agentCount","traceSwarmOperation","toString","recordSwarmActivityMetric","recordSwarmActivity","optimizeWebSocketPerformance","operation","socketId","duration","success","traceWebSocketOperation","recordWebSocketEvent","optimizeWebSocketConnections","monitorDatabasePerformance","query","recordSlowQuery","recordDatabaseQuery","table","recordBusinessMetric","metricName","value","type","gauge","histogram","setInterval","collectCustomMetrics","metrics","getCurrentMetrics","memory","heapUsed","heapTotal","cpu","usage","eventLoop","lag","health","getHealthStatus","overall","performHealthCheck","warn","sendHealthAlert","status","components","activeTraces","activeSpans","queuedMetrics","recommendations","errorRate","ddHealth","healthCheck","details","nrHealth","dtHealth","poHealth","componentStatuses","Object","values","includes","toUpperCase","timestamp","Date","toISOString","webhookUrl","url","slackChannel","channel","emailRecipients","length","recipients","getPerformanceAnalytics","analytics","trends","getRecommendations","getTraceStatistics","runIntegrationTest","startTime","now","results","testDataDogIntegration","testNewRelicIntegration","testDistributedTracing","testPerformanceOptimizer","every","r","runDisasterRecoveryTest","scenarios","dataDogOutage","testDataDogOutage","newRelicOutage","testNewRelicOutage","highLoad","testHighLoadScenario","memoryStress","testMemoryStressScenario","s","originalApiKey","test","metricCount","i","iteration","traceCount","memoryUsagePercent","getCollectors","clearInterval","shutdownPromises","push","cleanup","Promise","all","createAPMIntegration"],"mappings":"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"}
|