claude-flow-novice 1.6.4 → 1.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/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/package.json +2 -2
- package/scripts/monitoring/alert-monitor.sh +220 -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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/coordination/archives/v2-sdk-typescript/v2/sdk/checkpoint-manager.ts"],"names":["createHash","timingSafeEqual","promises","fs","path","msgpack","AgentState","CheckpointCompressor","CheckpointManager","MAX_IN_MEMORY_CHECKPOINTS","checkpoints","Map","sessions","agentSessions","sessionCheckpoints","messageUUIDIndex","storagePath","metrics","restoreLatencies","autoCheckpointEnabled","initialized","storeMetrics","initTime","Date","now","cleanupInterval","retentionHours","restoredCheckpoints","Set","maxCheckpointAge","compressor","totalCheckpoints","totalRestores","averageCreateTimeMs","averageRestoreTimeMs","p95RestoreTimeMs","p99RestoreTimeMs","compressionRatio","totalStorageMb","totalSessions","averageCompressionRatio","averageReadLatencyMs","averageWriteLatencyMs","totalReads","totalWrites","totalDeletions","uptimeMs","ensureStorageDirectory","setInterval","cleanExpiredCheckpoints","catch","error","console","createCheckpoint","sessionId","agentId","messageUUID","state","stateSnapshot","metadata","startTime","performance","checkpointId","generateCheckpointId","timestamp","previousCheckpointData","getLatestCheckpointData","previousCheckpointId","id","compressionResult","compress","compressedBuffer","compressedSize","uncompressedSize","checksum","calculateChecksum","checkpoint","reason","autoCheckpoint","pendingDependencies","context","size","oldest","Array","from","entries","sort","a","b","oldestId","evictedCheckpoint","delete","get","index","indexOf","splice","log","deleteCheckpointFile","warn","set","has","push","persistCheckpoint","createTime","toFixed","restoreCheckpoint","Error","age","currentChecksum","add","restoredState","latencyMs","updatePercentileMetrics","success","restoreFromMessageUUID","autoCheckpointOnTransition","fromState","toState","criticalTransitions","WORKING","WAITING","BLOCKED","COMPLETED","transition","includes","checkpointIds","map","filter","Boolean","length","deleteCheckpoint","filePath","getCheckpointFilePath","unlink","cleanup","maxCheckpointsPerSession","cutoffTime","deletedCount","toDelete","slice","retentionMs","getCheckpointMetrics","getCheckpointCompressionDetails","setAutoCheckpointEnabled","enabled","loadFromDisk","files","readdir","checkpointFiles","f","endsWith","loadedCount","file","join","buffer","readFile","decode","checkpointBuffer","encode","writeFile","stats","stat","hash","update","digest","substring","data","dataString","JSON","stringify","Object","keys","sorted","p95Index","Math","floor","p99Index","access","mkdir","recursive","storeSession","session","sessionPath","dirname","writeTime","getSession","readTime","getSessionByAgentId","updateSession","updates","updatedSession","deleteSession","querySessions","values","s","isPaused","undefined","priorityMin","priority","priorityMax","offset","limit","listSessions","storeCheckpoint","checkpointData","getTime","uncompressedData","Buffer","byteLength","getCheckpoint","getCheckpointByMessageUUID","getLatestCheckpoint","listCheckpoints","queryCheckpoints","c","createdAfter","createdBefore","verifyCheckpointIntegrity","currentBuf","storedBuf","compact","sessionsToCompact","getMetrics","healthCheck","errors","testPath","healthy","initialize","close","clearInterval","shutdown","getMemoryStats","oldestAge","max","checkpointCount","memoryUsageMB","process","memoryUsage","heapUsed","oldestCheckpointAge","isReady"],"mappings":"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"}
|
|
@@ -0,0 +1,470 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Coordination V2 - Help Coordinator
|
|
3
|
+
*
|
|
4
|
+
* Manages helper agent pool with WAITING state pause, zero-cost pooling, and event-driven resume.
|
|
5
|
+
*
|
|
6
|
+
* Features:
|
|
7
|
+
* - Pause helper agents in WAITING state (zero token consumption)
|
|
8
|
+
* - Event-driven resume on help request arrival (<50ms)
|
|
9
|
+
* - Checkpoint recovery for helper state (<500ms p99)
|
|
10
|
+
* - Support 50+ paused agents simultaneously
|
|
11
|
+
* - Integration with QueryController for agent lifecycle
|
|
12
|
+
*
|
|
13
|
+
* @module coordination/v2/sdk/help-coordinator
|
|
14
|
+
*/ import { EventEmitter } from 'node:events';
|
|
15
|
+
import { Logger } from '../../../core/logger.js';
|
|
16
|
+
import { generateId } from '../../../utils/helpers.js';
|
|
17
|
+
import { AgentState } from '../../shared/core/agent-state.js';
|
|
18
|
+
/**
|
|
19
|
+
* HelpCoordinator - Manages helper agent pool with zero-cost WAITING state pause
|
|
20
|
+
*
|
|
21
|
+
* Workflow:
|
|
22
|
+
* 1. Helper agents register with pool
|
|
23
|
+
* 2. Idle helpers auto-pause after maxIdleTimeMs (zero token cost)
|
|
24
|
+
* 3. Help request arrives → find best helper → resume in <50ms
|
|
25
|
+
* 4. Helper completes task → return to pool → auto-pause if idle
|
|
26
|
+
*/ export class HelpCoordinator extends EventEmitter {
|
|
27
|
+
logger;
|
|
28
|
+
config;
|
|
29
|
+
queryController;
|
|
30
|
+
helpers;
|
|
31
|
+
helpRequests;
|
|
32
|
+
assignments;
|
|
33
|
+
metrics;
|
|
34
|
+
autoPauseTimer;
|
|
35
|
+
// Performance tracking for p99 metrics
|
|
36
|
+
resumeLatencies = [];
|
|
37
|
+
checkpointRecoveryLatencies = [];
|
|
38
|
+
MAX_LATENCY_SAMPLES = 1000;
|
|
39
|
+
constructor(queryController, config = {}){
|
|
40
|
+
super();
|
|
41
|
+
this.logger = new Logger({
|
|
42
|
+
level: 'info',
|
|
43
|
+
format: 'text',
|
|
44
|
+
destination: 'console'
|
|
45
|
+
});
|
|
46
|
+
this.config = {
|
|
47
|
+
maxPausedAgents: config.maxPausedAgents ?? 50,
|
|
48
|
+
maxIdleTimeMs: config.maxIdleTimeMs ?? 30000,
|
|
49
|
+
enableAutoPause: config.enableAutoPause ?? true,
|
|
50
|
+
resumeTimeoutMs: config.resumeTimeoutMs ?? 50,
|
|
51
|
+
checkpointRecoveryTimeoutMs: config.checkpointRecoveryTimeoutMs ?? 500
|
|
52
|
+
};
|
|
53
|
+
this.queryController = queryController;
|
|
54
|
+
this.helpers = new Map();
|
|
55
|
+
this.helpRequests = new Map();
|
|
56
|
+
this.assignments = new Map();
|
|
57
|
+
this.metrics = this.initializeMetrics();
|
|
58
|
+
// Start auto-pause monitoring if enabled
|
|
59
|
+
if (this.config.enableAutoPause) {
|
|
60
|
+
this.startAutoPauseMonitoring();
|
|
61
|
+
}
|
|
62
|
+
this.logger.info('HelpCoordinator initialized', {
|
|
63
|
+
maxPausedAgents: this.config.maxPausedAgents,
|
|
64
|
+
maxIdleTimeMs: this.config.maxIdleTimeMs,
|
|
65
|
+
enableAutoPause: this.config.enableAutoPause
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Register helper agent with pool
|
|
70
|
+
*/ async registerHelper(agentId, type, specializations, priority = 5, metadata = {}) {
|
|
71
|
+
const sessionId = generateId('helper-session');
|
|
72
|
+
// Register session with QueryController
|
|
73
|
+
const session = this.queryController.registerSession(agentId, sessionId, priority);
|
|
74
|
+
const helper = {
|
|
75
|
+
agentId,
|
|
76
|
+
sessionId,
|
|
77
|
+
type,
|
|
78
|
+
state: AgentState.IDLE,
|
|
79
|
+
isPaused: false,
|
|
80
|
+
priority,
|
|
81
|
+
specializations,
|
|
82
|
+
workload: 0.0,
|
|
83
|
+
lastActiveAt: Date.now(),
|
|
84
|
+
metadata
|
|
85
|
+
};
|
|
86
|
+
this.helpers.set(agentId, helper);
|
|
87
|
+
this.metrics.totalHelpers++;
|
|
88
|
+
this.metrics.idleHelpers++;
|
|
89
|
+
this.logger.info('Helper registered', {
|
|
90
|
+
agentId,
|
|
91
|
+
type,
|
|
92
|
+
specializations,
|
|
93
|
+
priority
|
|
94
|
+
});
|
|
95
|
+
this.emit('helper:registered', helper);
|
|
96
|
+
return helper;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Submit help request and assign available helper
|
|
100
|
+
*/ async requestHelp(requesterId, helpType, requiredSpecializations = [], priority = 5, context = {}) {
|
|
101
|
+
const requestId = generateId('help-req');
|
|
102
|
+
const request = {
|
|
103
|
+
requestId,
|
|
104
|
+
requesterId,
|
|
105
|
+
helpType,
|
|
106
|
+
requiredSpecializations,
|
|
107
|
+
priority,
|
|
108
|
+
context,
|
|
109
|
+
timestamp: Date.now()
|
|
110
|
+
};
|
|
111
|
+
this.helpRequests.set(requestId, request);
|
|
112
|
+
this.metrics.totalRequests++;
|
|
113
|
+
this.logger.debug('Help request received', {
|
|
114
|
+
requestId,
|
|
115
|
+
requesterId,
|
|
116
|
+
helpType,
|
|
117
|
+
requiredSpecializations,
|
|
118
|
+
priority
|
|
119
|
+
});
|
|
120
|
+
// Find best available helper
|
|
121
|
+
const helper = await this.findBestHelper(requiredSpecializations, priority);
|
|
122
|
+
if (!helper) {
|
|
123
|
+
this.metrics.failedAssignments++;
|
|
124
|
+
this.logger.warn('No available helper for request', {
|
|
125
|
+
requestId,
|
|
126
|
+
requiredSpecializations
|
|
127
|
+
});
|
|
128
|
+
this.emit('help:request-failed', {
|
|
129
|
+
request,
|
|
130
|
+
reason: 'No available helper'
|
|
131
|
+
});
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
// Resume helper if paused (event-driven resume)
|
|
135
|
+
const resumeStartTime = Date.now();
|
|
136
|
+
let resumeLatencyMs = 0;
|
|
137
|
+
if (helper.isPaused) {
|
|
138
|
+
const resumeTrigger = {
|
|
139
|
+
type: 'help_request',
|
|
140
|
+
agentId: helper.agentId,
|
|
141
|
+
metadata: {
|
|
142
|
+
requestId,
|
|
143
|
+
requesterId,
|
|
144
|
+
helpType
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
const resumeResult = await this.queryController.handleResumeTrigger(resumeTrigger);
|
|
148
|
+
if (resumeResult && resumeResult.success) {
|
|
149
|
+
resumeLatencyMs = Date.now() - resumeStartTime;
|
|
150
|
+
this.trackResumeLatency(resumeLatencyMs);
|
|
151
|
+
this.logger.info('Helper resumed for help request', {
|
|
152
|
+
agentId: helper.agentId,
|
|
153
|
+
resumeLatencyMs,
|
|
154
|
+
requestId
|
|
155
|
+
});
|
|
156
|
+
} else {
|
|
157
|
+
this.logger.error('Failed to resume helper', {
|
|
158
|
+
agentId: helper.agentId,
|
|
159
|
+
requestId
|
|
160
|
+
});
|
|
161
|
+
this.metrics.failedAssignments++;
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
// Update metrics BEFORE state change
|
|
166
|
+
const previousState = helper.state;
|
|
167
|
+
const wasPaused = helper.isPaused;
|
|
168
|
+
if (previousState === AgentState.IDLE && !wasPaused) {
|
|
169
|
+
this.metrics.idleHelpers--;
|
|
170
|
+
} else if (wasPaused) {
|
|
171
|
+
this.metrics.pausedHelpers--;
|
|
172
|
+
}
|
|
173
|
+
// Update helper state
|
|
174
|
+
helper.state = AgentState.HELPING;
|
|
175
|
+
helper.isPaused = false;
|
|
176
|
+
helper.workload = 1.0;
|
|
177
|
+
helper.lastActiveAt = Date.now();
|
|
178
|
+
delete helper.waitingSince;
|
|
179
|
+
this.metrics.activeHelpers++;
|
|
180
|
+
// Create assignment
|
|
181
|
+
const assignmentId = generateId('help-assign');
|
|
182
|
+
const assignment = {
|
|
183
|
+
assignmentId,
|
|
184
|
+
request,
|
|
185
|
+
helper,
|
|
186
|
+
resumeLatencyMs,
|
|
187
|
+
timestamp: Date.now()
|
|
188
|
+
};
|
|
189
|
+
this.assignments.set(assignmentId, assignment);
|
|
190
|
+
this.metrics.totalAssignments++;
|
|
191
|
+
this.logger.info('Helper assigned', {
|
|
192
|
+
assignmentId,
|
|
193
|
+
helperId: helper.agentId,
|
|
194
|
+
requestId,
|
|
195
|
+
resumeLatencyMs
|
|
196
|
+
});
|
|
197
|
+
this.emit('help:assigned', assignment);
|
|
198
|
+
return assignment;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Release helper back to pool after task completion
|
|
202
|
+
*/ async releaseHelper(agentId, pauseImmediately = false) {
|
|
203
|
+
const helper = this.helpers.get(agentId);
|
|
204
|
+
if (!helper) {
|
|
205
|
+
throw new Error(`Helper ${agentId} not found`);
|
|
206
|
+
}
|
|
207
|
+
// Update metrics BEFORE state change
|
|
208
|
+
if (helper.state === AgentState.HELPING) {
|
|
209
|
+
this.metrics.activeHelpers--;
|
|
210
|
+
}
|
|
211
|
+
// Update helper state
|
|
212
|
+
helper.state = AgentState.IDLE;
|
|
213
|
+
helper.workload = 0.0;
|
|
214
|
+
helper.lastActiveAt = Date.now();
|
|
215
|
+
delete helper.waitingSince;
|
|
216
|
+
this.metrics.idleHelpers++;
|
|
217
|
+
this.logger.debug('Helper released to pool', {
|
|
218
|
+
agentId,
|
|
219
|
+
pauseImmediately
|
|
220
|
+
});
|
|
221
|
+
// Pause immediately if requested (zero-cost pooling)
|
|
222
|
+
if (pauseImmediately && this.config.enableAutoPause) {
|
|
223
|
+
await this.pauseHelper(agentId, 'Released to pool');
|
|
224
|
+
}
|
|
225
|
+
this.emit('helper:released', helper);
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Pause helper agent (zero token cost)
|
|
229
|
+
*/ async pauseHelper(agentId, reason = 'Auto-pause idle helper') {
|
|
230
|
+
const helper = this.helpers.get(agentId);
|
|
231
|
+
if (!helper) {
|
|
232
|
+
throw new Error(`Helper ${agentId} not found`);
|
|
233
|
+
}
|
|
234
|
+
if (helper.isPaused) {
|
|
235
|
+
this.logger.warn('Helper already paused', {
|
|
236
|
+
agentId
|
|
237
|
+
});
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
// Check pool capacity
|
|
241
|
+
if (this.metrics.pausedHelpers >= this.config.maxPausedAgents) {
|
|
242
|
+
this.logger.warn('Max paused agents reached, not pausing', {
|
|
243
|
+
agentId,
|
|
244
|
+
maxPausedAgents: this.config.maxPausedAgents
|
|
245
|
+
});
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
// Pause via QueryController
|
|
249
|
+
const pauseResult = await this.queryController.interrupt(helper.sessionId, reason);
|
|
250
|
+
if (pauseResult.success) {
|
|
251
|
+
// Update metrics BEFORE state change
|
|
252
|
+
if (helper.state === AgentState.IDLE) {
|
|
253
|
+
this.metrics.idleHelpers--;
|
|
254
|
+
}
|
|
255
|
+
helper.isPaused = true;
|
|
256
|
+
helper.state = AgentState.WAITING;
|
|
257
|
+
helper.waitingSince = Date.now();
|
|
258
|
+
this.metrics.pausedHelpers++;
|
|
259
|
+
// Estimate tokens saved (based on default budget)
|
|
260
|
+
const allocation = this.queryController.getResourceAllocation(agentId);
|
|
261
|
+
if (allocation) {
|
|
262
|
+
this.metrics.tokensSaved += allocation.tokenBudget - allocation.currentUsage;
|
|
263
|
+
}
|
|
264
|
+
this.logger.debug('Helper paused', {
|
|
265
|
+
agentId,
|
|
266
|
+
pauseLatencyMs: pauseResult.latencyMs,
|
|
267
|
+
checkpointId: pauseResult.checkpoint.id
|
|
268
|
+
});
|
|
269
|
+
this.emit('helper:paused', {
|
|
270
|
+
helper,
|
|
271
|
+
pauseResult
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Resume helper from checkpoint
|
|
277
|
+
*/ async resumeHelper(agentId, messageUUID, reason = 'Manual resume') {
|
|
278
|
+
const helper = this.helpers.get(agentId);
|
|
279
|
+
if (!helper) {
|
|
280
|
+
throw new Error(`Helper ${agentId} not found`);
|
|
281
|
+
}
|
|
282
|
+
if (!helper.isPaused) {
|
|
283
|
+
this.logger.warn('Helper not paused', {
|
|
284
|
+
agentId
|
|
285
|
+
});
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
288
|
+
const checkpointStartTime = Date.now();
|
|
289
|
+
// Resume via QueryController
|
|
290
|
+
const resumeResult = await this.queryController.resumeSessionAt(helper.sessionId, messageUUID, reason);
|
|
291
|
+
if (resumeResult.success) {
|
|
292
|
+
const checkpointRecoveryMs = Math.max(Date.now() - checkpointStartTime, 0.001);
|
|
293
|
+
this.trackCheckpointRecovery(checkpointRecoveryMs);
|
|
294
|
+
// Update metrics BEFORE state change
|
|
295
|
+
if (helper.isPaused) {
|
|
296
|
+
this.metrics.pausedHelpers--;
|
|
297
|
+
}
|
|
298
|
+
helper.isPaused = false;
|
|
299
|
+
helper.state = AgentState.IDLE;
|
|
300
|
+
helper.lastActiveAt = Date.now();
|
|
301
|
+
delete helper.waitingSince;
|
|
302
|
+
this.metrics.idleHelpers++;
|
|
303
|
+
this.logger.info('Helper resumed from checkpoint', {
|
|
304
|
+
agentId,
|
|
305
|
+
checkpointRecoveryMs,
|
|
306
|
+
resumeLatencyMs: resumeResult.latencyMs
|
|
307
|
+
});
|
|
308
|
+
this.emit('helper:resumed', {
|
|
309
|
+
helper,
|
|
310
|
+
resumeResult,
|
|
311
|
+
checkpointRecoveryMs
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Find best available helper for request
|
|
317
|
+
* Scoring: specialization match > priority > workload > lastActiveAt
|
|
318
|
+
*/ async findBestHelper(requiredSpecializations, requestPriority) {
|
|
319
|
+
const availableHelpers = Array.from(this.helpers.values()).filter((h)=>h.state === AgentState.IDLE || h.isPaused && h.state === AgentState.WAITING);
|
|
320
|
+
if (availableHelpers.length === 0) {
|
|
321
|
+
return null;
|
|
322
|
+
}
|
|
323
|
+
// Score helpers
|
|
324
|
+
const scoredHelpers = availableHelpers.map((helper)=>{
|
|
325
|
+
let score = 0;
|
|
326
|
+
// Specialization match (most important)
|
|
327
|
+
if (requiredSpecializations.length > 0) {
|
|
328
|
+
const matchCount = requiredSpecializations.filter((req)=>helper.specializations.includes(req)).length;
|
|
329
|
+
score += matchCount / requiredSpecializations.length * 100;
|
|
330
|
+
} else {
|
|
331
|
+
score += 50; // Neutral if no specializations required
|
|
332
|
+
}
|
|
333
|
+
// Priority match (prefer similar priority)
|
|
334
|
+
const priorityDiff = Math.abs(helper.priority - requestPriority);
|
|
335
|
+
score += (10 - priorityDiff) * 5;
|
|
336
|
+
// Prefer idle over paused (avoid resume latency if possible)
|
|
337
|
+
if (helper.state === AgentState.IDLE) {
|
|
338
|
+
score += 20;
|
|
339
|
+
}
|
|
340
|
+
// Workload (prefer less busy)
|
|
341
|
+
score += (1.0 - helper.workload) * 10;
|
|
342
|
+
// Recently active (prefer warm helpers)
|
|
343
|
+
const idleTime = Date.now() - helper.lastActiveAt;
|
|
344
|
+
const idleScore = Math.max(0, 10 - idleTime / 1000);
|
|
345
|
+
score += idleScore;
|
|
346
|
+
return {
|
|
347
|
+
helper,
|
|
348
|
+
score
|
|
349
|
+
};
|
|
350
|
+
});
|
|
351
|
+
// Sort by score descending
|
|
352
|
+
scoredHelpers.sort((a, b)=>b.score - a.score);
|
|
353
|
+
return scoredHelpers[0]?.helper ?? null;
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* Auto-pause idle helpers to save tokens
|
|
357
|
+
*/ startAutoPauseMonitoring() {
|
|
358
|
+
this.autoPauseTimer = setInterval(async ()=>{
|
|
359
|
+
const now = Date.now();
|
|
360
|
+
for (const helper of this.helpers.values()){
|
|
361
|
+
if (helper.state === AgentState.IDLE && !helper.isPaused && now - helper.lastActiveAt > this.config.maxIdleTimeMs) {
|
|
362
|
+
try {
|
|
363
|
+
await this.pauseHelper(helper.agentId, 'Auto-pause after idle timeout');
|
|
364
|
+
} catch (error) {
|
|
365
|
+
this.logger.error('Auto-pause failed', {
|
|
366
|
+
agentId: helper.agentId,
|
|
367
|
+
error: error instanceof Error ? error.message : String(error)
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}, this.config.maxIdleTimeMs / 2); // Check at half the idle timeout
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* Track resume latency for p99 calculation
|
|
376
|
+
*/ trackResumeLatency(latencyMs) {
|
|
377
|
+
this.resumeLatencies.push(latencyMs);
|
|
378
|
+
// Keep last N samples
|
|
379
|
+
if (this.resumeLatencies.length > this.MAX_LATENCY_SAMPLES) {
|
|
380
|
+
this.resumeLatencies.shift();
|
|
381
|
+
}
|
|
382
|
+
// Update average
|
|
383
|
+
const sum = this.resumeLatencies.reduce((a, b)=>a + b, 0);
|
|
384
|
+
this.metrics.averageResumeLatencyMs = sum / this.resumeLatencies.length;
|
|
385
|
+
// Update p99
|
|
386
|
+
const sorted = [
|
|
387
|
+
...this.resumeLatencies
|
|
388
|
+
].sort((a, b)=>a - b);
|
|
389
|
+
const p99Index = Math.floor(sorted.length * 0.99);
|
|
390
|
+
this.metrics.p99ResumeLatencyMs = sorted[p99Index] ?? latencyMs;
|
|
391
|
+
}
|
|
392
|
+
/**
|
|
393
|
+
* Track checkpoint recovery latency for p99 calculation
|
|
394
|
+
*/ trackCheckpointRecovery(latencyMs) {
|
|
395
|
+
this.checkpointRecoveryLatencies.push(latencyMs);
|
|
396
|
+
// Keep last N samples
|
|
397
|
+
if (this.checkpointRecoveryLatencies.length > this.MAX_LATENCY_SAMPLES) {
|
|
398
|
+
this.checkpointRecoveryLatencies.shift();
|
|
399
|
+
}
|
|
400
|
+
// Update average
|
|
401
|
+
const sum = this.checkpointRecoveryLatencies.reduce((a, b)=>a + b, 0);
|
|
402
|
+
this.metrics.averageCheckpointRecoveryMs = sum / this.checkpointRecoveryLatencies.length;
|
|
403
|
+
// Update p99
|
|
404
|
+
const sorted = [
|
|
405
|
+
...this.checkpointRecoveryLatencies
|
|
406
|
+
].sort((a, b)=>a - b);
|
|
407
|
+
const p99Index = Math.floor(sorted.length * 0.99);
|
|
408
|
+
this.metrics.p99CheckpointRecoveryMs = sorted[p99Index] ?? latencyMs;
|
|
409
|
+
}
|
|
410
|
+
/**
|
|
411
|
+
* Get help coordinator metrics
|
|
412
|
+
*/ getMetrics() {
|
|
413
|
+
return {
|
|
414
|
+
...this.metrics
|
|
415
|
+
};
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Get all helpers in pool
|
|
419
|
+
*/ getHelpers() {
|
|
420
|
+
return Array.from(this.helpers.values());
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Get paused helpers
|
|
424
|
+
*/ getPausedHelpers() {
|
|
425
|
+
return Array.from(this.helpers.values()).filter((h)=>h.isPaused);
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* Get active helpers
|
|
429
|
+
*/ getActiveHelpers() {
|
|
430
|
+
return Array.from(this.helpers.values()).filter((h)=>h.state === AgentState.HELPING);
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* Get idle helpers
|
|
434
|
+
*/ getIdleHelpers() {
|
|
435
|
+
return Array.from(this.helpers.values()).filter((h)=>h.state === AgentState.IDLE && !h.isPaused);
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* Cleanup coordinator
|
|
439
|
+
*/ async cleanup() {
|
|
440
|
+
this.logger.info('Cleaning up help coordinator', {
|
|
441
|
+
totalHelpers: this.helpers.size,
|
|
442
|
+
pausedHelpers: this.metrics.pausedHelpers
|
|
443
|
+
});
|
|
444
|
+
if (this.autoPauseTimer) {
|
|
445
|
+
clearInterval(this.autoPauseTimer);
|
|
446
|
+
}
|
|
447
|
+
this.helpers.clear();
|
|
448
|
+
this.helpRequests.clear();
|
|
449
|
+
this.assignments.clear();
|
|
450
|
+
this.removeAllListeners();
|
|
451
|
+
}
|
|
452
|
+
initializeMetrics() {
|
|
453
|
+
return {
|
|
454
|
+
totalRequests: 0,
|
|
455
|
+
totalAssignments: 0,
|
|
456
|
+
totalHelpers: 0,
|
|
457
|
+
pausedHelpers: 0,
|
|
458
|
+
activeHelpers: 0,
|
|
459
|
+
idleHelpers: 0,
|
|
460
|
+
averageResumeLatencyMs: 0,
|
|
461
|
+
p99ResumeLatencyMs: 0,
|
|
462
|
+
averageCheckpointRecoveryMs: 0,
|
|
463
|
+
p99CheckpointRecoveryMs: 0,
|
|
464
|
+
tokensSaved: 0,
|
|
465
|
+
failedAssignments: 0
|
|
466
|
+
};
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
//# sourceMappingURL=help-coordinator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/coordination/archives/v2-sdk-typescript/v2/sdk/help-coordinator.ts"],"names":["EventEmitter","Logger","generateId","AgentState","HelpCoordinator","logger","config","queryController","helpers","helpRequests","assignments","metrics","autoPauseTimer","resumeLatencies","checkpointRecoveryLatencies","MAX_LATENCY_SAMPLES","level","format","destination","maxPausedAgents","maxIdleTimeMs","enableAutoPause","resumeTimeoutMs","checkpointRecoveryTimeoutMs","Map","initializeMetrics","startAutoPauseMonitoring","info","registerHelper","agentId","type","specializations","priority","metadata","sessionId","session","registerSession","helper","state","IDLE","isPaused","workload","lastActiveAt","Date","now","set","totalHelpers","idleHelpers","emit","requestHelp","requesterId","helpType","requiredSpecializations","context","requestId","request","timestamp","totalRequests","debug","findBestHelper","failedAssignments","warn","reason","resumeStartTime","resumeLatencyMs","resumeTrigger","resumeResult","handleResumeTrigger","success","trackResumeLatency","error","previousState","wasPaused","pausedHelpers","HELPING","waitingSince","activeHelpers","assignmentId","assignment","totalAssignments","helperId","releaseHelper","pauseImmediately","get","Error","pauseHelper","pauseResult","interrupt","WAITING","allocation","getResourceAllocation","tokensSaved","tokenBudget","currentUsage","pauseLatencyMs","latencyMs","checkpointId","checkpoint","id","resumeHelper","messageUUID","checkpointStartTime","resumeSessionAt","checkpointRecoveryMs","Math","max","trackCheckpointRecovery","requestPriority","availableHelpers","Array","from","values","filter","h","length","scoredHelpers","map","score","matchCount","req","includes","priorityDiff","abs","idleTime","idleScore","sort","a","b","setInterval","message","String","push","shift","sum","reduce","averageResumeLatencyMs","sorted","p99Index","floor","p99ResumeLatencyMs","averageCheckpointRecoveryMs","p99CheckpointRecoveryMs","getMetrics","getHelpers","getPausedHelpers","getActiveHelpers","getIdleHelpers","cleanup","size","clearInterval","clear","removeAllListeners"],"mappings":"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"}
|