claude-flow-novice 1.6.4 → 1.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/commands/parse-epic.js +180 -0
- package/.claude/settings.local.json +2 -1
- package/.claude-flow-novice/dist/mcp/mcp-server-novice.js +37 -2
- package/.claude-flow-novice/dist/mcp/mcp-server-sdk.js +45 -0
- 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/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/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/providers/provider-manager.js +36 -3
- package/.claude-flow-novice/dist/src/providers/provider-manager.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-shm +0 -0
- package/.claude-flow-novice/metrics.db-wal +0 -0
- package/config/.env.example +178 -0
- package/config/DEPLOYMENT_GUIDE.md +692 -0
- package/config/README-CONFIG.md +331 -0
- package/config/coordination-config.sh +327 -0
- package/config/docker/env.development +53 -0
- package/config/docker/env.production +83 -0
- package/config/docker/env.staging +70 -0
- package/config/k8s/configmap-development.yaml +60 -0
- package/config/k8s/configmap-production.yaml +85 -0
- package/config/k8s/configmap-staging.yaml +76 -0
- package/config/k8s/secret-production.yaml +62 -0
- package/config/k8s/secret-staging.yaml +36 -0
- package/package.json +2 -2
- package/scripts/monitoring/alert-monitor.sh +220 -0
- package/scripts/monitoring/dashboards/rate-limiting-dashboard.json +211 -0
- package/scripts/monitoring/quick-test-alerting.sh +118 -0
- package/scripts/monitoring/quick-test-rate-limiting.sh +206 -0
- package/scripts/monitoring/rate-limiting-monitor.sh +380 -0
- package/scripts/monitoring/view-alerts.sh +307 -0
- package/scripts/test-zai-api.cjs +2 -2
- package/src/slash-commands/parse-epic.js +1 -1
package/.claude-flow-novice/dist/src/coordination/shared/transparency/transparency-system.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/coordination/shared/transparency/transparency-system.ts"],"names":["EventEmitter","v4","uuidv4","Logger","TransparencySystem","logger","level","format","destination","config","isInitialized","isMonitoring","agentHierarchy","Map","agentStatuses","agentPerformanceMetrics","lifecycleEvents","eventListeners","Set","metricsUpdateInterval","heartbeatInterval","performanceThresholds","maxExecutionTimeMs","maxMemoryUsage","maxTokenUsageRate","maxPauseLatencyMs","maxCpuUsage","getDefaultConfig","initialize","warn","info","clear","emit","startMonitoring","Error","setInterval","updateMetrics","metricsUpdateIntervalMs","checkAgentHeartbeats","heartbeatIntervalMs","stopMonitoring","clearInterval","undefined","cleanup","removeAllListeners","registerAgent","agent","parentAgentId","hierarchyNode","agentId","type","calculateAgentLevel","childAgentIds","priority","state","sessionId","createdAt","Date","lastStateChange","tokensUsed","tokenBudget","metadata","isPaused","metrics","spawnTimeMs","totalExecutionTimeMs","pauseCount","resumeCount","checkpointCount","currentTask","waitingFor","completedDependencies","set","status","activity","progress","tokenUsageRate","memoryUsage","cpuUsage","lastHeartbeat","recentErrors","has","parent","get","push","recordLifecycleEvent","eventId","timestamp","eventType","eventData","performanceImpact","notifyHierarchyChange","updateAgentState","newState","reason","previousState","getActivityForState","notifyStateChange","updateTokenUsage","previousTokens","timeDelta","now","getTime","checkPerformanceThresholds","getAgentHierarchy","Array","from","values","getAgentsAtLevel","filter","getChildAgents","map","childId","Boolean","getRootAgents","getAllAgentStatuses","getAgentStatus","getActiveAgents","getPausedAgents","getRecentEvents","limit","events","reverse","event","slice","getAgentEvents","getEventsInTimeRange","startTime","endTime","getTransparencyMetrics","agents","statuses","agentsByLevel","forEach","agentsByState","agentsByType","totalTokensConsumed","reduce","sum","totalTokensSaved","calculateTokensSaved","executionTimes","averageExecutionTimeMs","length","time","terminatedAgents","failureRate","hierarchyDepth","Math","max","totalDependencies","dependencyResolutionRate","eventTypes","recentEvents","eventsPerSecond","totalAgents","averagePauseResumeLatencyMs","calculateAveragePauseResumeLatency","eventStreamStats","totalEvents","getAgentPerformanceMetrics","executionMetrics","currentPerformance","tokenMetrics","totalUsed","budget","utilizationRate","stateMetrics","totalStateChanges","errorMetrics","totalErrors","criticalErrors","e","severity","getHierarchyAnalytics","rootAgents","depth","parentAgents","totalChildren","branchingFactor","childCounts","avgChildren","variance","count","pow","balance","sqrt","activeAgents","efficiency","registerEventListener","listener","add","debug","unregisterEventListener","delete","enableRealTimeMonitoring","enableEventStreaming","eventRetentionHours","enablePerformanceTracking","enableDependencyTracking","maxEventsInMemory","enableHierarchyNotifications","stateActivities","idle","active","paused","terminated","error","completing","checkpointing","waiting_for_dependency","excess","splice","onLifecycleEvent","data","onHierarchyChange","onAgentStateChange","then","onMetricsUpdate","catch","staleThreshold","timeSinceHeartbeat","round","alerts","metric","value","threshold","alert","onPerformanceAlert","pausedAgents","total","timeSincePause","estimatedTokensSaved","calculateAveragePauseResumeLatencyMs","latencies","pauseEvents","pauseEvent","duration","latency"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/coordination/shared/types/index.ts"],"names":[],"mappings":"AAAA;;;;CAIC,GAED,cAAc,WAAW"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Coordination - SDK Types (Shared)
|
|
3
|
+
* Type definitions for Claude SDK integration
|
|
4
|
+
*
|
|
5
|
+
* @module coordination/shared/types/sdk
|
|
6
|
+
*/ import { AgentState } from '../core/agent-state.js';
|
|
7
|
+
// Re-export AgentState from core for backward compatibility
|
|
8
|
+
export { AgentState };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=sdk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/coordination/shared/types/sdk.ts"],"names":["AgentState"],"mappings":"AAAA;;;;;CAKC,GAED,SAASA,UAAU,QAAQ,yBAAyB;AAEpD,4DAA4D;AAC5D,SAASA,UAAU,GAAG"}
|
|
@@ -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":"AAAA;;;CAGC,GAED,SAASA,YAAY,QAAQ,SAAS;AACtC,OAAOC,QAAQ,cAAc;AAC7B,OAAOC,UAAU,OAAO;AAoCxB,OAAO,MAAMC,2BAA2BH;IAC9BI,QAAwC,IAAIC,MAAM;IAClDC,UAAuC,IAAID,MAAM;IACjDE,WAAmB;IACnBC,YAAoB;IACpBC,YAAoB;IAE5B,YAAYA,cAAsBC,QAAQC,GAAG,CAACC,QAAQ,IAAI,aAAa,CAAE;QACvE,KAAK;QACL,IAAI,CAACH,WAAW,GAAGA;QACnB,IAAI,CAACF,UAAU,GAAGL,KAAKW,IAAI,CAACH,QAAQI,GAAG,IAAI;QAC3C,IAAI,CAACN,WAAW,GAAGN,KAAKW,IAAI,CAACH,QAAQI,GAAG,IAAI;IAC9C;IAEA,MAAMC,aAA4B;QAChC,IAAI;YACF,MAAM,IAAI,CAACC,SAAS;YACpB,MAAM,IAAI,CAACC,WAAW;YACtB,MAAM,IAAI,CAACC,yBAAyB;YAEpC,wBAAwB;YACxBC,YAAY,IAAM,IAAI,CAACC,iBAAiB,IAAI,QAAQ,kBAAkB;YAEtE,IAAI,CAACC,IAAI,CAAC,eAAe;gBACvBC,WAAW,IAAI,CAAClB,KAAK,CAACmB,IAAI;gBAC1Bd,aAAa,IAAI,CAACA,WAAW;YAC/B;QACF,EAAE,OAAOe,OAAO;YACd,IAAI,CAACH,IAAI,CAAC,SAASG;YACnB,MAAMA;QACR;IACF;IAEA;;GAEC,GACD,MAAcN,4BAA2C;QACvD,MAAMO,cAAmC;YACvC;gBACEC,MAAM;gBACNC,SAAS,IAAI,CAACC,aAAa,CAAC,4BAA4B;gBACxDC,mBAAmB,IAAI,CAACC,YAAY,CAAC,4BAA4B;gBACjErB,aAAa,IAAI,CAACA,WAAW;gBAC7BsB,UAAU;oBACRC,aAAa;oBACbC,OAAO;oBACPC,WAAW,IAAIC,OAAOC,WAAW;oBACjCC,OAAO;oBACPC,UAAU;gBACZ;gBACAC,UAAU;oBACRZ,SAAS;oBACTa,WAAW;oBACXC,cAAc;gBAChB;YACF;YACA;gBACEf,MAAM;gBACNC,SAAS,IAAI,CAACC,aAAa,CAAC,+BAA+B;gBAC3DC,mBAAmB,IAAI,CAACC,YAAY,CAAC,gCAAgC;gBACrErB,aAAa,IAAI,CAACA,WAAW;gBAC7BsB,UAAU;oBACRC,aAAa;oBACbC,OAAO;oBACPC,WAAW,IAAIC,OAAOC,WAAW;oBACjCC,OAAO;oBACPC,UAAU;gBACZ;gBACAI,YAAY;oBACVC,YAAY;gBACd;gBACAJ,UAAU;oBACRZ,SAAS;oBACTa,WAAW;oBACXC,cAAc;gBAChB;YACF;YACA;gBACEf,MAAM;gBACNC,SAAS,IAAI,CAACC,aAAa,CAAC,6BAA6B;gBACzDC,mBAAmB,IAAI,CAACC,YAAY,CAAC,2BAA2B;gBAChErB,aAAa,IAAI,CAACA,WAAW;gBAC7BsB,UAAU;oBACRC,aAAa;oBACbC,OAAO;oBACPC,WAAW,IAAIC,OAAOC,WAAW;oBACjCC,OAAO;oBACPC,UAAU;gBACZ;gBACAC,UAAU;oBACRZ,SAAS;oBACTa,WAAW;oBACXC,cAAc,IAAI,CAACb,aAAa,CAAC,yBAAyB;gBAC5D;YACF;SACD;QAED,KAAK,MAAMgB,QAAQnB,YAAa;YAC9B,IAAI,CAACrB,KAAK,CAACyC,GAAG,CAACD,KAAKlB,IAAI,EAAEkB;YAC1B,IAAI,CAACE,iBAAiB,CAACF,KAAKlB,IAAI;QAClC;IACF;IAEQE,cAAcmB,GAAW,EAAEC,YAAqB,EAAW;QACjE,MAAMC,QAAQvC,QAAQC,GAAG,CAACoC,IAAI;QAC9B,IAAI,CAACE,OAAO,OAAOD;QACnB,OAAOC,MAAMC,WAAW,OAAO;IACjC;IAEQpB,aAAaiB,GAAW,EAAEC,YAAoB,EAAU;QAC9D,MAAMC,QAAQvC,QAAQC,GAAG,CAACoC,IAAI;QAC9B,IAAI,CAACE,OAAO,OAAOD;QACnB,MAAMG,SAASC,SAASH,OAAO;QAC/B,OAAOI,MAAMF,UAAUH,eAAeG;IACxC;IAEA;;GAEC,GACD,MAAMG,UAAUC,QAAgB,EAAEC,MAAe,EAAEC,OAAa,EAAoB;QAClF,MAAMb,OAAO,IAAI,CAACxC,KAAK,CAACsD,GAAG,CAACH;QAC5B,IAAI,CAACX,MAAM;YACT,IAAI,CAACe,YAAY,CAACJ,UAAU;YAC5B,OAAO;QACT;QAEA,IAAI,CAACX,KAAKjB,OAAO,EAAE;YACjB,OAAO;QACT;QAEA,2BAA2B;QAC3B,IAAIiB,KAAKf,iBAAiB,GAAG,KAAK;YAChC,MAAM+B,OAAO,IAAI,CAACC,UAAU,CAACL,UAAU,aAAaD;YACpD,MAAMO,YAAYF,OAAOhB,KAAKf,iBAAiB;YAE/C,IAAI,CAACiC,WAAW;gBACd,OAAO;YACT;QACF;QAEA,mBAAmB;QACnB,IAAIlB,KAAKF,UAAU,EAAE;YACnB,IAAIE,KAAKF,UAAU,CAACqB,OAAO,IAAIP,UAAU,CAACZ,KAAKF,UAAU,CAACqB,OAAO,CAACC,QAAQ,CAACR,SAAS;gBAClF,OAAO;YACT;YAEA,IAAIZ,KAAKF,UAAU,CAACuB,MAAM,IAAIR,SAASQ,QAAQ;gBAC7C,MAAMC,WAAWtB,KAAKF,UAAU,CAACuB,MAAM,CAACE,IAAI,CAAC,CAACC,QAAUX,QAAQQ,MAAM,CAACD,QAAQ,CAACI;gBAChF,IAAI,CAACF,UAAU,OAAO;YACxB;QACF;QAEA,IAAI,CAACP,YAAY,CAACJ,UAAU;QAC5B,OAAO;IACT;IAEA;;GAEC,GACD,MAAMc,gBAAgBd,QAAgB,EAAEe,gBAAwB,EAAiB;QAC/E,MAAM1B,OAAO,IAAI,CAACxC,KAAK,CAACsD,GAAG,CAACH;QAC5B,IAAI,CAACX,MAAM;YACT,MAAM,IAAI2B,MAAM,CAAC,KAAK,EAAEhB,SAAS,UAAU,CAAC;QAC9C;QAEA,IAAIe,mBAAmB1B,KAAKf,iBAAiB,EAAE;YAC7C,MAAM,IAAI0C,MAAM;QAClB;QAEA,IAAID,mBAAmB,KAAK;YAC1B,MAAM,IAAIC,MAAM;QAClB;QAEA,2CAA2C;QAC3C,MAAMC,cAAcC,KAAKC,KAAK,CAACvC,KAAKwC,GAAG,KAAM,CAAA,IAAI,KAAK,KAAK,KAAK,IAAG;QACnE,MAAMC,uBAAuBJ,eAAe,IAAKA,eAAe,IAAI,KAAK,KAAM;QAE/E,IAAIF,mBAAmBM,sBAAsB;YAC3C,MAAM,IAAIL,MAAM,CAAC,mBAAmB,EAAEK,qBAAqB,kBAAkB,CAAC;QAChF;QAEAhC,KAAKf,iBAAiB,GAAGyC;QACzB,MAAM,IAAI,CAACO,QAAQ,CAACjC;QAEpB,IAAI,CAACvB,IAAI,CAAC,qBAAqB;YAC7BkC;YACAuB,eAAelC,KAAKf,iBAAiB;YACrCkD,eAAeT;QACjB;IACF;IAEA;;GAEC,GACD,MAAMU,WAAWzB,QAAgB,EAAiB;QAChD,MAAMX,OAAO,IAAI,CAACxC,KAAK,CAACsD,GAAG,CAACH;QAC5B,IAAI,CAACX,MAAM;YACT,MAAM,IAAI2B,MAAM,CAAC,KAAK,EAAEhB,SAAS,UAAU,CAAC;QAC9C;QAEAX,KAAKjB,OAAO,GAAG;QACf,MAAM,IAAI,CAACkD,QAAQ,CAACjC;QAEpB,IAAI,CAACvB,IAAI,CAAC,gBAAgB;YAAEkC;QAAS;IACvC;IAEA,MAAM0B,YAAY1B,QAAgB,EAAiB;QACjD,MAAMX,OAAO,IAAI,CAACxC,KAAK,CAACsD,GAAG,CAACH;QAC5B,IAAI,CAACX,MAAM;YACT,MAAM,IAAI2B,MAAM,CAAC,KAAK,EAAEhB,SAAS,UAAU,CAAC;QAC9C;QAEAX,KAAKjB,OAAO,GAAG;QACf,MAAM,IAAI,CAACkD,QAAQ,CAACjC;QAEpB,IAAI,CAACvB,IAAI,CAAC,iBAAiB;YAAEkC;QAAS;IACxC;IAEA;;GAEC,GACD,MAAMhB,SAASgB,QAAgB,EAAE2B,MAAe,EAAiB;QAC/D,MAAMtC,OAAO,IAAI,CAACxC,KAAK,CAACsD,GAAG,CAACH;QAC5B,IAAI,CAACX,MAAM;YACT,MAAM,IAAI2B,MAAM,CAAC,KAAK,EAAEhB,SAAS,UAAU,CAAC;QAC9C;QAEAX,KAAKjB,OAAO,GAAG;QACfiB,KAAKf,iBAAiB,GAAG;QACzB,MAAM,IAAI,CAACgD,QAAQ,CAACjC;QAEpB,IAAI,CAACvB,IAAI,CAAC,sBAAsB;YAC9BkC;YACA2B,QAAQA,UAAU;YAClBC,WAAW,IAAIhD,OAAOC,WAAW;QACnC;IACF;IAEA;;GAEC,GACD,MAAchB,oBAAmC;QAC/C,KAAK,MAAM,CAACmC,UAAUX,KAAK,IAAI,IAAI,CAACxC,KAAK,CAAE;YACzC,IAAI,CAACwC,KAAKL,QAAQ,EAAEZ,WAAW,CAACiB,KAAKjB,OAAO,EAAE;YAE9C,MAAMrB,UAAU,IAAI,CAACA,OAAO,CAACoD,GAAG,CAACH;YACjC,IAAI,CAACjD,SAAS;YAEd,IAAIA,QAAQ8E,SAAS,GAAGxC,KAAKL,QAAQ,CAACC,SAAS,EAAE;gBAC/C,IAAII,KAAKL,QAAQ,CAACE,YAAY,EAAE;oBAC9B,MAAM,IAAI,CAACF,QAAQ,CACjBgB,UACA,CAAC,0BAA0B,EAAEjD,QAAQ8E,SAAS,CAAC,oBAAoB,EAAExC,KAAKL,QAAQ,CAACC,SAAS,EAAE;gBAElG,OAAO;oBACL,IAAI,CAACnB,IAAI,CAAC,+BAA+B;wBACvCkC;wBACA6B,WAAW9E,QAAQ8E,SAAS;wBAC5B5C,WAAWI,KAAKL,QAAQ,CAACC,SAAS;oBACpC;gBACF;YACF;QACF;IACF;IAEQmB,aAAaJ,QAAgB,EAAE8B,KAAa,EAAQ;QAC1D,MAAM/E,UAAU,IAAI,CAACA,OAAO,CAACoD,GAAG,CAACH;QACjC,IAAIjD,SAAS;YACXA,QAAQgF,SAAS;YACjB,IAAID,UAAU,SAAS;gBACrB/E,QAAQ8E,SAAS,GAAG,AAAC9E,CAAAA,QAAQ8E,SAAS,GAAG9E,QAAQgF,SAAS,GAAG,CAAA,IAAMhF,CAAAA,QAAQgF,SAAS,GAAG,CAAA;YACzF,OAAO,IAAID,UAAU,WAAW;gBAC9B/E,QAAQiF,WAAW,GACjB,AAACjF,CAAAA,QAAQiF,WAAW,GAAGjF,QAAQgF,SAAS,GAAG,CAAA,IAAMhF,CAAAA,QAAQgF,SAAS,GAAG,CAAA;YACzE;YACAhF,QAAQkF,WAAW,GAAG,IAAIrD,OAAOC,WAAW;QAC9C;IACF;IAEQU,kBAAkBS,QAAgB,EAAQ;QAChD,IAAI,CAACjD,OAAO,CAACuC,GAAG,CAACU,UAAU;YACzBA;YACAkC,mBAAmB,IAAI,CAACrF,KAAK,CAACsD,GAAG,CAACH,WAAW1B,qBAAqB;YAClEyC,kBAAkB,IAAI,CAAClE,KAAK,CAACsD,GAAG,CAACH,WAAW1B,qBAAqB;YACjE0D,aAAa;YACbH,WAAW;YACXE,WAAW;YACXE,aAAa,IAAIrD,OAAOC,WAAW;QACrC;IACF;IAEQyB,WAAWL,MAAc,EAAED,QAAgB,EAAU;QAC3D,IAAIK,OAAO;QACX,MAAM8B,MAAM,GAAGlC,OAAO,CAAC,EAAED,UAAU;QACnC,IAAK,IAAIoC,IAAI,GAAGA,IAAID,IAAIE,MAAM,EAAED,IAAK;YACnC,MAAME,OAAOH,IAAII,UAAU,CAACH;YAC5B/B,OAAO,AAACA,CAAAA,QAAQ,CAAA,IAAKA,OAAOiC;YAC5BjC,OAAOA,OAAOA,MAAM,4BAA4B;QAClD;QACA,OAAOa,KAAKsB,GAAG,CAACnC,QAAQ;IAC1B;IAEA,MAAc5C,YAA2B;QACvC,IAAI;YACF,MAAMgF,aAAa9F,KAAKW,IAAI,CAAC,IAAI,CAACN,UAAU,EAAE;YAC9C,MAAM0F,OAAO,MAAMhG,GAAGiG,QAAQ,CAACF,YAAY;YAC3C,MAAM5F,QAAQ+F,KAAKC,KAAK,CAACH;YAEzB,KAAK,MAAMrD,QAAQxC,MAAO;gBACxB,IAAI,CAACA,KAAK,CAACyC,GAAG,CAACD,KAAKlB,IAAI,EAAEkB;YAC5B;QACF,EAAE,OAAOpB,OAAO;YACd,4CAA4C;YAC5C,MAAMvB,GAAGoG,KAAK,CAAC,IAAI,CAAC9F,UAAU,EAAE;gBAAE+F,WAAW;YAAK;QACpD;IACF;IAEA,MAAcrF,cAA6B;QACzC,IAAI;YACF,MAAMsF,cAAcrG,KAAKW,IAAI,CAAC,IAAI,CAACL,WAAW,EAAE;YAChD,MAAMyF,OAAO,MAAMhG,GAAGiG,QAAQ,CAACK,aAAa;YAC5C,MAAMjG,UAAU6F,KAAKC,KAAK,CAACH;YAE3B,KAAK,MAAMO,UAAUlG,QAAS;gBAC5B,IAAI,CAACA,OAAO,CAACuC,GAAG,CAAC2D,OAAOjD,QAAQ,EAAEiD;YACpC;QACF,EAAE,OAAOhF,OAAO;YACd,6CAA6C;YAC7C,MAAMvB,GAAGoG,KAAK,CAAC,IAAI,CAAC7F,WAAW,EAAE;gBAAE8F,WAAW;YAAK;QACrD;IACF;IAEA,MAAczB,SAASjC,IAAuB,EAAiB;QAC7D,MAAM3C,GAAGoG,KAAK,CAAC,IAAI,CAAC9F,UAAU,EAAE;YAAE+F,WAAW;QAAK;QAClD,MAAMG,WAAWvG,KAAKW,IAAI,CAAC,IAAI,CAACN,UAAU,EAAE,GAAGqC,KAAKlB,IAAI,CAAC,KAAK,CAAC;QAC/D,MAAMzB,GAAGyG,SAAS,CAACD,UAAUN,KAAKQ,SAAS,CAAC/D,MAAM,MAAM;IAC1D;IAEA,MAAMgE,cAA6B;QACjC,MAAM3G,GAAGoG,KAAK,CAAC,IAAI,CAAC7F,WAAW,EAAE;YAAE8F,WAAW;QAAK;QACnD,MAAMC,cAAcrG,KAAKW,IAAI,CAAC,IAAI,CAACL,WAAW,EAAE;QAChD,MAAMqG,eAAeC,MAAMC,IAAI,CAAC,IAAI,CAACzG,OAAO,CAAC0G,MAAM;QACnD,MAAM/G,GAAGyG,SAAS,CAACH,aAAaJ,KAAKQ,SAAS,CAACE,cAAc,MAAM;IACrE;IAEAI,WAAW1D,QAAiB,EAAoB;QAC9C,IAAIA,UAAU;YACZ,MAAMiD,SAAS,IAAI,CAAClG,OAAO,CAACoD,GAAG,CAACH;YAChC,OAAOiD,SAAS;gBAACA;aAAO,GAAG,EAAE;QAC/B;QACA,OAAOM,MAAMC,IAAI,CAAC,IAAI,CAACzG,OAAO,CAAC0G,MAAM;IACvC;IAEAE,cAAmC;QACjC,OAAOJ,MAAMC,IAAI,CAAC,IAAI,CAAC3G,KAAK,CAAC4G,MAAM;IACrC;AACF"}
|
|
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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"}
|
|
@@ -22,6 +22,8 @@ export class ProviderManager extends EventEmitter {
|
|
|
22
22
|
cache = new Map();
|
|
23
23
|
currentProviderIndex = 0;
|
|
24
24
|
tieredRouter;
|
|
25
|
+
monitoringInterval;
|
|
26
|
+
isShutdown = false;
|
|
25
27
|
constructor(logger, configManager, config){
|
|
26
28
|
super();
|
|
27
29
|
this.logger = logger;
|
|
@@ -37,6 +39,11 @@ export class ProviderManager extends EventEmitter {
|
|
|
37
39
|
if (config.monitoring?.enabled) {
|
|
38
40
|
this.startMonitoring();
|
|
39
41
|
}
|
|
42
|
+
// Register automatic cleanup on process termination
|
|
43
|
+
process.on('SIGTERM', ()=>this.destroy());
|
|
44
|
+
process.on('SIGINT', ()=>this.destroy());
|
|
45
|
+
process.on('beforeExit', ()=>this.destroy());
|
|
46
|
+
this.logger.info('ProviderManager auto-shutdown hooks registered');
|
|
40
47
|
}
|
|
41
48
|
/**
|
|
42
49
|
* Initialize all configured providers
|
|
@@ -103,6 +110,9 @@ export class ProviderManager extends EventEmitter {
|
|
|
103
110
|
/**
|
|
104
111
|
* Complete a request using the appropriate provider
|
|
105
112
|
*/ async complete(request, agentType) {
|
|
113
|
+
if (this.isShutdown) {
|
|
114
|
+
throw new Error('ProviderManager is shutdown');
|
|
115
|
+
}
|
|
106
116
|
// Check cache first
|
|
107
117
|
if (this.config.caching?.enabled) {
|
|
108
118
|
const cached = this.checkCache(request);
|
|
@@ -436,7 +446,7 @@ export class ProviderManager extends EventEmitter {
|
|
|
436
446
|
/**
|
|
437
447
|
* Start monitoring
|
|
438
448
|
*/ startMonitoring() {
|
|
439
|
-
setInterval(()=>{
|
|
449
|
+
this.monitoringInterval = setInterval(()=>{
|
|
440
450
|
this.emitMetrics();
|
|
441
451
|
}, this.config.monitoring?.metricsInterval || 60000);
|
|
442
452
|
}
|
|
@@ -479,6 +489,9 @@ export class ProviderManager extends EventEmitter {
|
|
|
479
489
|
/**
|
|
480
490
|
* Get available providers
|
|
481
491
|
*/ getAvailableProviders() {
|
|
492
|
+
if (this.isShutdown) {
|
|
493
|
+
throw new Error('ProviderManager is shutdown');
|
|
494
|
+
}
|
|
482
495
|
return Array.from(this.providers.keys()).filter((name)=>{
|
|
483
496
|
const provider = this.providers.get(name);
|
|
484
497
|
return provider && this.isProviderAvailable(provider);
|
|
@@ -487,23 +500,43 @@ export class ProviderManager extends EventEmitter {
|
|
|
487
500
|
/**
|
|
488
501
|
* Get provider by name
|
|
489
502
|
*/ getProvider(name) {
|
|
503
|
+
if (this.isShutdown) {
|
|
504
|
+
throw new Error('ProviderManager is shutdown');
|
|
505
|
+
}
|
|
490
506
|
return this.providers.get(name);
|
|
491
507
|
}
|
|
492
508
|
/**
|
|
493
509
|
* Get all providers
|
|
494
510
|
*/ getAllProviders() {
|
|
511
|
+
if (this.isShutdown) {
|
|
512
|
+
throw new Error('ProviderManager is shutdown');
|
|
513
|
+
}
|
|
495
514
|
return new Map(this.providers);
|
|
496
515
|
}
|
|
497
516
|
/**
|
|
498
517
|
* Clean up resources
|
|
499
518
|
*/ destroy() {
|
|
500
|
-
|
|
519
|
+
if (this.isShutdown) return; // Idempotent guard
|
|
520
|
+
this.isShutdown = true;
|
|
521
|
+
this.logger.info('Destroying provider manager');
|
|
522
|
+
// Clear monitoring interval to prevent memory leak
|
|
523
|
+
if (this.monitoringInterval) {
|
|
524
|
+
clearInterval(this.monitoringInterval);
|
|
525
|
+
this.monitoringInterval = undefined;
|
|
526
|
+
}
|
|
527
|
+
// Destroy all providers
|
|
528
|
+
for (const [name, provider] of this.providers.entries()){
|
|
529
|
+
this.logger.info(`Destroying provider: ${name}`);
|
|
501
530
|
provider.destroy();
|
|
502
531
|
}
|
|
532
|
+
// Clean up event listeners to prevent memory leaks
|
|
533
|
+
this.removeAllListeners();
|
|
503
534
|
this.providers.clear();
|
|
504
535
|
this.cache.clear();
|
|
505
536
|
this.providerMetrics.clear();
|
|
506
|
-
this.
|
|
537
|
+
this.requestCount.clear();
|
|
538
|
+
this.lastUsed.clear();
|
|
539
|
+
this.logger.info('ProviderManager cleanup completed');
|
|
507
540
|
}
|
|
508
541
|
}
|
|
509
542
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/providers/provider-manager.ts"],"names":["EventEmitter","LLMProviderError","isRateLimitError","AnthropicProvider","OpenAIProvider","GoogleProvider","CohereProvider","OllamaProvider","ZaiProvider","createTieredRouter","ProviderManager","providers","Map","logger","config","requestCount","lastUsed","providerMetrics","cache","currentProviderIndex","tieredRouter","configManager","tieredRouting","enabled","info","initializeProviders","monitoring","startMonitoring","providerName","providerConfig","Object","entries","provider","createProvider","set","error","size","Error","name","providerOptions","warn","initialize","on","data","handleProviderResponse","handleProviderError","result","handleHealthCheck","complete","request","agentType","caching","cached","checkCache","debug","selectProvider","response","cacheResponse","updateProviderMetrics","success","latency","cost","totalCost","handleRequestError","streamComplete","fallbackProvider","getFallbackProvider","effectiveAgentType","selectedProvider","get","isProviderAvailable","preferredProvider","costOptimization","costConstraints","optimized","selectOptimalProvider","loadBalancing","selectLoadBalancedProvider","defaultProvider","values","bestProvider","bestCost","Infinity","estimate","estimateCost","estimatedCost","total","maxCostPerRequest","availableProviders","Array","from","filter","p","length","strategy","roundRobinSelect","leastLoadedSelect","latencyBasedSelect","costBasedSelect","minLoad","status","getStatus","currentLoad","minLatency","metrics","avgLatency","reduce","sum","m","minCost","avgCost","available","failedProvider","fallbackStrategy","errorCondition","getErrorCondition","fallbackRule","rules","find","rule","condition","fallbackProviders","statusCode","code","cacheKey","generateCacheKey","age","Date","now","timestamp","getTime","ttl","delete","oldestKey","keys","next","value","JSON","stringify","model","messages","temperature","maxTokens","count","providerMetricsList","errorRate","successRate","push","load","availability","shift","emit","setInterval","emitMetrics","metricsInterval","totalRequests","averageLatency","requests","totalLatency","latencyCount","metric","getAvailableProviders","getProvider","getAllProviders","destroy","clear","removeAllListeners"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/providers/provider-manager.ts"],"names":["EventEmitter","LLMProviderError","isRateLimitError","AnthropicProvider","OpenAIProvider","GoogleProvider","CohereProvider","OllamaProvider","ZaiProvider","createTieredRouter","ProviderManager","providers","Map","logger","config","requestCount","lastUsed","providerMetrics","cache","currentProviderIndex","tieredRouter","monitoringInterval","isShutdown","configManager","tieredRouting","enabled","info","initializeProviders","monitoring","startMonitoring","process","on","destroy","providerName","providerConfig","Object","entries","provider","createProvider","set","error","size","Error","name","providerOptions","warn","initialize","data","handleProviderResponse","handleProviderError","result","handleHealthCheck","complete","request","agentType","caching","cached","checkCache","debug","selectProvider","response","cacheResponse","updateProviderMetrics","success","latency","cost","totalCost","handleRequestError","streamComplete","fallbackProvider","getFallbackProvider","effectiveAgentType","selectedProvider","get","isProviderAvailable","preferredProvider","costOptimization","costConstraints","optimized","selectOptimalProvider","loadBalancing","selectLoadBalancedProvider","defaultProvider","values","bestProvider","bestCost","Infinity","estimate","estimateCost","estimatedCost","total","maxCostPerRequest","availableProviders","Array","from","filter","p","length","strategy","roundRobinSelect","leastLoadedSelect","latencyBasedSelect","costBasedSelect","minLoad","status","getStatus","currentLoad","minLatency","metrics","avgLatency","reduce","sum","m","minCost","avgCost","available","failedProvider","fallbackStrategy","errorCondition","getErrorCondition","fallbackRule","rules","find","rule","condition","fallbackProviders","statusCode","code","cacheKey","generateCacheKey","age","Date","now","timestamp","getTime","ttl","delete","oldestKey","keys","next","value","JSON","stringify","model","messages","temperature","maxTokens","count","providerMetricsList","errorRate","successRate","push","load","availability","shift","emit","setInterval","emitMetrics","metricsInterval","totalRequests","averageLatency","requests","totalLatency","latencyCount","metric","getAvailableProviders","getProvider","getAllProviders","clearInterval","undefined","removeAllListeners","clear"],"mappings":"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"}
|