agentic-qe 3.2.3 ā 3.3.0
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/agents/v3/qe-accessibility-auditor.md +90 -0
- package/README.md +43 -5
- package/package.json +3 -2
- package/scripts/cloud-db-config.json +37 -0
- package/scripts/cloud-db-connect.sh +37 -0
- package/scripts/cloud-db-tunnel.sh +23 -0
- package/v3/CHANGELOG.md +165 -0
- package/v3/README.md +59 -1
- package/v3/assets/agents/v3/qe-accessibility-auditor.md +90 -0
- package/v3/dist/adapters/claude-flow/index.d.ts +54 -0
- package/v3/dist/adapters/claude-flow/index.d.ts.map +1 -0
- package/v3/dist/adapters/claude-flow/index.js +79 -0
- package/v3/dist/adapters/claude-flow/index.js.map +1 -0
- package/v3/dist/adapters/claude-flow/model-router-bridge.d.ts +70 -0
- package/v3/dist/adapters/claude-flow/model-router-bridge.d.ts.map +1 -0
- package/v3/dist/adapters/claude-flow/model-router-bridge.js +203 -0
- package/v3/dist/adapters/claude-flow/model-router-bridge.js.map +1 -0
- package/v3/dist/adapters/claude-flow/pretrain-bridge.d.ts +73 -0
- package/v3/dist/adapters/claude-flow/pretrain-bridge.d.ts.map +1 -0
- package/v3/dist/adapters/claude-flow/pretrain-bridge.js +276 -0
- package/v3/dist/adapters/claude-flow/pretrain-bridge.js.map +1 -0
- package/v3/dist/adapters/claude-flow/trajectory-bridge.d.ts +70 -0
- package/v3/dist/adapters/claude-flow/trajectory-bridge.d.ts.map +1 -0
- package/v3/dist/adapters/claude-flow/trajectory-bridge.js +205 -0
- package/v3/dist/adapters/claude-flow/trajectory-bridge.js.map +1 -0
- package/v3/dist/adapters/claude-flow/types.d.ts +99 -0
- package/v3/dist/adapters/claude-flow/types.d.ts.map +1 -0
- package/v3/dist/adapters/claude-flow/types.js +6 -0
- package/v3/dist/adapters/claude-flow/types.js.map +1 -0
- package/v3/dist/causal-discovery/causal-graph.d.ts +80 -1
- package/v3/dist/causal-discovery/causal-graph.d.ts.map +1 -1
- package/v3/dist/causal-discovery/causal-graph.js +111 -1
- package/v3/dist/causal-discovery/causal-graph.js.map +1 -1
- package/v3/dist/cli/bundle.js +11612 -4929
- package/v3/dist/cli/commands/claude-flow-setup.d.ts +82 -0
- package/v3/dist/cli/commands/claude-flow-setup.d.ts.map +1 -0
- package/v3/dist/cli/commands/claude-flow-setup.js +334 -0
- package/v3/dist/cli/commands/claude-flow-setup.js.map +1 -0
- package/v3/dist/cli/commands/hooks.d.ts +2 -0
- package/v3/dist/cli/commands/hooks.d.ts.map +1 -1
- package/v3/dist/cli/commands/hooks.js +13 -2
- package/v3/dist/cli/commands/hooks.js.map +1 -1
- package/v3/dist/cli/commands/init.d.ts +19 -0
- package/v3/dist/cli/commands/init.d.ts.map +1 -0
- package/v3/dist/cli/commands/init.js +345 -0
- package/v3/dist/cli/commands/init.js.map +1 -0
- package/v3/dist/cli/index.js +110 -2
- package/v3/dist/cli/index.js.map +1 -1
- package/v3/dist/coordination/mincut/interfaces.d.ts +8 -2
- package/v3/dist/coordination/mincut/interfaces.d.ts.map +1 -1
- package/v3/dist/coordination/mincut/interfaces.js.map +1 -1
- package/v3/dist/coordination/mincut/mincut-health-monitor.d.ts +5 -0
- package/v3/dist/coordination/mincut/mincut-health-monitor.d.ts.map +1 -1
- package/v3/dist/coordination/mincut/mincut-health-monitor.js +22 -4
- package/v3/dist/coordination/mincut/mincut-health-monitor.js.map +1 -1
- package/v3/dist/coordination/mincut/queen-integration.d.ts +4 -0
- package/v3/dist/coordination/mincut/queen-integration.d.ts.map +1 -1
- package/v3/dist/coordination/mincut/queen-integration.js +14 -1
- package/v3/dist/coordination/mincut/queen-integration.js.map +1 -1
- package/v3/dist/coordination/queen-coordinator.d.ts +5 -0
- package/v3/dist/coordination/queen-coordinator.d.ts.map +1 -1
- package/v3/dist/coordination/queen-coordinator.js +45 -7
- package/v3/dist/coordination/queen-coordinator.js.map +1 -1
- package/v3/dist/domains/learning-optimization/coordinator.d.ts +5 -0
- package/v3/dist/domains/learning-optimization/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/coordinator.js +79 -0
- package/v3/dist/domains/learning-optimization/coordinator.js.map +1 -1
- package/v3/dist/domains/test-generation/coherence-gate.d.ts +245 -0
- package/v3/dist/domains/test-generation/coherence-gate.d.ts.map +1 -0
- package/v3/dist/domains/test-generation/coherence-gate.js +454 -0
- package/v3/dist/domains/test-generation/coherence-gate.js.map +1 -0
- package/v3/dist/domains/test-generation/coordinator.d.ts +32 -1
- package/v3/dist/domains/test-generation/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/coordinator.js +70 -1
- package/v3/dist/domains/test-generation/coordinator.js.map +1 -1
- package/v3/dist/domains/test-generation/index.d.ts +1 -0
- package/v3/dist/domains/test-generation/index.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/index.js +4 -0
- package/v3/dist/domains/test-generation/index.js.map +1 -1
- package/v3/dist/domains/test-generation/services/index.d.ts +1 -0
- package/v3/dist/domains/test-generation/services/index.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/services/index.js +2 -0
- package/v3/dist/domains/test-generation/services/index.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/index.d.ts +2 -1
- package/v3/dist/domains/visual-accessibility/index.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/index.js +1 -0
- package/v3/dist/domains/visual-accessibility/index.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/interfaces.d.ts +131 -0
- package/v3/dist/domains/visual-accessibility/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/plugin.d.ts +26 -0
- package/v3/dist/domains/visual-accessibility/plugin.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/plugin.js +151 -0
- package/v3/dist/domains/visual-accessibility/plugin.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/accessibility-tester.d.ts +42 -1
- package/v3/dist/domains/visual-accessibility/services/accessibility-tester.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/accessibility-tester.js +69 -0
- package/v3/dist/domains/visual-accessibility/services/accessibility-tester.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/eu-compliance.d.ts +138 -0
- package/v3/dist/domains/visual-accessibility/services/eu-compliance.d.ts.map +1 -0
- package/v3/dist/domains/visual-accessibility/services/eu-compliance.js +830 -0
- package/v3/dist/domains/visual-accessibility/services/eu-compliance.js.map +1 -0
- package/v3/dist/domains/visual-accessibility/services/index.d.ts +1 -0
- package/v3/dist/domains/visual-accessibility/services/index.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/index.js +1 -0
- package/v3/dist/domains/visual-accessibility/services/index.js.map +1 -1
- package/v3/dist/init/enhancements/claude-flow-adapter.d.ts +84 -0
- package/v3/dist/init/enhancements/claude-flow-adapter.d.ts.map +1 -0
- package/v3/dist/init/enhancements/claude-flow-adapter.js +250 -0
- package/v3/dist/init/enhancements/claude-flow-adapter.js.map +1 -0
- package/v3/dist/init/enhancements/detector.d.ts +10 -0
- package/v3/dist/init/enhancements/detector.d.ts.map +1 -0
- package/v3/dist/init/enhancements/detector.js +87 -0
- package/v3/dist/init/enhancements/detector.js.map +1 -0
- package/v3/dist/init/enhancements/index.d.ts +13 -0
- package/v3/dist/init/enhancements/index.d.ts.map +1 -0
- package/v3/dist/init/enhancements/index.js +25 -0
- package/v3/dist/init/enhancements/index.js.map +1 -0
- package/v3/dist/init/enhancements/types.d.ts +93 -0
- package/v3/dist/init/enhancements/types.d.ts.map +1 -0
- package/v3/dist/init/enhancements/types.js +6 -0
- package/v3/dist/init/enhancements/types.js.map +1 -0
- package/v3/dist/init/index.d.ts +8 -0
- package/v3/dist/init/index.d.ts.map +1 -1
- package/v3/dist/init/index.js +4 -0
- package/v3/dist/init/index.js.map +1 -1
- package/v3/dist/init/migration/config-migrator.d.ts +31 -0
- package/v3/dist/init/migration/config-migrator.d.ts.map +1 -0
- package/v3/dist/init/migration/config-migrator.js +133 -0
- package/v3/dist/init/migration/config-migrator.js.map +1 -0
- package/v3/dist/init/migration/data-migrator.d.ts +72 -0
- package/v3/dist/init/migration/data-migrator.d.ts.map +1 -0
- package/v3/dist/init/migration/data-migrator.js +233 -0
- package/v3/dist/init/migration/data-migrator.js.map +1 -0
- package/v3/dist/init/migration/detector.d.ts +44 -0
- package/v3/dist/init/migration/detector.d.ts.map +1 -0
- package/v3/dist/init/migration/detector.js +106 -0
- package/v3/dist/init/migration/detector.js.map +1 -0
- package/v3/dist/init/migration/index.d.ts +8 -0
- package/v3/dist/init/migration/index.d.ts.map +1 -0
- package/v3/dist/init/migration/index.js +8 -0
- package/v3/dist/init/migration/index.js.map +1 -0
- package/v3/dist/init/orchestrator.d.ts +68 -0
- package/v3/dist/init/orchestrator.d.ts.map +1 -0
- package/v3/dist/init/orchestrator.js +239 -0
- package/v3/dist/init/orchestrator.js.map +1 -0
- package/v3/dist/init/phases/01-detection.d.ts +30 -0
- package/v3/dist/init/phases/01-detection.d.ts.map +1 -0
- package/v3/dist/init/phases/01-detection.js +143 -0
- package/v3/dist/init/phases/01-detection.js.map +1 -0
- package/v3/dist/init/phases/02-analysis.d.ts +18 -0
- package/v3/dist/init/phases/02-analysis.d.ts.map +1 -0
- package/v3/dist/init/phases/02-analysis.js +28 -0
- package/v3/dist/init/phases/02-analysis.js.map +1 -0
- package/v3/dist/init/phases/03-configuration.d.ts +26 -0
- package/v3/dist/init/phases/03-configuration.d.ts.map +1 -0
- package/v3/dist/init/phases/03-configuration.js +98 -0
- package/v3/dist/init/phases/03-configuration.js.map +1 -0
- package/v3/dist/init/phases/04-database.d.ts +22 -0
- package/v3/dist/init/phases/04-database.d.ts.map +1 -0
- package/v3/dist/init/phases/04-database.js +88 -0
- package/v3/dist/init/phases/04-database.js.map +1 -0
- package/v3/dist/init/phases/05-learning.d.ts +28 -0
- package/v3/dist/init/phases/05-learning.d.ts.map +1 -0
- package/v3/dist/init/phases/05-learning.js +98 -0
- package/v3/dist/init/phases/05-learning.js.map +1 -0
- package/v3/dist/init/phases/06-code-intelligence.d.ts +33 -0
- package/v3/dist/init/phases/06-code-intelligence.d.ts.map +1 -0
- package/v3/dist/init/phases/06-code-intelligence.js +115 -0
- package/v3/dist/init/phases/06-code-intelligence.js.map +1 -0
- package/v3/dist/init/phases/07-hooks.d.ts +27 -0
- package/v3/dist/init/phases/07-hooks.d.ts.map +1 -0
- package/v3/dist/init/phases/07-hooks.js +209 -0
- package/v3/dist/init/phases/07-hooks.js.map +1 -0
- package/v3/dist/init/phases/08-mcp.d.ts +22 -0
- package/v3/dist/init/phases/08-mcp.d.ts.map +1 -0
- package/v3/dist/init/phases/08-mcp.js +62 -0
- package/v3/dist/init/phases/08-mcp.js.map +1 -0
- package/v3/dist/init/phases/09-assets.d.ts +23 -0
- package/v3/dist/init/phases/09-assets.d.ts.map +1 -0
- package/v3/dist/init/phases/09-assets.js +82 -0
- package/v3/dist/init/phases/09-assets.js.map +1 -0
- package/v3/dist/init/phases/10-workers.d.ts +23 -0
- package/v3/dist/init/phases/10-workers.d.ts.map +1 -0
- package/v3/dist/init/phases/10-workers.js +111 -0
- package/v3/dist/init/phases/10-workers.js.map +1 -0
- package/v3/dist/init/phases/11-claude-md.d.ts +26 -0
- package/v3/dist/init/phases/11-claude-md.d.ts.map +1 -0
- package/v3/dist/init/phases/11-claude-md.js +121 -0
- package/v3/dist/init/phases/11-claude-md.js.map +1 -0
- package/v3/dist/init/phases/12-verification.d.ts +38 -0
- package/v3/dist/init/phases/12-verification.d.ts.map +1 -0
- package/v3/dist/init/phases/12-verification.js +187 -0
- package/v3/dist/init/phases/12-verification.js.map +1 -0
- package/v3/dist/init/phases/index.d.ts +46 -0
- package/v3/dist/init/phases/index.d.ts.map +1 -0
- package/v3/dist/init/phases/index.js +64 -0
- package/v3/dist/init/phases/index.js.map +1 -0
- package/v3/dist/init/phases/phase-interface.d.ts +193 -0
- package/v3/dist/init/phases/phase-interface.d.ts.map +1 -0
- package/v3/dist/init/phases/phase-interface.js +119 -0
- package/v3/dist/init/phases/phase-interface.js.map +1 -0
- package/v3/dist/integrations/coherence/coherence-service.d.ts +323 -0
- package/v3/dist/integrations/coherence/coherence-service.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/coherence-service.js +799 -0
- package/v3/dist/integrations/coherence/coherence-service.js.map +1 -0
- package/v3/dist/integrations/coherence/engines/category-adapter.d.ts +170 -0
- package/v3/dist/integrations/coherence/engines/category-adapter.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/engines/category-adapter.js +403 -0
- package/v3/dist/integrations/coherence/engines/category-adapter.js.map +1 -0
- package/v3/dist/integrations/coherence/engines/causal-adapter.d.ts +159 -0
- package/v3/dist/integrations/coherence/engines/causal-adapter.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/engines/causal-adapter.js +348 -0
- package/v3/dist/integrations/coherence/engines/causal-adapter.js.map +1 -0
- package/v3/dist/integrations/coherence/engines/cohomology-adapter.d.ts +174 -0
- package/v3/dist/integrations/coherence/engines/cohomology-adapter.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/engines/cohomology-adapter.js +401 -0
- package/v3/dist/integrations/coherence/engines/cohomology-adapter.js.map +1 -0
- package/v3/dist/integrations/coherence/engines/homotopy-adapter.d.ts +201 -0
- package/v3/dist/integrations/coherence/engines/homotopy-adapter.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/engines/homotopy-adapter.js +324 -0
- package/v3/dist/integrations/coherence/engines/homotopy-adapter.js.map +1 -0
- package/v3/dist/integrations/coherence/engines/index.d.ts +20 -0
- package/v3/dist/integrations/coherence/engines/index.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/engines/index.js +26 -0
- package/v3/dist/integrations/coherence/engines/index.js.map +1 -0
- package/v3/dist/integrations/coherence/engines/spectral-adapter.d.ts +193 -0
- package/v3/dist/integrations/coherence/engines/spectral-adapter.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/engines/spectral-adapter.js +476 -0
- package/v3/dist/integrations/coherence/engines/spectral-adapter.js.map +1 -0
- package/v3/dist/integrations/coherence/engines/witness-adapter.d.ts +175 -0
- package/v3/dist/integrations/coherence/engines/witness-adapter.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/engines/witness-adapter.js +377 -0
- package/v3/dist/integrations/coherence/engines/witness-adapter.js.map +1 -0
- package/v3/dist/integrations/coherence/index.d.ts +84 -0
- package/v3/dist/integrations/coherence/index.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/index.js +114 -0
- package/v3/dist/integrations/coherence/index.js.map +1 -0
- package/v3/dist/integrations/coherence/threshold-tuner.d.ts +396 -0
- package/v3/dist/integrations/coherence/threshold-tuner.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/threshold-tuner.js +538 -0
- package/v3/dist/integrations/coherence/threshold-tuner.js.map +1 -0
- package/v3/dist/integrations/coherence/types.d.ts +879 -0
- package/v3/dist/integrations/coherence/types.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/types.js +134 -0
- package/v3/dist/integrations/coherence/types.js.map +1 -0
- package/v3/dist/integrations/coherence/wasm-loader.d.ts +351 -0
- package/v3/dist/integrations/coherence/wasm-loader.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/wasm-loader.js +842 -0
- package/v3/dist/integrations/coherence/wasm-loader.js.map +1 -0
- package/v3/dist/integrations/embeddings/index/HNSWIndex.d.ts.map +1 -1
- package/v3/dist/integrations/embeddings/index/HNSWIndex.js +4 -1
- package/v3/dist/integrations/embeddings/index/HNSWIndex.js.map +1 -1
- package/v3/dist/kernel/interfaces.d.ts +8 -1
- package/v3/dist/kernel/interfaces.d.ts.map +1 -1
- package/v3/dist/learning/aqe-learning-engine.d.ts +272 -0
- package/v3/dist/learning/aqe-learning-engine.d.ts.map +1 -0
- package/v3/dist/learning/aqe-learning-engine.js +708 -0
- package/v3/dist/learning/aqe-learning-engine.js.map +1 -0
- package/v3/dist/learning/causal-verifier.d.ts +244 -0
- package/v3/dist/learning/causal-verifier.d.ts.map +1 -0
- package/v3/dist/learning/causal-verifier.js +300 -0
- package/v3/dist/learning/causal-verifier.js.map +1 -0
- package/v3/dist/learning/experience-capture.d.ts +266 -0
- package/v3/dist/learning/experience-capture.d.ts.map +1 -0
- package/v3/dist/learning/experience-capture.js +647 -0
- package/v3/dist/learning/experience-capture.js.map +1 -0
- package/v3/dist/learning/index.d.ts +8 -0
- package/v3/dist/learning/index.d.ts.map +1 -1
- package/v3/dist/learning/index.js +16 -0
- package/v3/dist/learning/index.js.map +1 -1
- package/v3/dist/learning/memory-auditor.d.ts +235 -0
- package/v3/dist/learning/memory-auditor.d.ts.map +1 -0
- package/v3/dist/learning/memory-auditor.js +478 -0
- package/v3/dist/learning/memory-auditor.js.map +1 -0
- package/v3/dist/learning/pattern-store.d.ts.map +1 -1
- package/v3/dist/learning/pattern-store.js +27 -6
- package/v3/dist/learning/pattern-store.js.map +1 -1
- package/v3/dist/learning/qe-patterns.d.ts +15 -1
- package/v3/dist/learning/qe-patterns.d.ts.map +1 -1
- package/v3/dist/learning/qe-patterns.js +26 -5
- package/v3/dist/learning/qe-patterns.js.map +1 -1
- package/v3/dist/learning/qe-reasoning-bank.d.ts +38 -2
- package/v3/dist/learning/qe-reasoning-bank.d.ts.map +1 -1
- package/v3/dist/learning/qe-reasoning-bank.js +86 -4
- package/v3/dist/learning/qe-reasoning-bank.js.map +1 -1
- package/v3/dist/learning/real-qe-reasoning-bank.d.ts +32 -2
- package/v3/dist/learning/real-qe-reasoning-bank.d.ts.map +1 -1
- package/v3/dist/learning/real-qe-reasoning-bank.js +61 -6
- package/v3/dist/learning/real-qe-reasoning-bank.js.map +1 -1
- package/v3/dist/mcp/bundle.js +6303 -266
- package/v3/dist/mcp/tools/coherence/audit.d.ts +107 -0
- package/v3/dist/mcp/tools/coherence/audit.d.ts.map +1 -0
- package/v3/dist/mcp/tools/coherence/audit.js +236 -0
- package/v3/dist/mcp/tools/coherence/audit.js.map +1 -0
- package/v3/dist/mcp/tools/coherence/check.d.ts +106 -0
- package/v3/dist/mcp/tools/coherence/check.d.ts.map +1 -0
- package/v3/dist/mcp/tools/coherence/check.js +205 -0
- package/v3/dist/mcp/tools/coherence/check.js.map +1 -0
- package/v3/dist/mcp/tools/coherence/collapse.d.ts +123 -0
- package/v3/dist/mcp/tools/coherence/collapse.d.ts.map +1 -0
- package/v3/dist/mcp/tools/coherence/collapse.js +279 -0
- package/v3/dist/mcp/tools/coherence/collapse.js.map +1 -0
- package/v3/dist/mcp/tools/coherence/consensus.d.ts +100 -0
- package/v3/dist/mcp/tools/coherence/consensus.d.ts.map +1 -0
- package/v3/dist/mcp/tools/coherence/consensus.js +201 -0
- package/v3/dist/mcp/tools/coherence/consensus.js.map +1 -0
- package/v3/dist/mcp/tools/coherence/index.d.ts +31 -0
- package/v3/dist/mcp/tools/coherence/index.d.ts.map +1 -0
- package/v3/dist/mcp/tools/coherence/index.js +42 -0
- package/v3/dist/mcp/tools/coherence/index.js.map +1 -0
- package/v3/dist/mcp/tools/index.d.ts +6 -1
- package/v3/dist/mcp/tools/index.d.ts.map +1 -1
- package/v3/dist/mcp/tools/index.js +9 -1
- package/v3/dist/mcp/tools/index.js.map +1 -1
- package/v3/dist/mcp/tools/mincut/index.d.ts +1 -1
- package/v3/dist/mcp/tools/mincut/index.d.ts.map +1 -1
- package/v3/dist/mcp/tools/mincut/index.js.map +1 -1
- package/v3/dist/mcp/tools/registry.d.ts +4 -0
- package/v3/dist/mcp/tools/registry.d.ts.map +1 -1
- package/v3/dist/mcp/tools/registry.js +5 -0
- package/v3/dist/mcp/tools/registry.js.map +1 -1
- package/v3/dist/mcp/types.d.ts +1 -1
- package/v3/dist/mcp/types.d.ts.map +1 -1
- package/v3/dist/strange-loop/belief-reconciler.d.ts +357 -0
- package/v3/dist/strange-loop/belief-reconciler.d.ts.map +1 -0
- package/v3/dist/strange-loop/belief-reconciler.js +696 -0
- package/v3/dist/strange-loop/belief-reconciler.js.map +1 -0
- package/v3/dist/strange-loop/index.d.ts +1 -0
- package/v3/dist/strange-loop/index.d.ts.map +1 -1
- package/v3/dist/strange-loop/index.js +2 -0
- package/v3/dist/strange-loop/index.js.map +1 -1
- package/v3/dist/strange-loop/strange-loop.d.ts +177 -5
- package/v3/dist/strange-loop/strange-loop.d.ts.map +1 -1
- package/v3/dist/strange-loop/strange-loop.js +452 -9
- package/v3/dist/strange-loop/strange-loop.js.map +1 -1
- package/v3/dist/strange-loop/types.d.ts +205 -1
- package/v3/dist/strange-loop/types.d.ts.map +1 -1
- package/v3/dist/strange-loop/types.js +5 -0
- package/v3/dist/strange-loop/types.js.map +1 -1
- package/v3/package.json +5 -1
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Agentic QE v3 - Init Command
|
|
4
|
+
* ADR-025: Enhanced Init with Self-Configuration
|
|
5
|
+
*
|
|
6
|
+
* Comprehensive init command that:
|
|
7
|
+
* - Detects project type (new/existing/upgrade)
|
|
8
|
+
* - Analyzes project structure
|
|
9
|
+
* - Detects available enhancements (Claude Flow, RuVector)
|
|
10
|
+
* - Runs modular init phases
|
|
11
|
+
* - Handles v2 to v3 migration
|
|
12
|
+
*/
|
|
13
|
+
import { Command } from 'commander';
|
|
14
|
+
import chalk from 'chalk';
|
|
15
|
+
import path from 'node:path';
|
|
16
|
+
import { existsSync } from 'node:fs';
|
|
17
|
+
import { createModularInitOrchestrator, formatInitResultModular, } from '../../init/index.js';
|
|
18
|
+
import { setupClaudeFlowIntegration } from './claude-flow-setup.js';
|
|
19
|
+
// ============================================================================
|
|
20
|
+
// Init Command
|
|
21
|
+
// ============================================================================
|
|
22
|
+
/**
|
|
23
|
+
* Create the init command
|
|
24
|
+
*/
|
|
25
|
+
export function createInitCommand() {
|
|
26
|
+
const initCmd = new Command('init')
|
|
27
|
+
.description('Initialize Agentic QE v3 in your project')
|
|
28
|
+
.option('-a, --auto', 'Auto-configure without prompts')
|
|
29
|
+
.option('--auto-migrate', 'Automatically migrate from v2 if detected')
|
|
30
|
+
.option('--minimal', 'Minimal installation (no skills, patterns, or workers)')
|
|
31
|
+
.option('--skip-patterns', 'Skip pattern loading')
|
|
32
|
+
.option('--with-n8n', 'Include n8n workflow testing platform')
|
|
33
|
+
.option('--with-claude-flow', 'Force Claude Flow integration setup')
|
|
34
|
+
.option('--skip-claude-flow', 'Skip Claude Flow integration')
|
|
35
|
+
.option('-d, --debug', 'Enable debug output')
|
|
36
|
+
.action(async (options) => {
|
|
37
|
+
await runInit(options);
|
|
38
|
+
});
|
|
39
|
+
// Subcommands
|
|
40
|
+
initCmd
|
|
41
|
+
.command('status')
|
|
42
|
+
.description('Check AQE installation status')
|
|
43
|
+
.action(async () => {
|
|
44
|
+
await checkStatus();
|
|
45
|
+
});
|
|
46
|
+
initCmd
|
|
47
|
+
.command('migrate')
|
|
48
|
+
.description('Migrate from v2 to v3')
|
|
49
|
+
.option('--dry-run', 'Show what would be migrated without making changes')
|
|
50
|
+
.option('--force', 'Force migration even if v3 already exists')
|
|
51
|
+
.action(async (migrateOptions) => {
|
|
52
|
+
await runMigration(migrateOptions);
|
|
53
|
+
});
|
|
54
|
+
initCmd
|
|
55
|
+
.command('reset')
|
|
56
|
+
.description('Reset AQE configuration (keeps data)')
|
|
57
|
+
.option('--all', 'Reset everything including data')
|
|
58
|
+
.option('--confirm', 'Skip confirmation prompt')
|
|
59
|
+
.action(async (resetOptions) => {
|
|
60
|
+
await runReset(resetOptions);
|
|
61
|
+
});
|
|
62
|
+
return initCmd;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Run the init command
|
|
66
|
+
*/
|
|
67
|
+
async function runInit(options) {
|
|
68
|
+
const projectRoot = process.cwd();
|
|
69
|
+
console.log('');
|
|
70
|
+
console.log(chalk.bold.blue(' Agentic QE v3 - Initialization'));
|
|
71
|
+
console.log(chalk.gray(' āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā'));
|
|
72
|
+
console.log('');
|
|
73
|
+
// Check if already initialized
|
|
74
|
+
const aqeDir = path.join(projectRoot, '.agentic-qe');
|
|
75
|
+
const isExisting = existsSync(aqeDir);
|
|
76
|
+
if (isExisting && !options.auto && !options.autoMigrate) {
|
|
77
|
+
console.log(chalk.yellow(' ā AQE directory already exists at:'), aqeDir);
|
|
78
|
+
console.log(chalk.gray(' Use --auto to update configuration'));
|
|
79
|
+
console.log(chalk.gray(' Use --auto-migrate to migrate from v2'));
|
|
80
|
+
console.log('');
|
|
81
|
+
}
|
|
82
|
+
// Create orchestrator
|
|
83
|
+
const orchestrator = createModularInitOrchestrator({
|
|
84
|
+
projectRoot,
|
|
85
|
+
autoMode: options.auto,
|
|
86
|
+
autoMigrate: options.autoMigrate,
|
|
87
|
+
minimal: options.minimal,
|
|
88
|
+
skipPatterns: options.skipPatterns,
|
|
89
|
+
withN8n: options.withN8n,
|
|
90
|
+
});
|
|
91
|
+
// Run initialization
|
|
92
|
+
const startTime = Date.now();
|
|
93
|
+
let result;
|
|
94
|
+
try {
|
|
95
|
+
result = await orchestrator.initialize();
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
console.error(chalk.red('\n ā Initialization failed:'));
|
|
99
|
+
console.error(chalk.gray(` ${error instanceof Error ? error.message : String(error)}`));
|
|
100
|
+
process.exit(1);
|
|
101
|
+
}
|
|
102
|
+
// Claude Flow integration (after base init)
|
|
103
|
+
let cfResult;
|
|
104
|
+
if (!options.skipClaudeFlow && (options.withClaudeFlow || result.success)) {
|
|
105
|
+
try {
|
|
106
|
+
cfResult = await setupClaudeFlowIntegration({
|
|
107
|
+
projectRoot,
|
|
108
|
+
force: options.withClaudeFlow,
|
|
109
|
+
debug: options.debug,
|
|
110
|
+
});
|
|
111
|
+
if (cfResult.available) {
|
|
112
|
+
console.log(chalk.green('\n ā Claude Flow integration enabled'));
|
|
113
|
+
if (cfResult.features.trajectories) {
|
|
114
|
+
console.log(chalk.gray(' ⢠SONA trajectory tracking'));
|
|
115
|
+
}
|
|
116
|
+
if (cfResult.features.modelRouting) {
|
|
117
|
+
console.log(chalk.gray(' ⢠3-tier model routing (haiku/sonnet/opus)'));
|
|
118
|
+
}
|
|
119
|
+
if (cfResult.features.pretrain) {
|
|
120
|
+
console.log(chalk.gray(' ⢠Codebase pretrain analysis'));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
if (options.debug) {
|
|
126
|
+
console.log(chalk.gray('\n Claude Flow not available (standalone mode)'));
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
// Display result
|
|
131
|
+
console.log(formatInitResultModular(result));
|
|
132
|
+
// Display timing
|
|
133
|
+
const totalMs = Date.now() - startTime;
|
|
134
|
+
console.log(chalk.gray(` Total time: ${formatDuration(totalMs)}`));
|
|
135
|
+
console.log('');
|
|
136
|
+
// Next steps
|
|
137
|
+
if (result.success) {
|
|
138
|
+
displayNextSteps(result, cfResult);
|
|
139
|
+
}
|
|
140
|
+
process.exit(result.success ? 0 : 1);
|
|
141
|
+
}
|
|
142
|
+
// ============================================================================
|
|
143
|
+
// Status Action
|
|
144
|
+
// ============================================================================
|
|
145
|
+
/**
|
|
146
|
+
* Check AQE installation status
|
|
147
|
+
*/
|
|
148
|
+
async function checkStatus() {
|
|
149
|
+
const projectRoot = process.cwd();
|
|
150
|
+
const aqeDir = path.join(projectRoot, '.agentic-qe');
|
|
151
|
+
console.log('');
|
|
152
|
+
console.log(chalk.bold.blue(' AQE Installation Status'));
|
|
153
|
+
console.log(chalk.gray(' āāāāāāāāāāāāāāāāāāāāāāāāā'));
|
|
154
|
+
console.log('');
|
|
155
|
+
// Check directories
|
|
156
|
+
const dirs = [
|
|
157
|
+
{ name: '.agentic-qe', path: aqeDir },
|
|
158
|
+
{ name: 'memory.db', path: path.join(aqeDir, 'memory.db') },
|
|
159
|
+
{ name: 'config.json', path: path.join(aqeDir, 'config.json') },
|
|
160
|
+
{ name: 'CLAUDE.md', path: path.join(projectRoot, 'CLAUDE.md') },
|
|
161
|
+
];
|
|
162
|
+
for (const dir of dirs) {
|
|
163
|
+
const exists = existsSync(dir.path);
|
|
164
|
+
const icon = exists ? chalk.green('ā') : chalk.red('ā');
|
|
165
|
+
console.log(` ${icon} ${dir.name}`);
|
|
166
|
+
}
|
|
167
|
+
// Check Claude Flow
|
|
168
|
+
console.log('');
|
|
169
|
+
console.log(chalk.bold(' Enhancements:'));
|
|
170
|
+
try {
|
|
171
|
+
const cfResult = await setupClaudeFlowIntegration({
|
|
172
|
+
projectRoot,
|
|
173
|
+
checkOnly: true,
|
|
174
|
+
});
|
|
175
|
+
if (cfResult.available) {
|
|
176
|
+
console.log(chalk.green(' ā Claude Flow available'));
|
|
177
|
+
console.log(chalk.gray(` Version: ${cfResult.version || 'unknown'}`));
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
console.log(chalk.gray(' ā Claude Flow not detected'));
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
console.log(chalk.gray(' ā Claude Flow not detected'));
|
|
185
|
+
}
|
|
186
|
+
console.log('');
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Run v2 to v3 migration
|
|
190
|
+
*/
|
|
191
|
+
async function runMigration(options) {
|
|
192
|
+
const projectRoot = process.cwd();
|
|
193
|
+
const aqeDir = path.join(projectRoot, '.agentic-qe');
|
|
194
|
+
console.log('');
|
|
195
|
+
console.log(chalk.bold.blue(' AQE v2 to v3 Migration'));
|
|
196
|
+
console.log(chalk.gray(' āāāāāāāāāāāāāāāāāāāāāāāāāā'));
|
|
197
|
+
console.log('');
|
|
198
|
+
// Import migration modules
|
|
199
|
+
const { createV2Detector, createV2DataMigrator, createV2ConfigMigrator } = await import('../../init/migration/index.js');
|
|
200
|
+
// Detect v2
|
|
201
|
+
const detector = createV2Detector(projectRoot);
|
|
202
|
+
const v2Info = await detector.detect();
|
|
203
|
+
if (!v2Info.detected) {
|
|
204
|
+
console.log(chalk.yellow(' ā No v2 installation detected'));
|
|
205
|
+
console.log(chalk.gray(' Run "aqe init" to create a new installation'));
|
|
206
|
+
console.log('');
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
console.log(chalk.green(' ā Found v2 installation'));
|
|
210
|
+
console.log(chalk.gray(` Database: ${v2Info.paths.memoryDb || 'not found'}`));
|
|
211
|
+
console.log(chalk.gray(` Config: ${v2Info.paths.configDir || 'not found'}`));
|
|
212
|
+
console.log(chalk.gray(` Version: ${v2Info.version || 'unknown'}`));
|
|
213
|
+
console.log('');
|
|
214
|
+
if (options.dryRun) {
|
|
215
|
+
console.log(chalk.yellow(' Dry run - no changes will be made'));
|
|
216
|
+
console.log('');
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
// Run migration
|
|
220
|
+
console.log(chalk.blue(' Migrating data...'));
|
|
221
|
+
if (v2Info.paths.memoryDb) {
|
|
222
|
+
const dataMigrator = createV2DataMigrator({
|
|
223
|
+
v2DbPath: v2Info.paths.memoryDb,
|
|
224
|
+
v3PatternsDbPath: path.join(aqeDir, 'patterns.db'),
|
|
225
|
+
onProgress: (p) => console.log(chalk.gray(` ${p.message}`)),
|
|
226
|
+
});
|
|
227
|
+
const dataResult = await dataMigrator.migrate();
|
|
228
|
+
if (dataResult.success) {
|
|
229
|
+
console.log(chalk.green(` ā Migrated ${dataResult.counts.patterns || 0} patterns`));
|
|
230
|
+
console.log(chalk.green(` ā Migrated ${dataResult.counts.experiences || 0} experiences`));
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
console.log(chalk.red(` ā Data migration failed: ${dataResult.errors.join(', ')}`));
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
const configMigrator = createV2ConfigMigrator(projectRoot);
|
|
237
|
+
const configResult = await configMigrator.migrate();
|
|
238
|
+
if (configResult.success) {
|
|
239
|
+
console.log(chalk.green(' ā Config migrated'));
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
console.log(chalk.yellow(' ā Config migration skipped (no v2 config found)'));
|
|
243
|
+
}
|
|
244
|
+
console.log('');
|
|
245
|
+
console.log(chalk.green(' Migration complete!'));
|
|
246
|
+
console.log(chalk.gray(' Run "aqe init" to complete setup'));
|
|
247
|
+
console.log('');
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Reset AQE configuration
|
|
251
|
+
*/
|
|
252
|
+
async function runReset(options) {
|
|
253
|
+
const projectRoot = process.cwd();
|
|
254
|
+
const aqeDir = path.join(projectRoot, '.agentic-qe');
|
|
255
|
+
console.log('');
|
|
256
|
+
console.log(chalk.bold.yellow(' AQE Configuration Reset'));
|
|
257
|
+
console.log(chalk.gray(' āāāāāāāāāāāāāāāāāāāāāāāā'));
|
|
258
|
+
console.log('');
|
|
259
|
+
if (!existsSync(aqeDir)) {
|
|
260
|
+
console.log(chalk.yellow(' ā No AQE installation found'));
|
|
261
|
+
console.log('');
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
264
|
+
if (!options.confirm) {
|
|
265
|
+
console.log(chalk.yellow(' ā This will reset your AQE configuration.'));
|
|
266
|
+
console.log(chalk.gray(' Use --confirm to proceed'));
|
|
267
|
+
if (options.all) {
|
|
268
|
+
console.log(chalk.red(' --all will also delete all data!'));
|
|
269
|
+
}
|
|
270
|
+
console.log('');
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
const fs = await import('node:fs');
|
|
274
|
+
const filesToReset = [
|
|
275
|
+
path.join(aqeDir, 'config.json'),
|
|
276
|
+
path.join(projectRoot, 'CLAUDE.md'),
|
|
277
|
+
path.join(projectRoot, '.claude', 'settings.json'),
|
|
278
|
+
];
|
|
279
|
+
if (options.all) {
|
|
280
|
+
// Also delete data files
|
|
281
|
+
filesToReset.push(path.join(aqeDir, 'memory.db'), path.join(aqeDir, 'patterns.db'), path.join(aqeDir, 'trajectories.db'), path.join(aqeDir, 'hnsw.index'));
|
|
282
|
+
}
|
|
283
|
+
for (const file of filesToReset) {
|
|
284
|
+
if (existsSync(file)) {
|
|
285
|
+
try {
|
|
286
|
+
fs.rmSync(file);
|
|
287
|
+
console.log(chalk.gray(` Removed: ${path.relative(projectRoot, file)}`));
|
|
288
|
+
}
|
|
289
|
+
catch (error) {
|
|
290
|
+
console.log(chalk.red(` Failed to remove: ${path.relative(projectRoot, file)}`));
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
console.log('');
|
|
295
|
+
console.log(chalk.green(' Reset complete!'));
|
|
296
|
+
console.log(chalk.gray(' Run "aqe init" to reconfigure'));
|
|
297
|
+
console.log('');
|
|
298
|
+
}
|
|
299
|
+
// ============================================================================
|
|
300
|
+
// Helpers
|
|
301
|
+
// ============================================================================
|
|
302
|
+
/**
|
|
303
|
+
* Format duration for display
|
|
304
|
+
*/
|
|
305
|
+
function formatDuration(ms) {
|
|
306
|
+
if (ms < 1000)
|
|
307
|
+
return `${ms}ms`;
|
|
308
|
+
if (ms < 60000)
|
|
309
|
+
return `${(ms / 1000).toFixed(1)}s`;
|
|
310
|
+
return `${(ms / 60000).toFixed(1)}m`;
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Display next steps after successful init
|
|
314
|
+
*/
|
|
315
|
+
function displayNextSteps(result, cfResult) {
|
|
316
|
+
console.log(chalk.bold(' Next Steps:'));
|
|
317
|
+
console.log('');
|
|
318
|
+
console.log(chalk.gray(' 1. Review generated CLAUDE.md for project instructions'));
|
|
319
|
+
console.log(chalk.gray(' 2. Check .agentic-qe/config.json for configuration'));
|
|
320
|
+
console.log('');
|
|
321
|
+
if (result.summary.skillsInstalled > 0) {
|
|
322
|
+
console.log(chalk.gray(` Skills installed: ${result.summary.skillsInstalled}`));
|
|
323
|
+
console.log(chalk.gray(' Use /skill-name to invoke skills in Claude'));
|
|
324
|
+
}
|
|
325
|
+
if (result.summary.agentsInstalled > 0) {
|
|
326
|
+
console.log(chalk.gray(` Agents installed: ${result.summary.agentsInstalled}`));
|
|
327
|
+
console.log(chalk.gray(' QE agents available for task routing'));
|
|
328
|
+
}
|
|
329
|
+
if (cfResult?.available) {
|
|
330
|
+
console.log('');
|
|
331
|
+
console.log(chalk.blue(' Claude Flow Enhanced:'));
|
|
332
|
+
console.log(chalk.gray(' ⢠SONA learning tracks task trajectories'));
|
|
333
|
+
console.log(chalk.gray(' ⢠Model routing optimizes haiku/sonnet/opus selection'));
|
|
334
|
+
console.log(chalk.gray(' ⢠Codebase pretrain improves agent recommendations'));
|
|
335
|
+
}
|
|
336
|
+
console.log('');
|
|
337
|
+
console.log(chalk.bold(' Get Started:'));
|
|
338
|
+
console.log(chalk.cyan(' aqe test generate src/ # Generate tests'));
|
|
339
|
+
console.log(chalk.cyan(' aqe coverage analyze src/ # Analyze coverage'));
|
|
340
|
+
console.log(chalk.cyan(' aqe fleet init # Initialize agent fleet'));
|
|
341
|
+
console.log('');
|
|
342
|
+
}
|
|
343
|
+
// Default export
|
|
344
|
+
export default createInitCommand;
|
|
345
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
package/v3/dist/cli/index.js
CHANGED
|
@@ -15,7 +15,9 @@ import { DefaultProtocolExecutor } from '../coordination/protocol-executor';
|
|
|
15
15
|
import { WorkflowOrchestrator } from '../coordination/workflow-orchestrator';
|
|
16
16
|
import { ALL_DOMAINS } from '../shared/types';
|
|
17
17
|
import { InitOrchestrator } from '../init/init-wizard';
|
|
18
|
+
import { createModularInitOrchestrator, } from '../init/orchestrator.js';
|
|
18
19
|
import { integrateCodeIntelligence } from '../init/fleet-integration';
|
|
20
|
+
import { setupClaudeFlowIntegration } from './commands/claude-flow-setup.js';
|
|
19
21
|
import { generateCompletion, detectShell, getInstallInstructions, DOMAINS as COMPLETION_DOMAINS, QE_AGENTS, OTHER_AGENTS, } from './completions/index.js';
|
|
20
22
|
import { FleetProgressManager, createTimedSpinner, } from './utils/progress';
|
|
21
23
|
import { bootstrapTokenTracking, shutdownTokenTracking } from '../init/token-bootstrap.js';
|
|
@@ -34,6 +36,25 @@ const context = {
|
|
|
34
36
|
persistentScheduler: null,
|
|
35
37
|
initialized: false,
|
|
36
38
|
};
|
|
39
|
+
/**
|
|
40
|
+
* Register domain workflow actions with the WorkflowOrchestrator (Issue #206)
|
|
41
|
+
* This enables domain-specific actions to be used in pipeline YAML workflows.
|
|
42
|
+
*/
|
|
43
|
+
function registerDomainWorkflowActions(kernel, orchestrator) {
|
|
44
|
+
// Register visual-accessibility domain actions
|
|
45
|
+
const visualAccessibilityAPI = kernel.getDomainAPI('visual-accessibility');
|
|
46
|
+
if (visualAccessibilityAPI?.registerWorkflowActions) {
|
|
47
|
+
try {
|
|
48
|
+
visualAccessibilityAPI.registerWorkflowActions(orchestrator);
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
// Log but don't fail - domain may not be enabled
|
|
52
|
+
console.error(chalk.yellow(` ā Could not register visual-accessibility workflow actions: ${error instanceof Error ? error.message : String(error)}`));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// Additional domain action registrations can be added here as needed
|
|
56
|
+
// Example: registerTestGenerationWorkflowActions(kernel, orchestrator);
|
|
57
|
+
}
|
|
37
58
|
// ============================================================================
|
|
38
59
|
// Helper Functions
|
|
39
60
|
// ============================================================================
|
|
@@ -42,6 +63,9 @@ function getStatusColor(status) {
|
|
|
42
63
|
case 'healthy':
|
|
43
64
|
case 'completed':
|
|
44
65
|
return chalk.green(status);
|
|
66
|
+
case 'idle':
|
|
67
|
+
// Issue #205 fix: 'idle' is normal - show in cyan (neutral/ready)
|
|
68
|
+
return chalk.cyan(status);
|
|
45
69
|
case 'degraded':
|
|
46
70
|
case 'running':
|
|
47
71
|
return chalk.yellow(status);
|
|
@@ -88,6 +112,8 @@ async function autoInitialize() {
|
|
|
88
112
|
// Create workflow orchestrator
|
|
89
113
|
context.workflowOrchestrator = new WorkflowOrchestrator(context.kernel.eventBus, context.kernel.memory, context.kernel.coordinator);
|
|
90
114
|
await context.workflowOrchestrator.initialize();
|
|
115
|
+
// Register domain workflow actions (Issue #206)
|
|
116
|
+
registerDomainWorkflowActions(context.kernel, context.workflowOrchestrator);
|
|
91
117
|
// Create persistent scheduler for workflow scheduling (ADR-041)
|
|
92
118
|
context.persistentScheduler = createPersistentScheduler();
|
|
93
119
|
// Create Queen Coordinator
|
|
@@ -180,6 +206,9 @@ program
|
|
|
180
206
|
.option('--skip-patterns', 'Skip loading pre-trained patterns')
|
|
181
207
|
.option('--with-n8n', 'Install n8n workflow testing agents and skills')
|
|
182
208
|
.option('--auto-migrate', 'Automatically migrate from v2 if detected')
|
|
209
|
+
.option('--with-claude-flow', 'Force Claude Flow integration setup')
|
|
210
|
+
.option('--skip-claude-flow', 'Skip Claude Flow integration')
|
|
211
|
+
.option('--modular', 'Use new modular init system (default for --auto)')
|
|
183
212
|
.action(async (options) => {
|
|
184
213
|
try {
|
|
185
214
|
// --auto-migrate implies --auto (must use orchestrator for migration)
|
|
@@ -189,6 +218,74 @@ program
|
|
|
189
218
|
// Check if wizard mode requested
|
|
190
219
|
if (options.wizard || options.auto) {
|
|
191
220
|
console.log(chalk.blue('\nš Agentic QE v3 Initialization\n'));
|
|
221
|
+
// Use modular orchestrator for --auto or --modular
|
|
222
|
+
if (options.auto || options.modular) {
|
|
223
|
+
const orchestrator = createModularInitOrchestrator({
|
|
224
|
+
projectRoot: process.cwd(),
|
|
225
|
+
autoMode: options.auto,
|
|
226
|
+
minimal: options.minimal,
|
|
227
|
+
skipPatterns: options.skipPatterns,
|
|
228
|
+
withN8n: options.withN8n,
|
|
229
|
+
autoMigrate: options.autoMigrate,
|
|
230
|
+
});
|
|
231
|
+
console.log(chalk.white('š Analyzing project...\n'));
|
|
232
|
+
const result = await orchestrator.initialize();
|
|
233
|
+
// Display step results
|
|
234
|
+
for (const step of result.steps) {
|
|
235
|
+
const statusIcon = step.status === 'success' ? 'ā' : step.status === 'error' ? 'ā' : 'ā ';
|
|
236
|
+
const statusColor = step.status === 'success' ? chalk.green : step.status === 'error' ? chalk.red : chalk.yellow;
|
|
237
|
+
console.log(statusColor(` ${statusIcon} ${step.step} (${step.durationMs}ms)`));
|
|
238
|
+
}
|
|
239
|
+
console.log('');
|
|
240
|
+
// Claude Flow integration (after base init)
|
|
241
|
+
let cfResult;
|
|
242
|
+
if (!options.skipClaudeFlow && (options.withClaudeFlow || result.success)) {
|
|
243
|
+
try {
|
|
244
|
+
cfResult = await setupClaudeFlowIntegration({
|
|
245
|
+
projectRoot: process.cwd(),
|
|
246
|
+
force: options.withClaudeFlow,
|
|
247
|
+
});
|
|
248
|
+
if (cfResult.available) {
|
|
249
|
+
console.log(chalk.green('ā Claude Flow integration enabled'));
|
|
250
|
+
if (cfResult.features.trajectories) {
|
|
251
|
+
console.log(chalk.gray(' ⢠SONA trajectory tracking'));
|
|
252
|
+
}
|
|
253
|
+
if (cfResult.features.modelRouting) {
|
|
254
|
+
console.log(chalk.gray(' ⢠3-tier model routing (haiku/sonnet/opus)'));
|
|
255
|
+
}
|
|
256
|
+
if (cfResult.features.pretrain) {
|
|
257
|
+
console.log(chalk.gray(' ⢠Codebase pretrain analysis'));
|
|
258
|
+
}
|
|
259
|
+
console.log('');
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
catch {
|
|
263
|
+
// Claude Flow not available - continue without it
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
if (result.success) {
|
|
267
|
+
console.log(chalk.green('ā
AQE v3 initialized successfully!\n'));
|
|
268
|
+
// Show summary
|
|
269
|
+
console.log(chalk.blue('š Summary:'));
|
|
270
|
+
console.log(chalk.gray(` ⢠Patterns loaded: ${result.summary.patternsLoaded}`));
|
|
271
|
+
console.log(chalk.gray(` ⢠Skills installed: ${result.summary.skillsInstalled}`));
|
|
272
|
+
console.log(chalk.gray(` ⢠Agents installed: ${result.summary.agentsInstalled}`));
|
|
273
|
+
console.log(chalk.gray(` ⢠Hooks configured: ${result.summary.hooksConfigured ? 'Yes' : 'No'}`));
|
|
274
|
+
console.log(chalk.gray(` ⢠Workers started: ${result.summary.workersStarted}`));
|
|
275
|
+
console.log(chalk.gray(` ⢠Claude Flow: ${cfResult?.available ? 'Enabled' : 'Standalone mode'}`));
|
|
276
|
+
console.log(chalk.gray(` ⢠Total time: ${result.totalDurationMs}ms\n`));
|
|
277
|
+
console.log(chalk.white('Next steps:'));
|
|
278
|
+
console.log(chalk.gray(' 1. Add MCP: claude mcp add aqe -- aqe-mcp'));
|
|
279
|
+
console.log(chalk.gray(' 2. Run tests: aqe test <path>'));
|
|
280
|
+
console.log(chalk.gray(' 3. Check status: aqe status\n'));
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
console.log(chalk.red('ā Initialization failed. Check errors above.\n'));
|
|
284
|
+
await cleanupAndExit(1);
|
|
285
|
+
}
|
|
286
|
+
await cleanupAndExit(0);
|
|
287
|
+
}
|
|
288
|
+
// Legacy wizard mode using InitOrchestrator
|
|
192
289
|
const orchestratorOptions = {
|
|
193
290
|
projectRoot: process.cwd(),
|
|
194
291
|
autoMode: options.auto,
|
|
@@ -272,6 +369,8 @@ program
|
|
|
272
369
|
// Create workflow orchestrator
|
|
273
370
|
context.workflowOrchestrator = new WorkflowOrchestrator(context.kernel.eventBus, context.kernel.memory, context.kernel.coordinator);
|
|
274
371
|
await context.workflowOrchestrator.initialize();
|
|
372
|
+
// Register domain workflow actions (Issue #206)
|
|
373
|
+
registerDomainWorkflowActions(context.kernel, context.workflowOrchestrator);
|
|
275
374
|
console.log(chalk.green(' ā Workflow orchestrator initialized'));
|
|
276
375
|
// Create Queen Coordinator
|
|
277
376
|
// Note: workflowExecutor is omitted as WorkflowOrchestrator uses different interface
|
|
@@ -403,11 +502,13 @@ program
|
|
|
403
502
|
console.log(chalk.blue('\nš„ System Health\n'));
|
|
404
503
|
console.log(` Overall: ${getStatusColor(health.status)}`);
|
|
405
504
|
console.log(` Last Check: ${health.lastHealthCheck.toISOString()}`);
|
|
406
|
-
// Summary by status
|
|
407
|
-
let healthy = 0, degraded = 0, unhealthy = 0;
|
|
505
|
+
// Issue #205 fix: Summary by status including 'idle'
|
|
506
|
+
let healthy = 0, idle = 0, degraded = 0, unhealthy = 0;
|
|
408
507
|
for (const [, domainHealth] of health.domainHealth) {
|
|
409
508
|
if (domainHealth.status === 'healthy')
|
|
410
509
|
healthy++;
|
|
510
|
+
else if (domainHealth.status === 'idle')
|
|
511
|
+
idle++;
|
|
411
512
|
else if (domainHealth.status === 'degraded')
|
|
412
513
|
degraded++;
|
|
413
514
|
else
|
|
@@ -415,8 +516,13 @@ program
|
|
|
415
516
|
}
|
|
416
517
|
console.log(chalk.blue('\nš¦ Domains:'));
|
|
417
518
|
console.log(` ${chalk.green('ā')} Healthy: ${healthy}`);
|
|
519
|
+
console.log(` ${chalk.cyan('ā')} Idle (ready): ${idle}`);
|
|
418
520
|
console.log(` ${chalk.yellow('ā')} Degraded: ${degraded}`);
|
|
419
521
|
console.log(` ${chalk.red('ā')} Unhealthy: ${unhealthy}`);
|
|
522
|
+
// Issue #205 fix: Add helpful tip for fresh installs
|
|
523
|
+
if (idle > 0 && healthy === 0 && degraded === 0 && unhealthy === 0) {
|
|
524
|
+
console.log(chalk.gray('\n š” Tip: Domains are idle (ready). Run a task to spawn agents.'));
|
|
525
|
+
}
|
|
420
526
|
}
|
|
421
527
|
console.log('');
|
|
422
528
|
await cleanupAndExit(0);
|
|
@@ -2885,6 +2991,8 @@ fleetCmd
|
|
|
2885
2991
|
console.log(chalk.green(' ā Cross-domain router initialized'));
|
|
2886
2992
|
context.workflowOrchestrator = new WorkflowOrchestrator(context.kernel.eventBus, context.kernel.memory, context.kernel.coordinator);
|
|
2887
2993
|
await context.workflowOrchestrator.initialize();
|
|
2994
|
+
// Register domain workflow actions (Issue #206)
|
|
2995
|
+
registerDomainWorkflowActions(context.kernel, context.workflowOrchestrator);
|
|
2888
2996
|
console.log(chalk.green(' ā Workflow orchestrator initialized'));
|
|
2889
2997
|
context.persistentScheduler = createPersistentScheduler();
|
|
2890
2998
|
console.log(chalk.green(' ā Persistent scheduler initialized'));
|