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/mcp/transports/http.ts"],"names":["express","createServer","WebSocketServer","WebSocket","cors","helmet","join","dirname","fileURLToPath","MCPTransportError","HttpTransport","requestHandler","notificationHandler","app","server","wss","messageCount","notificationCount","running","connections","Set","activeWebSockets","host","port","tlsEnabled","logger","config","setupMiddleware","setupRoutes","start","info","tls","path","setupWebSocketHandlers","Promise","resolve","reject","listen","on","error","stop","ws","close","clear","undefined","onRequest","handler","onNotification","getHealthStatus","healthy","metrics","messagesReceived","notificationsSent","activeConnections","size","use","corsEnabled","origins","corsOrigins","origin","credentials","maxAge","json","limit","text","__filename","url","__dirname","consoleDir","static","get","req","res","redirect","sendFile","status","timestamp","Date","toISOString","post","handleJsonRpcRequest","options","end","err","next","message","add","totalClients","delete","data","JSON","parse","toString","id","handleNotificationMessage","response","handleRequestMessage","send","stringify","parsed","jsonrpc","code","is","auth","enabled","authResult","validateAuth","valid","mcpMessage","body","method","Error","String","request","notification","warn","headers","authorization","tokenMatch","match","token","tokens","length","isValid","includes","connect","disconnect","sendRequest","sendNotification","readyState","OPEN"],"mappings":"AAAA;;CAEC,GAED,OAAOA,aAA6C,UAAU;AAC9D,SAASC,YAAY,QAAgB,YAAY;AACjD,SAASC,eAAe,EAAEC,SAAS,QAAQ,KAAK;AAChD,OAAOC,UAAU,OAAO;AACxB,OAAOC,YAAY,SAAS;AAC5B,SAASC,IAAI,EAAEC,OAAO,QAAQ,YAAY;AAC1C,SAASC,aAAa,QAAQ,WAAW;AAIzC,SAASC,iBAAiB,QAAQ,wBAAwB;AAE1D;;CAEC,GACD,OAAO,MAAMC;;;;;;IACHC,eAAgC;IAChCC,oBAA0C;IAC1CC,IAAa;IACbC,OAAgB;IAChBC,IAAsB;IACtBC,eAAe,EAAE;IACjBC,oBAAoB,EAAE;IACtBC,UAAU,MAAM;IAChBC,cAAc,IAAIC,MAAiB;IACnCC,mBAAmB,IAAID,MAAiB;IAEhD,YACE,AAAQE,IAAY,EACpB,AAAQC,IAAY,EACpB,AAAQC,UAAmB,EAC3B,AAAQC,MAAe,EACvB,AAAQC,MAAkB,CAC1B;aALQJ,OAAAA;aACAC,OAAAA;aACAC,aAAAA;aACAC,SAAAA;aACAC,SAAAA;QAER,IAAI,CAACb,GAAG,GAAGb;QACX,IAAI,CAAC2B,eAAe;QACpB,IAAI,CAACC,WAAW;IAClB;IAEA,MAAMC,QAAuB;QAC3B,IAAI,IAAI,CAACX,OAAO,EAAE;YAChB,MAAM,IAAIT,kBAAkB;QAC9B;QAEA,IAAI,CAACgB,MAAM,CAACK,IAAI,CAAC,2BAA2B;YAC1CR,MAAM,IAAI,CAACA,IAAI;YACfC,MAAM,IAAI,CAACA,IAAI;YACfQ,KAAK,IAAI,CAACP,UAAU;QACtB;QAEA,IAAI;YACF,qBAAqB;YACrB,IAAI,CAACV,MAAM,GAAGb,aAAa,IAAI,CAACY,GAAG;YAEnC,0BAA0B;YAC1B,IAAI,CAACE,GAAG,GAAG,IAAIb,gBAAgB;gBAC7BY,QAAQ,IAAI,CAACA,MAAM;gBACnBkB,MAAM;YACR;YAEA,IAAI,CAACC,sBAAsB;YAE3B,eAAe;YACf,MAAM,IAAIC,QAAc,CAACC,SAASC;gBAChC,IAAI,CAACtB,MAAM,CAAEuB,MAAM,CAAC,IAAI,CAACd,IAAI,EAAE,IAAI,CAACD,IAAI,EAAE;oBACxC,IAAI,CAACG,MAAM,CAACK,IAAI,CAAC,CAAC,yBAAyB,EAAE,IAAI,CAACR,IAAI,CAAC,CAAC,EAAE,IAAI,CAACC,IAAI,EAAE;oBACrEY;gBACF;gBAEA,IAAI,CAACrB,MAAM,CAAEwB,EAAE,CAAC,SAASF;YAC3B;YAEA,IAAI,CAAClB,OAAO,GAAG;YACf,IAAI,CAACO,MAAM,CAACK,IAAI,CAAC;QACnB,EAAE,OAAOS,OAAO;YACd,MAAM,IAAI9B,kBAAkB,kCAAkC;gBAAE8B;YAAM;QACxE;IACF;IAEA,MAAMC,OAAsB;QAC1B,IAAI,CAAC,IAAI,CAACtB,OAAO,EAAE;YACjB;QACF;QAEA,IAAI,CAACO,MAAM,CAACK,IAAI,CAAC;QAEjB,IAAI,CAACZ,OAAO,GAAG;QAEf,kCAAkC;QAClC,KAAK,MAAMuB,MAAM,IAAI,CAACpB,gBAAgB,CAAE;YACtC,IAAI;gBACFoB,GAAGC,KAAK;YACV,EAAE,OAAM;YACN,gBAAgB;YAClB;QACF;QACA,IAAI,CAACrB,gBAAgB,CAACsB,KAAK;QAC3B,IAAI,CAACxB,WAAW,CAACwB,KAAK;QAEtB,yBAAyB;QACzB,IAAI,IAAI,CAAC5B,GAAG,EAAE;YACZ,IAAI,CAACA,GAAG,CAAC2B,KAAK;YACd,IAAI,CAAC3B,GAAG,GAAG6B;QACb;QAEA,uBAAuB;QACvB,IAAI,IAAI,CAAC9B,MAAM,EAAE;YACf,MAAM,IAAIoB,QAAc,CAACC;gBACvB,IAAI,CAACrB,MAAM,CAAE4B,KAAK,CAAC,IAAMP;YAC3B;YACA,IAAI,CAACrB,MAAM,GAAG8B;QAChB;QAEA,IAAI,CAACnB,MAAM,CAACK,IAAI,CAAC;IACnB;IAEAe,UAAUC,OAAuB,EAAQ;QACvC,IAAI,CAACnC,cAAc,GAAGmC;IACxB;IAEAC,eAAeD,OAA4B,EAAQ;QACjD,IAAI,CAAClC,mBAAmB,GAAGkC;IAC7B;IAEA,MAAME,kBAIH;QACD,OAAO;YACLC,SAAS,IAAI,CAAC/B,OAAO;YACrBgC,SAAS;gBACPC,kBAAkB,IAAI,CAACnC,YAAY;gBACnCoC,mBAAmB,IAAI,CAACnC,iBAAiB;gBACzCoC,mBAAmB,IAAI,CAAClC,WAAW,CAACmC,IAAI;gBACxCjC,kBAAkB,IAAI,CAACA,gBAAgB,CAACiC,IAAI;YAC9C;QACF;IACF;IAEQ3B,kBAAwB;QAC9B,sBAAsB;QACtB,IAAI,CAACd,GAAG,CAAC0C,GAAG,CAAClD;QAEb,kBAAkB;QAClB,IAAI,IAAI,CAACqB,MAAM,EAAE8B,aAAa;YAC5B,MAAMC,UAAU,IAAI,CAAC/B,MAAM,CAACgC,WAAW,IAAI;gBAAC;aAAI;YAChD,IAAI,CAAC7C,GAAG,CAAC0C,GAAG,CACVnD,KAAK;gBACHuD,QAAQF;gBACRG,aAAa;gBACbC,QAAQ;YACV;QAEJ;QAEA,0BAA0B;QAC1B,IAAI,CAAChD,GAAG,CAAC0C,GAAG,CAACvD,QAAQ8D,IAAI,CAAC;YAAEC,OAAO;QAAO;QAC1C,IAAI,CAAClD,GAAG,CAAC0C,GAAG,CAACvD,QAAQgE,IAAI;IAC3B;IAEQpC,cAAoB;QAC1B,8CAA8C;QAC9C,MAAMqC,aACJ,OAAO,aAAaC,QAAQ,cACxB1D,cAAc,YAAY0D,GAAG,IAC7BD,cAAcE,YAAY;QAChC,MAAMA,YAAY5D,QAAQ0D;QAC1B,MAAMG,aAAa9D,KAAK6D,WAAW;QAEnC,yCAAyC;QACzC,IAAI,CAACtD,GAAG,CAAC0C,GAAG,CAAC,YAAYvD,QAAQqE,MAAM,CAACD;QAExC,oBAAoB;QACpB,IAAI,CAACvD,GAAG,CAACyD,GAAG,CAAC,KAAK,CAACC,KAAKC;YACtBA,IAAIC,QAAQ,CAAC;QACf;QAEA,IAAI,CAAC5D,GAAG,CAACyD,GAAG,CAAC,YAAY,CAACC,KAAKC;YAC7BA,IAAIE,QAAQ,CAACpE,KAAK8D,YAAY;QAChC;QAEA,wBAAwB;QACxB,IAAI,CAACvD,GAAG,CAACyD,GAAG,CAAC,WAAW,CAACC,KAAKC;YAC5BA,IAAIV,IAAI,CAAC;gBAAEa,QAAQ;gBAAMC,WAAW,IAAIC,OAAOC,WAAW;YAAG;QAC/D;QAEA,wBAAwB;QACxB,IAAI,CAACjE,GAAG,CAACkE,IAAI,CAAC,QAAQ,OAAOR,KAAKC;YAChC,MAAM,IAAI,CAACQ,oBAAoB,CAACT,KAAKC;QACvC;QAEA,4BAA4B;QAC5B,IAAI,CAAC3D,GAAG,CAACoE,OAAO,CAAC,KAAK,CAACV,KAAKC;YAC1BA,IAAIG,MAAM,CAAC,KAAKO,GAAG;QACrB;QAEA,cAAc;QACd,IAAI,CAACrE,GAAG,CAAC0C,GAAG,CAAC,CAACgB,KAAKC;YACjBA,IAAIG,MAAM,CAAC,KAAKb,IAAI,CAAC;gBAAEvB,OAAO;YAAY;QAC5C;QAEA,gBAAgB;QAChB,IAAI,CAAC1B,GAAG,CAAC0C,GAAG,CACV,CAAC4B,KAAUZ,KAAsBC,KAAuBY;YACtD,IAAI,CAAC3D,MAAM,CAACc,KAAK,CAAC,iBAAiB4C;YACnCX,IAAIG,MAAM,CAAC,KAAKb,IAAI,CAAC;gBACnBvB,OAAO;gBACP8C,SAASF,IAAIE,OAAO;YACtB;QACF;IAEJ;IAEQpD,yBAA+B;QACrC,IAAI,CAAC,IAAI,CAAClB,GAAG,EAAE;QAEf,IAAI,CAACA,GAAG,CAACuB,EAAE,CAAC,cAAc,CAACG,IAAe8B;YACxC,IAAI,CAAClD,gBAAgB,CAACiE,GAAG,CAAC7C;YAC1B,IAAI,CAAChB,MAAM,CAACK,IAAI,CAAC,8BAA8B;gBAC7CyD,cAAc,IAAI,CAAClE,gBAAgB,CAACiC,IAAI;YAC1C;YAEAb,GAAGH,EAAE,CAAC,SAAS;gBACb,IAAI,CAACjB,gBAAgB,CAACmE,MAAM,CAAC/C;gBAC7B,IAAI,CAAChB,MAAM,CAACK,IAAI,CAAC,iCAAiC;oBAChDyD,cAAc,IAAI,CAAClE,gBAAgB,CAACiC,IAAI;gBAC1C;YACF;YAEAb,GAAGH,EAAE,CAAC,SAAS,CAACC;gBACd,IAAI,CAACd,MAAM,CAACc,KAAK,CAAC,mBAAmBA;gBACrC,IAAI,CAAClB,gBAAgB,CAACmE,MAAM,CAAC/C;YAC/B;YAEAA,GAAGH,EAAE,CAAC,WAAW,OAAOmD;gBACtB,IAAI;oBACF,MAAMJ,UAAUK,KAAKC,KAAK,CAACF,KAAKG,QAAQ;oBAExC,IAAIP,QAAQQ,EAAE,KAAKjD,WAAW;wBAC5B,2BAA2B;wBAC3B,MAAM,IAAI,CAACkD,yBAAyB,CAACT;oBACvC,OAAO;wBACL,sBAAsB;wBACtB,MAAMU,WAAW,MAAM,IAAI,CAACC,oBAAoB,CAACX;wBACjD5C,GAAGwD,IAAI,CAACP,KAAKQ,SAAS,CAACH;oBACzB;gBACF,EAAE,OAAOxD,OAAO;oBACd,IAAI,CAACd,MAAM,CAACc,KAAK,CAAC,sCAAsCA;oBAExD,0CAA0C;oBAC1C,IAAI;wBACF,MAAM4D,SAAST,KAAKC,KAAK,CAACF,KAAKG,QAAQ;wBACvC,IAAIO,OAAON,EAAE,KAAKjD,WAAW;4BAC3BH,GAAGwD,IAAI,CACLP,KAAKQ,SAAS,CAAC;gCACbE,SAAS;gCACTP,IAAIM,OAAON,EAAE;gCACbtD,OAAO;oCACL8D,MAAM,CAAC;oCACPhB,SAAS;gCACX;4BACF;wBAEJ;oBACF,EAAE,OAAM;oBACN,0CAA0C;oBAC5C;gBACF;YACF;QACF;IACF;IAEA,MAAcL,qBAAqBT,GAAY,EAAEC,GAAa,EAAiB;QAC7E,qBAAqB;QACrB,IAAI,CAACD,IAAI+B,EAAE,CAAC,qBAAqB;YAC/B9B,IAAIG,MAAM,CAAC,KAAKb,IAAI,CAAC;gBACnBsC,SAAS;gBACTP,IAAI;gBACJtD,OAAO;oBACL8D,MAAM,CAAC;oBACPhB,SAAS;gBACX;YACF;YACA;QACF;QAEA,mDAAmD;QACnD,IAAI,IAAI,CAAC3D,MAAM,EAAE6E,MAAMC,SAAS;YAC9B,MAAMC,aAAa,MAAM,IAAI,CAACC,YAAY,CAACnC;YAC3C,IAAI,CAACkC,WAAWE,KAAK,EAAE;gBACrBnC,IAAIG,MAAM,CAAC,KAAKb,IAAI,CAAC;oBACnBvB,OAAOkE,WAAWlE,KAAK,IAAI;gBAC7B;gBACA;YACF;QACF;QAEA,IAAI;YACF,MAAMqE,aAAarC,IAAIsC,IAAI;YAE3B,2BAA2B;YAC3B,IAAI,CAACD,WAAWR,OAAO,IAAIQ,WAAWR,OAAO,KAAK,OAAO;gBACvD5B,IAAIG,MAAM,CAAC,KAAKb,IAAI,CAAC;oBACnBsC,SAAS;oBACTP,IAAIe,WAAWf,EAAE,IAAI;oBACrBtD,OAAO;wBACL8D,MAAM,CAAC;wBACPhB,SAAS;oBACX;gBACF;gBACA;YACF;YAEA,IAAI,CAACuB,WAAWE,MAAM,EAAE;gBACtBtC,IAAIG,MAAM,CAAC,KAAKb,IAAI,CAAC;oBACnBsC,SAAS;oBACTP,IAAIe,WAAWf,EAAE,IAAI;oBACrBtD,OAAO;wBACL8D,MAAM,CAAC;wBACPhB,SAAS;oBACX;gBACF;gBACA;YACF;YAEA,IAAI,CAACrE,YAAY;YAEjB,qDAAqD;YACrD,IAAI4F,WAAWf,EAAE,KAAKjD,WAAW;gBAC/B,sBAAsB;gBACtB,MAAM,IAAI,CAACkD,yBAAyB,CAACc;gBACrC,oCAAoC;gBACpCpC,IAAIG,MAAM,CAAC,KAAKO,GAAG;YACrB,OAAO;gBACL,iBAAiB;gBACjB,MAAMa,WAAW,MAAM,IAAI,CAACC,oBAAoB,CAACY;gBACjDpC,IAAIV,IAAI,CAACiC;YACX;QACF,EAAE,OAAOxD,OAAO;YACd,IAAI,CAACd,MAAM,CAACc,KAAK,CAAC,mCAAmCA;YAErDiC,IAAIG,MAAM,CAAC,KAAKb,IAAI,CAAC;gBACnBsC,SAAS;gBACTP,IAAI;gBACJtD,OAAO;oBACL8D,MAAM,CAAC;oBACPhB,SAAS;oBACTI,MAAMlD,iBAAiBwE,QAAQxE,MAAM8C,OAAO,GAAG2B,OAAOzE;gBACxD;YACF;QACF;IACF;IAEA,MAAcyD,qBAAqBiB,OAAmB,EAAwB;QAC5E,IAAI,CAAC,IAAI,CAACtG,cAAc,EAAE;YACxB,OAAO;gBACLyF,SAAS;gBACTP,IAAIoB,QAAQpB,EAAE;gBACdtD,OAAO;oBACL8D,MAAM,CAAC;oBACPhB,SAAS;gBACX;YACF;QACF;QAEA,IAAI;YACF,OAAO,MAAM,IAAI,CAAC1E,cAAc,CAACsG;QACnC,EAAE,OAAO1E,OAAO;YACd,IAAI,CAACd,MAAM,CAACc,KAAK,CAAC,yBAAyB;gBAAE0E;gBAAS1E;YAAM;YAE5D,OAAO;gBACL6D,SAAS;gBACTP,IAAIoB,QAAQpB,EAAE;gBACdtD,OAAO;oBACL8D,MAAM,CAAC;oBACPhB,SAAS;oBACTI,MAAMlD,iBAAiBwE,QAAQxE,MAAM8C,OAAO,GAAG2B,OAAOzE;gBACxD;YACF;QACF;IACF;IAEA,MAAcuD,0BAA0BoB,YAA6B,EAAiB;QACpF,IAAI,CAAC,IAAI,CAACtG,mBAAmB,EAAE;YAC7B,IAAI,CAACa,MAAM,CAAC0F,IAAI,CAAC,mDAAmD;gBAClEL,QAAQI,aAAaJ,MAAM;YAC7B;YACA;QACF;QAEA,IAAI;YACF,MAAM,IAAI,CAAClG,mBAAmB,CAACsG;QACjC,EAAE,OAAO3E,OAAO;YACd,IAAI,CAACd,MAAM,CAACc,KAAK,CAAC,8BAA8B;gBAAE2E;gBAAc3E;YAAM;QACtE,2CAA2C;QAC7C;IACF;IAEA,MAAcmE,aAAanC,GAAY,EAA+C;QACpF,MAAMgC,OAAOhC,IAAI6C,OAAO,CAACC,aAAa;QAEtC,IAAI,CAACd,MAAM;YACT,OAAO;gBAAEI,OAAO;gBAAOpE,OAAO;YAAgC;QAChE;QAEA,0CAA0C;QAC1C,MAAM+E,aAAaf,KAAKgB,KAAK,CAAC;QAC9B,IAAI,CAACD,YAAY;YACf,OAAO;gBAAEX,OAAO;gBAAOpE,OAAO;YAAkD;QAClF;QAEA,MAAMiF,QAAQF,UAAU,CAAC,EAAE;QAE3B,qCAAqC;QACrC,IAAI,IAAI,CAAC5F,MAAM,EAAE6E,MAAMkB,UAAU,IAAI,CAAC/F,MAAM,CAAC6E,IAAI,CAACkB,MAAM,CAACC,MAAM,GAAG,GAAG;YACnE,MAAMC,UAAU,IAAI,CAACjG,MAAM,CAAC6E,IAAI,CAACkB,MAAM,CAACG,QAAQ,CAACJ;YACjD,IAAI,CAACG,SAAS;gBACZ,OAAO;oBAAEhB,OAAO;oBAAOpE,OAAO;gBAAgB;YAChD;QACF;QAEA,OAAO;YAAEoE,OAAO;QAAK;IACvB;IAEA,MAAMkB,UAAyB;QAC7B,oDAAoD;QACpD,IAAI,CAAC,IAAI,CAAC3G,OAAO,EAAE;YACjB,MAAM,IAAI,CAACW,KAAK;QAClB;IACF;IAEA,MAAMiG,aAA4B;QAChC,sDAAsD;QACtD,MAAM,IAAI,CAACtF,IAAI;IACjB;IAEA,MAAMuF,YAAYd,OAAmB,EAAwB;QAC3D,0DAA0D;QAC1D,MAAM,IAAIF,MAAM;IAClB;IAEA,MAAMiB,iBAAiBd,YAA6B,EAAiB;QACnE,4DAA4D;QAC5D,MAAM7B,UAAUK,KAAKQ,SAAS,CAACgB;QAE/B,KAAK,MAAMzE,MAAM,IAAI,CAACpB,gBAAgB,CAAE;YACtC,IAAI;gBACF,IAAIoB,GAAGwF,UAAU,KAAK9H,UAAU+H,IAAI,EAAE;oBACpCzF,GAAGwD,IAAI,CAACZ;gBACV;YACF,EAAE,OAAO9C,OAAO;gBACd,IAAI,CAACd,MAAM,CAACc,KAAK,CAAC,4CAA4CA;YAChE;QACF;QAEA,IAAI,CAACtB,iBAAiB;IACxB;AACF"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standard I/O transport for MCP
|
|
3
|
+
*/ import { stdin, stdout } from 'node:process';
|
|
4
|
+
import { createInterface } from 'node:readline';
|
|
5
|
+
import { MCPTransportError } from '../../utils/errors.js';
|
|
6
|
+
/**
|
|
7
|
+
* Stdio transport implementation
|
|
8
|
+
*/ export class StdioTransport {
|
|
9
|
+
logger;
|
|
10
|
+
requestHandler;
|
|
11
|
+
notificationHandler;
|
|
12
|
+
readline;
|
|
13
|
+
messageCount = 0;
|
|
14
|
+
notificationCount = 0;
|
|
15
|
+
running = false;
|
|
16
|
+
constructor(logger){
|
|
17
|
+
this.logger = logger;
|
|
18
|
+
}
|
|
19
|
+
async start() {
|
|
20
|
+
if (this.running) {
|
|
21
|
+
throw new MCPTransportError('Transport already running');
|
|
22
|
+
}
|
|
23
|
+
this.logger.info('Starting stdio transport');
|
|
24
|
+
try {
|
|
25
|
+
// Create readline interface for stdin
|
|
26
|
+
this.readline = createInterface({
|
|
27
|
+
input: stdin,
|
|
28
|
+
output: stdout,
|
|
29
|
+
terminal: false
|
|
30
|
+
});
|
|
31
|
+
// Set up line handler
|
|
32
|
+
this.readline.on('line', (line)=>{
|
|
33
|
+
this.processMessage(line.trim()).catch((error)=>{
|
|
34
|
+
this.logger.error('Error processing message', {
|
|
35
|
+
line,
|
|
36
|
+
error
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
this.readline.on('close', ()=>{
|
|
41
|
+
this.logger.info('Stdin closed');
|
|
42
|
+
this.running = false;
|
|
43
|
+
});
|
|
44
|
+
this.running = true;
|
|
45
|
+
this.logger.info('Stdio transport started');
|
|
46
|
+
} catch (error) {
|
|
47
|
+
throw new MCPTransportError('Failed to start stdio transport', {
|
|
48
|
+
error
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async stop() {
|
|
53
|
+
if (!this.running) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
this.logger.info('Stopping stdio transport');
|
|
57
|
+
this.running = false;
|
|
58
|
+
if (this.readline) {
|
|
59
|
+
this.readline.close();
|
|
60
|
+
this.readline = undefined;
|
|
61
|
+
}
|
|
62
|
+
this.logger.info('Stdio transport stopped');
|
|
63
|
+
}
|
|
64
|
+
onRequest(handler) {
|
|
65
|
+
this.requestHandler = handler;
|
|
66
|
+
}
|
|
67
|
+
onNotification(handler) {
|
|
68
|
+
this.notificationHandler = handler;
|
|
69
|
+
}
|
|
70
|
+
async getHealthStatus() {
|
|
71
|
+
return {
|
|
72
|
+
healthy: this.running,
|
|
73
|
+
metrics: {
|
|
74
|
+
messagesReceived: this.messageCount,
|
|
75
|
+
notificationsSent: this.notificationCount,
|
|
76
|
+
stdinOpen: this.readline ? 1 : 0
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
async processMessage(line) {
|
|
81
|
+
let message;
|
|
82
|
+
try {
|
|
83
|
+
message = JSON.parse(line);
|
|
84
|
+
if (!message.jsonrpc || message.jsonrpc !== '2.0') {
|
|
85
|
+
throw new Error('Invalid JSON-RPC version');
|
|
86
|
+
}
|
|
87
|
+
if (!message.method) {
|
|
88
|
+
throw new Error('Missing method');
|
|
89
|
+
}
|
|
90
|
+
} catch (error) {
|
|
91
|
+
this.logger.error('Failed to parse message', {
|
|
92
|
+
line,
|
|
93
|
+
error
|
|
94
|
+
});
|
|
95
|
+
// Send error response if we can extract an ID
|
|
96
|
+
let id = 'unknown';
|
|
97
|
+
try {
|
|
98
|
+
const parsed = JSON.parse(line);
|
|
99
|
+
if (parsed.id !== undefined) {
|
|
100
|
+
id = parsed.id;
|
|
101
|
+
}
|
|
102
|
+
} catch {
|
|
103
|
+
// Ignore parse error for ID extraction
|
|
104
|
+
}
|
|
105
|
+
await this.sendResponse({
|
|
106
|
+
jsonrpc: '2.0',
|
|
107
|
+
id,
|
|
108
|
+
error: {
|
|
109
|
+
code: -32700,
|
|
110
|
+
message: 'Parse error'
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
this.messageCount++;
|
|
116
|
+
// Check if this is a notification (no id field) or a request
|
|
117
|
+
if (message.id === undefined) {
|
|
118
|
+
// This is a notification
|
|
119
|
+
await this.handleNotification(message);
|
|
120
|
+
} else {
|
|
121
|
+
// This is a request
|
|
122
|
+
await this.handleRequest(message);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
async handleRequest(request) {
|
|
126
|
+
if (!this.requestHandler) {
|
|
127
|
+
await this.sendResponse({
|
|
128
|
+
jsonrpc: '2.0',
|
|
129
|
+
id: request.id,
|
|
130
|
+
error: {
|
|
131
|
+
code: -32603,
|
|
132
|
+
message: 'No request handler registered'
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
try {
|
|
138
|
+
const response = await this.requestHandler(request);
|
|
139
|
+
await this.sendResponse(response);
|
|
140
|
+
} catch (error) {
|
|
141
|
+
this.logger.error('Request handler error', {
|
|
142
|
+
request,
|
|
143
|
+
error
|
|
144
|
+
});
|
|
145
|
+
await this.sendResponse({
|
|
146
|
+
jsonrpc: '2.0',
|
|
147
|
+
id: request.id,
|
|
148
|
+
error: {
|
|
149
|
+
code: -32603,
|
|
150
|
+
message: 'Internal error',
|
|
151
|
+
data: error instanceof Error ? error.message : String(error)
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
async handleNotification(notification) {
|
|
157
|
+
if (!this.notificationHandler) {
|
|
158
|
+
this.logger.warn('Received notification but no handler registered', {
|
|
159
|
+
method: notification.method
|
|
160
|
+
});
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
try {
|
|
164
|
+
await this.notificationHandler(notification);
|
|
165
|
+
} catch (error) {
|
|
166
|
+
this.logger.error('Notification handler error', {
|
|
167
|
+
notification,
|
|
168
|
+
error
|
|
169
|
+
});
|
|
170
|
+
// Notifications don't send error responses
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
async sendResponse(response) {
|
|
174
|
+
try {
|
|
175
|
+
const json = JSON.stringify(response);
|
|
176
|
+
stdout.write(json + '\n');
|
|
177
|
+
} catch (error) {
|
|
178
|
+
this.logger.error('Failed to send response', {
|
|
179
|
+
response,
|
|
180
|
+
error
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
async connect() {
|
|
185
|
+
// For STDIO transport, connect is handled by start()
|
|
186
|
+
if (!this.running) {
|
|
187
|
+
await this.start();
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
async disconnect() {
|
|
191
|
+
// For STDIO transport, disconnect is handled by stop()
|
|
192
|
+
await this.stop();
|
|
193
|
+
}
|
|
194
|
+
async sendRequest(request) {
|
|
195
|
+
// Send request to stdout
|
|
196
|
+
const json = JSON.stringify(request);
|
|
197
|
+
stdout.write(json + '\n');
|
|
198
|
+
// In STDIO transport, responses are handled asynchronously
|
|
199
|
+
// This would need a proper request/response correlation mechanism
|
|
200
|
+
throw new Error('STDIO transport sendRequest requires request/response correlation');
|
|
201
|
+
}
|
|
202
|
+
async sendNotification(notification) {
|
|
203
|
+
try {
|
|
204
|
+
const json = JSON.stringify(notification);
|
|
205
|
+
stdout.write(json + '\n');
|
|
206
|
+
this.notificationCount++;
|
|
207
|
+
} catch (error) {
|
|
208
|
+
this.logger.error('Failed to send notification', {
|
|
209
|
+
notification,
|
|
210
|
+
error
|
|
211
|
+
});
|
|
212
|
+
throw error;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
//# sourceMappingURL=stdio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/mcp/transports/stdio.ts"],"names":["stdin","stdout","createInterface","MCPTransportError","StdioTransport","requestHandler","notificationHandler","readline","messageCount","notificationCount","running","logger","start","info","input","output","terminal","on","line","processMessage","trim","catch","error","stop","close","undefined","onRequest","handler","onNotification","getHealthStatus","healthy","metrics","messagesReceived","notificationsSent","stdinOpen","message","JSON","parse","jsonrpc","Error","method","id","parsed","sendResponse","code","handleNotification","handleRequest","request","response","data","String","notification","warn","json","stringify","write","connect","disconnect","sendRequest","sendNotification"],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { promises as fs } from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { Command } from 'commander';
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
import { EpicParser } from '../../parsers/epic-parser.js';
|
|
7
|
+
export const parseEpicCommand = new Command().name('parse-epic').description('Parse epic markdown files into structured JSON configuration').argument('<epic-directory>', 'Path to epic directory containing EPIC_OVERVIEW.md and phase files').option('-o, --output <file>', 'Output file path (default: <epic-name>-config.json)').option('-v, --validate', 'Run validation and report errors without generating output').action(async (epicDirectory, options)=>{
|
|
8
|
+
await executeParseEpic(epicDirectory, options);
|
|
9
|
+
});
|
|
10
|
+
async function executeParseEpic(epicDirectory, options) {
|
|
11
|
+
console.log(chalk.cyan.bold('🔍 Epic Parser - Natural Language to Structured JSON\n'));
|
|
12
|
+
try {
|
|
13
|
+
// Resolve epic directory path
|
|
14
|
+
const absoluteEpicDir = path.resolve(process.cwd(), epicDirectory);
|
|
15
|
+
// Display directory info
|
|
16
|
+
console.log(chalk.white('📂 Epic directory:'), chalk.gray(absoluteEpicDir));
|
|
17
|
+
// Check if directory exists
|
|
18
|
+
try {
|
|
19
|
+
await fs.access(absoluteEpicDir);
|
|
20
|
+
} catch {
|
|
21
|
+
console.error(chalk.red('✗ Epic directory not found:'), absoluteEpicDir);
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
24
|
+
// Check for overview file
|
|
25
|
+
const overviewPath = path.join(absoluteEpicDir, 'EPIC_OVERVIEW.md');
|
|
26
|
+
try {
|
|
27
|
+
await fs.access(overviewPath);
|
|
28
|
+
console.log(chalk.white('📄 Overview file:'), chalk.gray('EPIC_OVERVIEW.md'));
|
|
29
|
+
} catch {
|
|
30
|
+
console.error(chalk.red('✗ EPIC_OVERVIEW.md not found in directory'));
|
|
31
|
+
process.exit(1);
|
|
32
|
+
}
|
|
33
|
+
console.log(); // Empty line for spacing
|
|
34
|
+
// Initialize parser
|
|
35
|
+
const parser = new EpicParser({
|
|
36
|
+
epicDirectory: absoluteEpicDir
|
|
37
|
+
});
|
|
38
|
+
// Parse epic configuration
|
|
39
|
+
let epicConfig;
|
|
40
|
+
try {
|
|
41
|
+
epicConfig = parser.parse();
|
|
42
|
+
} catch (error) {
|
|
43
|
+
console.error(chalk.red('✗ Parsing failed:'));
|
|
44
|
+
console.error(chalk.red(error.message));
|
|
45
|
+
process.exit(1);
|
|
46
|
+
}
|
|
47
|
+
// Get validation result with stats
|
|
48
|
+
const validation = parser.getValidationResult();
|
|
49
|
+
// Display parsing results
|
|
50
|
+
if (validation.valid) {
|
|
51
|
+
console.log(chalk.green('✅ Parsed successfully:'));
|
|
52
|
+
console.log(chalk.white(' - Epic:'), chalk.cyan(epicConfig.epicId));
|
|
53
|
+
console.log(chalk.white(' - Phases:'), chalk.cyan(validation.stats?.totalPhases || 0));
|
|
54
|
+
console.log(chalk.white(' - Total Sprints:'), chalk.cyan(validation.stats?.totalSprints || 0));
|
|
55
|
+
console.log(chalk.white(' - Scope boundaries:'), chalk.green('✓'));
|
|
56
|
+
console.log(chalk.white(' - Dependencies:'), chalk.green('✓'));
|
|
57
|
+
if (validation.stats?.completedSprints) {
|
|
58
|
+
console.log(chalk.white(' - Completed:'), chalk.cyan(`${validation.stats.completedSprints}/${validation.stats.totalSprints}`));
|
|
59
|
+
}
|
|
60
|
+
if (validation.stats?.dependencyCount) {
|
|
61
|
+
console.log(chalk.white(' - Dependency count:'), chalk.cyan(validation.stats.dependencyCount));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
console.log(); // Empty line
|
|
65
|
+
// Display warnings if any
|
|
66
|
+
if (validation.warnings.length > 0) {
|
|
67
|
+
console.log(chalk.yellow(`⚠️ ${validation.warnings.length} warning(s):`));
|
|
68
|
+
validation.warnings.forEach((warn)=>{
|
|
69
|
+
const location = warn.location ? ` (${warn.location.file})` : '';
|
|
70
|
+
console.log(chalk.yellow(` - [${warn.type}] ${warn.message}${location}`));
|
|
71
|
+
});
|
|
72
|
+
console.log(); // Empty line
|
|
73
|
+
}
|
|
74
|
+
// Validation-only mode
|
|
75
|
+
if (options.validate) {
|
|
76
|
+
if (validation.valid) {
|
|
77
|
+
console.log(chalk.green('✅ Validation: PASSED\n'));
|
|
78
|
+
process.exit(0);
|
|
79
|
+
} else {
|
|
80
|
+
console.log(chalk.red('✗ Validation: FAILED\n'));
|
|
81
|
+
console.error(chalk.red('Errors:'));
|
|
82
|
+
validation.errors.forEach((err)=>{
|
|
83
|
+
const location = err.location ? ` at ${err.location.file}` : '';
|
|
84
|
+
console.error(chalk.red(` - [${err.type}] ${err.message}${location}`));
|
|
85
|
+
});
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Generate output file path
|
|
90
|
+
const defaultOutputName = `${epicConfig.epicId}-config.json`;
|
|
91
|
+
const outputPath = options.output ? path.resolve(process.cwd(), options.output) : path.join(absoluteEpicDir, defaultOutputName);
|
|
92
|
+
// Write JSON to output file
|
|
93
|
+
try {
|
|
94
|
+
await fs.writeFile(outputPath, JSON.stringify(epicConfig, null, 2), 'utf-8');
|
|
95
|
+
const relativeOutput = path.relative(process.cwd(), outputPath);
|
|
96
|
+
console.log(chalk.white('📄 Output:'), chalk.cyan(relativeOutput));
|
|
97
|
+
} catch (error) {
|
|
98
|
+
console.error(chalk.red('✗ Failed to write output file:'), error.message);
|
|
99
|
+
process.exit(1);
|
|
100
|
+
}
|
|
101
|
+
// Final status
|
|
102
|
+
if (validation.valid) {
|
|
103
|
+
console.log(chalk.green('✅ Validation: PASSED\n'));
|
|
104
|
+
console.log(chalk.cyan('Ready for CFN Loop execution!'));
|
|
105
|
+
process.exit(0);
|
|
106
|
+
} else {
|
|
107
|
+
console.log(chalk.red('✗ Validation: FAILED (but config generated)\n'));
|
|
108
|
+
console.error(chalk.red('Errors:'));
|
|
109
|
+
validation.errors.forEach((err)=>{
|
|
110
|
+
const location = err.location ? ` at ${err.location.file}` : '';
|
|
111
|
+
console.error(chalk.red(` - [${err.type}] ${err.message}${location}`));
|
|
112
|
+
});
|
|
113
|
+
process.exit(1);
|
|
114
|
+
}
|
|
115
|
+
} catch (error) {
|
|
116
|
+
console.error(chalk.red('\n✗ Unexpected error:'), error.message);
|
|
117
|
+
if (error.stack) {
|
|
118
|
+
console.error(chalk.gray(error.stack));
|
|
119
|
+
}
|
|
120
|
+
process.exit(1);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
// CLI execution when run directly
|
|
124
|
+
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
125
|
+
parseEpicCommand.parse(process.argv);
|
|
126
|
+
}
|
|
127
|
+
export default parseEpicCommand;
|
|
128
|
+
|
|
129
|
+
//# sourceMappingURL=parse-epic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/cli/commands/parse-epic.ts"],"names":["promises","fs","path","Command","chalk","EpicParser","parseEpicCommand","name","description","argument","option","action","epicDirectory","options","executeParseEpic","console","log","cyan","bold","absoluteEpicDir","resolve","process","cwd","white","gray","access","error","red","exit","overviewPath","join","parser","epicConfig","parse","message","validation","getValidationResult","valid","green","epicId","stats","totalPhases","totalSprints","completedSprints","dependencyCount","warnings","length","yellow","forEach","warn","location","file","type","validate","errors","err","defaultOutputName","outputPath","output","writeFile","JSON","stringify","relativeOutput","relative","stack","url","argv"],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import { Command } from 'commander';
|
|
|
9
9
|
import chalk from 'chalk';
|
|
10
10
|
import { logger } from '../core/logger.js';
|
|
11
11
|
import { configManager } from '../core/config.js';
|
|
12
|
+
import { parseEpicCommand } from './commands/parse-epic.js';
|
|
12
13
|
import { formatError, displayBanner, displayVersion } from './formatter.js';
|
|
13
14
|
import { startREPL } from './repl.js';
|
|
14
15
|
import { CompletionGenerator } from './completion.js';
|
|
@@ -49,6 +50,8 @@ const replCommand = new Command('repl').description('Start interactive REPL mode
|
|
|
49
50
|
await startREPL(options);
|
|
50
51
|
});
|
|
51
52
|
cli.addCommand(replCommand);
|
|
53
|
+
// Add parse-epic command
|
|
54
|
+
cli.addCommand(parseEpicCommand);
|
|
52
55
|
// Add version command
|
|
53
56
|
const versionCommand = new Command('version').description('Show detailed version information').option('--short', 'Show version number only').action(async (options)=>{
|
|
54
57
|
if (options.short) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/cli/index.ts"],"names":["Command","chalk","logger","configManager","formatError","displayBanner","displayVersion","startREPL","CompletionGenerator","VERSION","BUILD_DATE","cli","name","version","description","option","action","options","setupLogging","quiet","console","log","gray","replCommand","banner","addCommand","versionCommand","short","completionCommand","argument","shell","generator","generate","install","handleError","error","formatted","json","JSON","stringify","message","timestamp","Date","toISOString","red","bold","process","env","verbose","exit","logLevel","configure","level","format","destination","config","load","loadDefault","profile","applyProfile","warn","setupSignalHandlers","gracefulShutdown","Deno","addSignalListener","globalOptions","args","includes","noColor","parse"],"mappings":";AACA;;;CAGC,GAED,yEAAyE;AACzE,OAAO,kBAAkB;AACzB,mEAAmE;AACnE,SAASA,OAAO,QAAQ,YAAY;AACpC,OAAOC,WAAW,QAAQ;AAC1B,SAASC,MAAM,QAAQ,oBAAoB;AAC3C,SAASC,aAAa,QAAQ,oBAAoB;AAYlD,SAASC,WAAW,EAAEC,aAAa,EAAEC,cAAc,QAAQ,iBAAiB;AAC5E,SAASC,SAAS,QAAQ,YAAY;AACtC,SAASC,mBAAmB,QAAQ,kBAAkB;AACtD,SAASC,OAAO,EAAEC,UAAU,QAAQ,qBAAqB;AAEzD,mBAAmB;AACnB,MAAMC,MAAM,
|
|
1
|
+
{"version":3,"sources":["../../../../src/cli/index.ts"],"names":["Command","chalk","logger","configManager","parseEpicCommand","formatError","displayBanner","displayVersion","startREPL","CompletionGenerator","VERSION","BUILD_DATE","cli","name","version","description","option","action","options","setupLogging","quiet","console","log","gray","replCommand","banner","addCommand","versionCommand","short","completionCommand","argument","shell","generator","generate","install","handleError","error","formatted","json","JSON","stringify","message","timestamp","Date","toISOString","red","bold","process","env","verbose","exit","logLevel","configure","level","format","destination","config","load","loadDefault","profile","applyProfile","warn","setupSignalHandlers","gracefulShutdown","Deno","addSignalListener","globalOptions","args","includes","noColor","parse"],"mappings":"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"}
|