agentic-qe 3.3.3 → 3.3.4
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/README.md +100 -0
- package/.claude/agents/v3/qe-accessibility-auditor.md +112 -11
- package/.claude/agents/v3/qe-bdd-generator.md +40 -0
- package/.claude/agents/v3/qe-coverage-specialist.md +39 -0
- package/.claude/agents/v3/qe-defect-predictor.md +36 -0
- package/.claude/agents/v3/qe-gap-detector.md +39 -0
- package/.claude/agents/v3/qe-pattern-learner.md +31 -0
- package/.claude/agents/v3/qe-product-factors-assessor.md +34 -0
- package/.claude/agents/v3/qe-quality-criteria-recommender.md +32 -0
- package/.claude/agents/v3/qe-quality-gate.md +39 -0
- package/.claude/agents/v3/qe-requirements-validator.md +37 -0
- package/.claude/agents/v3/qe-risk-assessor.md +33 -0
- package/.claude/agents/v3/qe-tdd-specialist.md +33 -0
- package/.claude/agents/v3/qe-test-architect.md +36 -0
- package/.claude/skills/README.md +30 -104
- package/.claude/skills/a11y-ally/SKILL.md +1658 -0
- package/.claude/skills/qcsd-ideation-swarm/SKILL.md +1750 -0
- package/.claude/skills/skills-manifest.json +78 -8
- package/README.md +18 -4
- package/package.json +1 -1
- package/scripts/demo-warmup.sh +45 -0
- package/scripts/fetch-content.js +460 -0
- package/v3/CHANGELOG.md +101 -0
- package/v3/README.md +11 -6
- package/v3/assets/agents/v3/README.md +100 -0
- package/v3/assets/agents/v3/qe-accessibility-auditor.md +112 -11
- package/v3/assets/agents/v3/qe-bdd-generator.md +40 -0
- package/v3/assets/agents/v3/qe-coverage-specialist.md +39 -0
- package/v3/assets/agents/v3/qe-defect-predictor.md +36 -0
- package/v3/assets/agents/v3/qe-gap-detector.md +39 -0
- package/v3/assets/agents/v3/qe-pattern-learner.md +31 -0
- package/v3/assets/agents/v3/qe-product-factors-assessor.md +34 -0
- package/v3/assets/agents/v3/qe-quality-criteria-recommender.md +32 -0
- package/v3/assets/agents/v3/qe-quality-gate.md +39 -0
- package/v3/assets/agents/v3/qe-requirements-validator.md +37 -0
- package/v3/assets/agents/v3/qe-risk-assessor.md +33 -0
- package/v3/assets/agents/v3/qe-tdd-specialist.md +33 -0
- package/v3/assets/agents/v3/qe-test-architect.md +36 -0
- package/v3/assets/hooks/cross-phase-memory.yaml +253 -0
- package/v3/assets/skills/a11y-ally/SKILL.md +1658 -0
- package/v3/assets/skills/qcsd-ideation-swarm/SKILL.md +1750 -0
- package/v3/assets/skills/skills-manifest.json +753 -0
- package/v3/dist/adapters/claude-flow/model-router-bridge.d.ts.map +1 -1
- package/v3/dist/adapters/claude-flow/model-router-bridge.js +6 -4
- package/v3/dist/adapters/claude-flow/model-router-bridge.js.map +1 -1
- package/v3/dist/adapters/claude-flow/pretrain-bridge.d.ts.map +1 -1
- package/v3/dist/adapters/claude-flow/pretrain-bridge.js +13 -8
- package/v3/dist/adapters/claude-flow/pretrain-bridge.js.map +1 -1
- package/v3/dist/adapters/claude-flow/trajectory-bridge.d.ts.map +1 -1
- package/v3/dist/adapters/claude-flow/trajectory-bridge.js +9 -6
- package/v3/dist/adapters/claude-flow/trajectory-bridge.js.map +1 -1
- package/v3/dist/benchmarks/performance-benchmarks.d.ts.map +1 -1
- package/v3/dist/benchmarks/performance-benchmarks.js +5 -3
- package/v3/dist/benchmarks/performance-benchmarks.js.map +1 -1
- package/v3/dist/cli/bundle.js +27611 -23175
- package/v3/dist/cli/commands/hooks.d.ts.map +1 -1
- package/v3/dist/cli/commands/hooks.js +288 -0
- package/v3/dist/cli/commands/hooks.js.map +1 -1
- package/v3/dist/cli/commands/sync.d.ts.map +1 -1
- package/v3/dist/cli/commands/sync.js +0 -6
- package/v3/dist/cli/commands/sync.js.map +1 -1
- package/v3/dist/cli/handlers/init-handler.d.ts.map +1 -1
- package/v3/dist/cli/handlers/init-handler.js +11 -0
- package/v3/dist/cli/handlers/init-handler.js.map +1 -1
- package/v3/dist/cli/index.js +14 -2
- package/v3/dist/cli/index.js.map +1 -1
- package/v3/dist/cli/scheduler/persistent-scheduler.d.ts.map +1 -1
- package/v3/dist/cli/scheduler/persistent-scheduler.js +3 -2
- package/v3/dist/cli/scheduler/persistent-scheduler.js.map +1 -1
- package/v3/dist/cli/wizards/test-wizard.d.ts.map +1 -1
- package/v3/dist/cli/wizards/test-wizard.js +6 -4
- package/v3/dist/cli/wizards/test-wizard.js.map +1 -1
- package/v3/dist/coordination/consensus/providers/native-learning-provider.d.ts.map +1 -1
- package/v3/dist/coordination/consensus/providers/native-learning-provider.js +10 -8
- package/v3/dist/coordination/consensus/providers/native-learning-provider.js.map +1 -1
- package/v3/dist/coordination/consensus/providers/ollama-provider.d.ts.map +1 -1
- package/v3/dist/coordination/consensus/providers/ollama-provider.js +5 -4
- package/v3/dist/coordination/consensus/providers/ollama-provider.js.map +1 -1
- package/v3/dist/coordination/consensus/providers/openai-provider.d.ts.map +1 -1
- package/v3/dist/coordination/consensus/providers/openai-provider.js +5 -4
- package/v3/dist/coordination/consensus/providers/openai-provider.js.map +1 -1
- package/v3/dist/coordination/constants.d.ts +198 -0
- package/v3/dist/coordination/constants.d.ts.map +1 -0
- package/v3/dist/coordination/constants.js +210 -0
- package/v3/dist/coordination/constants.js.map +1 -0
- package/v3/dist/coordination/mincut/dream-integration.d.ts.map +1 -1
- package/v3/dist/coordination/mincut/dream-integration.js +5 -1
- package/v3/dist/coordination/mincut/dream-integration.js.map +1 -1
- package/v3/dist/coordination/queen-coordinator.d.ts +9 -1
- package/v3/dist/coordination/queen-coordinator.d.ts.map +1 -1
- package/v3/dist/coordination/queen-coordinator.js +49 -9
- package/v3/dist/coordination/queen-coordinator.js.map +1 -1
- package/v3/dist/coordination/task-executor.d.ts.map +1 -1
- package/v3/dist/coordination/task-executor.js +7 -8
- package/v3/dist/coordination/task-executor.js.map +1 -1
- package/v3/dist/coordination/workflow-orchestrator.d.ts.map +1 -1
- package/v3/dist/coordination/workflow-orchestrator.js +261 -0
- package/v3/dist/coordination/workflow-orchestrator.js.map +1 -1
- package/v3/dist/domains/chaos-resilience/plugin.d.ts +14 -3
- package/v3/dist/domains/chaos-resilience/plugin.d.ts.map +1 -1
- package/v3/dist/domains/chaos-resilience/plugin.js +96 -0
- package/v3/dist/domains/chaos-resilience/plugin.js.map +1 -1
- package/v3/dist/domains/chaos-resilience/services/performance-profiler.d.ts.map +1 -1
- package/v3/dist/domains/chaos-resilience/services/performance-profiler.js +12 -8
- package/v3/dist/domains/chaos-resilience/services/performance-profiler.js.map +1 -1
- package/v3/dist/domains/code-intelligence/plugin.d.ts +13 -3
- package/v3/dist/domains/code-intelligence/plugin.d.ts.map +1 -1
- package/v3/dist/domains/code-intelligence/plugin.js +85 -0
- package/v3/dist/domains/code-intelligence/plugin.js.map +1 -1
- package/v3/dist/domains/code-intelligence/services/product-factors-bridge.d.ts.map +1 -1
- package/v3/dist/domains/code-intelligence/services/product-factors-bridge.js +3 -2
- package/v3/dist/domains/code-intelligence/services/product-factors-bridge.js.map +1 -1
- package/v3/dist/domains/constants.d.ts +481 -0
- package/v3/dist/domains/constants.d.ts.map +1 -0
- package/v3/dist/domains/constants.js +503 -0
- package/v3/dist/domains/constants.js.map +1 -0
- package/v3/dist/domains/contract-testing/plugin.d.ts +6 -1
- package/v3/dist/domains/contract-testing/plugin.d.ts.map +1 -1
- package/v3/dist/domains/contract-testing/plugin.js +80 -1
- package/v3/dist/domains/contract-testing/plugin.js.map +1 -1
- package/v3/dist/domains/contract-testing/services/contract-validator.d.ts.map +1 -1
- package/v3/dist/domains/contract-testing/services/contract-validator.js +5 -4
- package/v3/dist/domains/contract-testing/services/contract-validator.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/hnsw-index.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/hnsw-index.js +1 -0
- package/v3/dist/domains/coverage-analysis/services/hnsw-index.js.map +1 -1
- package/v3/dist/domains/defect-intelligence/coordinator.d.ts +2 -2
- package/v3/dist/domains/defect-intelligence/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/defect-intelligence/coordinator.js.map +1 -1
- package/v3/dist/domains/defect-intelligence/plugin.d.ts +6 -1
- package/v3/dist/domains/defect-intelligence/plugin.d.ts.map +1 -1
- package/v3/dist/domains/defect-intelligence/plugin.js +101 -0
- package/v3/dist/domains/defect-intelligence/plugin.js.map +1 -1
- package/v3/dist/domains/defect-intelligence/services/defect-predictor.d.ts.map +1 -1
- package/v3/dist/domains/defect-intelligence/services/defect-predictor.js +3 -2
- package/v3/dist/domains/defect-intelligence/services/defect-predictor.js.map +1 -1
- package/v3/dist/domains/domain-interface.d.ts.map +1 -1
- package/v3/dist/domains/domain-interface.js +24 -9
- package/v3/dist/domains/domain-interface.js.map +1 -1
- package/v3/dist/domains/learning-optimization/plugin.d.ts +2 -1
- package/v3/dist/domains/learning-optimization/plugin.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/plugin.js +49 -0
- package/v3/dist/domains/learning-optimization/plugin.js.map +1 -1
- package/v3/dist/domains/quality-assessment/coordinator.d.ts +90 -1
- package/v3/dist/domains/quality-assessment/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/quality-assessment/coordinator.js +310 -0
- package/v3/dist/domains/quality-assessment/coordinator.js.map +1 -1
- package/v3/dist/domains/requirements-validation/index.d.ts +1 -0
- package/v3/dist/domains/requirements-validation/index.d.ts.map +1 -1
- package/v3/dist/domains/requirements-validation/index.js +2 -0
- package/v3/dist/domains/requirements-validation/index.js.map +1 -1
- package/v3/dist/domains/requirements-validation/plugin.d.ts +13 -1
- package/v3/dist/domains/requirements-validation/plugin.d.ts.map +1 -1
- package/v3/dist/domains/requirements-validation/plugin.js +94 -0
- package/v3/dist/domains/requirements-validation/plugin.js.map +1 -1
- package/v3/dist/domains/requirements-validation/qcsd-ideation-plugin.d.ts +245 -0
- package/v3/dist/domains/requirements-validation/qcsd-ideation-plugin.d.ts.map +1 -0
- package/v3/dist/domains/requirements-validation/qcsd-ideation-plugin.js +1143 -0
- package/v3/dist/domains/requirements-validation/qcsd-ideation-plugin.js.map +1 -0
- package/v3/dist/domains/requirements-validation/services/product-factors-assessment/code-intelligence/codebase-analyzer.d.ts.map +1 -1
- package/v3/dist/domains/requirements-validation/services/product-factors-assessment/code-intelligence/codebase-analyzer.js +3 -2
- package/v3/dist/domains/requirements-validation/services/product-factors-assessment/code-intelligence/codebase-analyzer.js.map +1 -1
- package/v3/dist/domains/security-compliance/plugin.d.ts +3 -2
- package/v3/dist/domains/security-compliance/plugin.d.ts.map +1 -1
- package/v3/dist/domains/security-compliance/plugin.js +64 -0
- package/v3/dist/domains/security-compliance/plugin.js.map +1 -1
- package/v3/dist/domains/security-compliance/services/scanners/dast-auth-testing.d.ts +25 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-auth-testing.d.ts.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-auth-testing.js +160 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-auth-testing.js.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-helpers.d.ts +48 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-helpers.d.ts.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-helpers.js +385 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-helpers.js.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-injection-testing.d.ts +20 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-injection-testing.d.ts.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-injection-testing.js +99 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-injection-testing.js.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-scanner.d.ts +62 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-scanner.d.ts.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-scanner.js +329 -0
- package/v3/dist/domains/security-compliance/services/scanners/dast-scanner.js.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/dependency-scanner.d.ts +46 -0
- package/v3/dist/domains/security-compliance/services/scanners/dependency-scanner.d.ts.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/dependency-scanner.js +180 -0
- package/v3/dist/domains/security-compliance/services/scanners/dependency-scanner.js.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/index.d.ts +14 -0
- package/v3/dist/domains/security-compliance/services/scanners/index.d.ts.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/index.js +16 -0
- package/v3/dist/domains/security-compliance/services/scanners/index.js.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/sast-scanner.d.ts +92 -0
- package/v3/dist/domains/security-compliance/services/scanners/sast-scanner.d.ts.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/sast-scanner.js +440 -0
- package/v3/dist/domains/security-compliance/services/scanners/sast-scanner.js.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/scanner-orchestrator.d.ts +78 -0
- package/v3/dist/domains/security-compliance/services/scanners/scanner-orchestrator.d.ts.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/scanner-orchestrator.js +179 -0
- package/v3/dist/domains/security-compliance/services/scanners/scanner-orchestrator.js.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/scanner-types.d.ts +91 -0
- package/v3/dist/domains/security-compliance/services/scanners/scanner-types.d.ts.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/scanner-types.js +15 -0
- package/v3/dist/domains/security-compliance/services/scanners/scanner-types.js.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/security-patterns.d.ts +16 -0
- package/v3/dist/domains/security-compliance/services/scanners/security-patterns.d.ts.map +1 -0
- package/v3/dist/domains/security-compliance/services/scanners/security-patterns.js +507 -0
- package/v3/dist/domains/security-compliance/services/scanners/security-patterns.js.map +1 -0
- package/v3/dist/domains/security-compliance/services/security-auditor.d.ts.map +1 -1
- package/v3/dist/domains/security-compliance/services/security-auditor.js +2 -1
- package/v3/dist/domains/security-compliance/services/security-auditor.js.map +1 -1
- package/v3/dist/domains/security-compliance/services/security-scanner.d.ts +20 -213
- package/v3/dist/domains/security-compliance/services/security-scanner.d.ts.map +1 -1
- package/v3/dist/domains/security-compliance/services/security-scanner.js +37 -2013
- package/v3/dist/domains/security-compliance/services/security-scanner.js.map +1 -1
- package/v3/dist/domains/security-compliance/services/semgrep-integration.d.ts.map +1 -1
- package/v3/dist/domains/security-compliance/services/semgrep-integration.js +7 -6
- package/v3/dist/domains/security-compliance/services/semgrep-integration.js.map +1 -1
- package/v3/dist/domains/test-execution/services/auth-state-manager.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/services/auth-state-manager.js +6 -4
- package/v3/dist/domains/test-execution/services/auth-state-manager.js.map +1 -1
- package/v3/dist/domains/test-execution/services/e2e/assertion-handlers.d.ts +55 -0
- package/v3/dist/domains/test-execution/services/e2e/assertion-handlers.d.ts.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/assertion-handlers.js +407 -0
- package/v3/dist/domains/test-execution/services/e2e/assertion-handlers.js.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/browser-orchestrator.d.ts +122 -0
- package/v3/dist/domains/test-execution/services/e2e/browser-orchestrator.d.ts.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/browser-orchestrator.js +325 -0
- package/v3/dist/domains/test-execution/services/e2e/browser-orchestrator.js.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/e2e-coordinator.d.ts +97 -0
- package/v3/dist/domains/test-execution/services/e2e/e2e-coordinator.d.ts.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/e2e-coordinator.js +297 -0
- package/v3/dist/domains/test-execution/services/e2e/e2e-coordinator.js.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/index.d.ts +22 -0
- package/v3/dist/domains/test-execution/services/e2e/index.d.ts.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/index.js +52 -0
- package/v3/dist/domains/test-execution/services/e2e/index.js.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/result-collector.d.ts +51 -0
- package/v3/dist/domains/test-execution/services/e2e/result-collector.d.ts.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/result-collector.js +133 -0
- package/v3/dist/domains/test-execution/services/e2e/result-collector.js.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/step-executors.d.ts +48 -0
- package/v3/dist/domains/test-execution/services/e2e/step-executors.d.ts.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/step-executors.js +422 -0
- package/v3/dist/domains/test-execution/services/e2e/step-executors.js.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/step-retry-handler.d.ts +49 -0
- package/v3/dist/domains/test-execution/services/e2e/step-retry-handler.d.ts.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/step-retry-handler.js +146 -0
- package/v3/dist/domains/test-execution/services/e2e/step-retry-handler.js.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/types.d.ts +138 -0
- package/v3/dist/domains/test-execution/services/e2e/types.d.ts.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/types.js +65 -0
- package/v3/dist/domains/test-execution/services/e2e/types.js.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/wait-condition-handler.d.ts +33 -0
- package/v3/dist/domains/test-execution/services/e2e/wait-condition-handler.d.ts.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e/wait-condition-handler.js +114 -0
- package/v3/dist/domains/test-execution/services/e2e/wait-condition-handler.js.map +1 -0
- package/v3/dist/domains/test-execution/services/e2e-runner.d.ts +18 -392
- package/v3/dist/domains/test-execution/services/e2e-runner.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/services/e2e-runner.js +25 -1757
- package/v3/dist/domains/test-execution/services/e2e-runner.js.map +1 -1
- package/v3/dist/domains/test-execution/services/flaky-detector.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/services/flaky-detector.js +12 -9
- package/v3/dist/domains/test-execution/services/flaky-detector.js.map +1 -1
- package/v3/dist/domains/test-execution/services/retry-handler.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/services/retry-handler.js +7 -5
- package/v3/dist/domains/test-execution/services/retry-handler.js.map +1 -1
- package/v3/dist/domains/test-execution/services/test-executor.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/services/test-executor.js +4 -3
- package/v3/dist/domains/test-execution/services/test-executor.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/coordinator.d.ts +70 -0
- package/v3/dist/domains/visual-accessibility/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/coordinator.js +172 -0
- package/v3/dist/domains/visual-accessibility/coordinator.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/plugin.d.ts +2 -1
- package/v3/dist/domains/visual-accessibility/plugin.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/plugin.js +63 -0
- package/v3/dist/domains/visual-accessibility/plugin.js.map +1 -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 +3 -2
- package/v3/dist/domains/visual-accessibility/services/accessibility-tester.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/browser-security-scanner.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/browser-security-scanner.js +22 -12
- package/v3/dist/domains/visual-accessibility/services/browser-security-scanner.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/viewport-capture.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/viewport-capture.js +3 -2
- package/v3/dist/domains/visual-accessibility/services/viewport-capture.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/visual-regression.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/visual-regression.js +3 -2
- package/v3/dist/domains/visual-accessibility/services/visual-regression.js.map +1 -1
- package/v3/dist/hooks/cross-phase-hooks.d.ts +42 -0
- package/v3/dist/hooks/cross-phase-hooks.d.ts.map +1 -0
- package/v3/dist/hooks/cross-phase-hooks.js +338 -0
- package/v3/dist/hooks/cross-phase-hooks.js.map +1 -0
- package/v3/dist/hooks/index.d.ts +9 -0
- package/v3/dist/hooks/index.d.ts.map +1 -0
- package/v3/dist/hooks/index.js +9 -0
- package/v3/dist/hooks/index.js.map +1 -0
- package/v3/dist/init/agents-installer.d.ts.map +1 -1
- package/v3/dist/init/agents-installer.js +6 -4
- package/v3/dist/init/agents-installer.js.map +1 -1
- package/v3/dist/init/enhancements/claude-flow-adapter.d.ts.map +1 -1
- package/v3/dist/init/enhancements/claude-flow-adapter.js +15 -9
- package/v3/dist/init/enhancements/claude-flow-adapter.js.map +1 -1
- package/v3/dist/init/enhancements/detector.js +6 -4
- package/v3/dist/init/enhancements/detector.js.map +1 -1
- package/v3/dist/init/init-wizard.d.ts +5 -0
- package/v3/dist/init/init-wizard.d.ts.map +1 -1
- package/v3/dist/init/init-wizard.js +74 -11
- package/v3/dist/init/init-wizard.js.map +1 -1
- package/v3/dist/init/migration/data-migrator.d.ts.map +1 -1
- package/v3/dist/init/migration/data-migrator.js +6 -4
- package/v3/dist/init/migration/data-migrator.js.map +1 -1
- package/v3/dist/init/phases/02-analysis.js +2 -2
- package/v3/dist/init/phases/02-analysis.js.map +1 -1
- package/v3/dist/init/phases/04-database.d.ts.map +1 -1
- package/v3/dist/init/phases/04-database.js +0 -1
- package/v3/dist/init/phases/04-database.js.map +1 -1
- package/v3/dist/init/phases/11-claude-md.d.ts.map +1 -1
- package/v3/dist/init/phases/11-claude-md.js +25 -0
- package/v3/dist/init/phases/11-claude-md.js.map +1 -1
- package/v3/dist/init/phases/12-verification.d.ts.map +1 -1
- package/v3/dist/init/phases/12-verification.js +2 -1
- package/v3/dist/init/phases/12-verification.js.map +1 -1
- package/v3/dist/init/project-analyzer.d.ts.map +1 -1
- package/v3/dist/init/project-analyzer.js +12 -8
- package/v3/dist/init/project-analyzer.js.map +1 -1
- package/v3/dist/init/skills-installer.d.ts.map +1 -1
- package/v3/dist/init/skills-installer.js +6 -4
- package/v3/dist/init/skills-installer.js.map +1 -1
- package/v3/dist/init/token-bootstrap.d.ts.map +1 -1
- package/v3/dist/init/token-bootstrap.js +2 -1
- package/v3/dist/init/token-bootstrap.js.map +1 -1
- package/v3/dist/integrations/agent-booster-wasm/index.d.ts.map +1 -1
- package/v3/dist/integrations/agent-booster-wasm/index.js +8 -4
- package/v3/dist/integrations/agent-booster-wasm/index.js.map +1 -1
- package/v3/dist/integrations/agentic-flow/model-router/signal-collector.d.ts.map +1 -1
- package/v3/dist/integrations/agentic-flow/model-router/signal-collector.js +3 -2
- package/v3/dist/integrations/agentic-flow/model-router/signal-collector.js.map +1 -1
- package/v3/dist/integrations/agentic-flow/reasoning-bank/experience-replay.d.ts.map +1 -1
- package/v3/dist/integrations/agentic-flow/reasoning-bank/experience-replay.js.map +1 -1
- package/v3/dist/integrations/agentic-flow/reasoning-bank/trajectory-tracker.d.ts.map +1 -1
- package/v3/dist/integrations/agentic-flow/reasoning-bank/trajectory-tracker.js.map +1 -1
- package/v3/dist/integrations/browser/agent-browser/client.d.ts.map +1 -1
- package/v3/dist/integrations/browser/agent-browser/client.js +9 -6
- package/v3/dist/integrations/browser/agent-browser/client.js.map +1 -1
- package/v3/dist/integrations/browser/agent-browser/command-executor.d.ts.map +1 -1
- package/v3/dist/integrations/browser/agent-browser/command-executor.js +3 -2
- package/v3/dist/integrations/browser/agent-browser/command-executor.js.map +1 -1
- package/v3/dist/integrations/browser/index.d.ts +1 -0
- package/v3/dist/integrations/browser/index.d.ts.map +1 -1
- package/v3/dist/integrations/browser/index.js +6 -0
- package/v3/dist/integrations/browser/index.js.map +1 -1
- package/v3/dist/integrations/browser/web-content-fetcher.d.ts +154 -0
- package/v3/dist/integrations/browser/web-content-fetcher.d.ts.map +1 -0
- package/v3/dist/integrations/browser/web-content-fetcher.js +529 -0
- package/v3/dist/integrations/browser/web-content-fetcher.js.map +1 -0
- package/v3/dist/integrations/coherence/threshold-tuner.d.ts.map +1 -1
- package/v3/dist/integrations/coherence/threshold-tuner.js +3 -2
- package/v3/dist/integrations/coherence/threshold-tuner.js.map +1 -1
- package/v3/dist/integrations/coherence/wasm-loader.d.ts.map +1 -1
- package/v3/dist/integrations/coherence/wasm-loader.js +3 -2
- package/v3/dist/integrations/coherence/wasm-loader.js.map +1 -1
- package/v3/dist/integrations/n8n/agent-factory.d.ts.map +1 -1
- package/v3/dist/integrations/n8n/agent-factory.js +6 -4
- package/v3/dist/integrations/n8n/agent-factory.js.map +1 -1
- package/v3/dist/integrations/rl-suite/persistence/q-value-store.d.ts.map +1 -1
- package/v3/dist/integrations/rl-suite/persistence/q-value-store.js.map +1 -1
- package/v3/dist/integrations/ruvector/sona-persistence.d.ts.map +1 -1
- package/v3/dist/integrations/ruvector/sona-persistence.js +6 -4
- package/v3/dist/integrations/ruvector/sona-persistence.js.map +1 -1
- package/v3/dist/integrations/vibium/client.d.ts.map +1 -1
- package/v3/dist/integrations/vibium/client.js +3 -2
- package/v3/dist/integrations/vibium/client.js.map +1 -1
- package/v3/dist/kernel/agent-coordinator.d.ts +1 -1
- package/v3/dist/kernel/agent-coordinator.d.ts.map +1 -1
- package/v3/dist/kernel/agent-coordinator.js +4 -4
- package/v3/dist/kernel/agent-coordinator.js.map +1 -1
- package/v3/dist/kernel/constants.d.ts +155 -0
- package/v3/dist/kernel/constants.d.ts.map +1 -0
- package/v3/dist/kernel/constants.js +169 -0
- package/v3/dist/kernel/constants.js.map +1 -0
- package/v3/dist/kernel/event-bus.d.ts +8 -0
- package/v3/dist/kernel/event-bus.d.ts.map +1 -1
- package/v3/dist/kernel/event-bus.js +79 -17
- package/v3/dist/kernel/event-bus.js.map +1 -1
- package/v3/dist/kernel/hybrid-backend.d.ts.map +1 -1
- package/v3/dist/kernel/hybrid-backend.js +4 -3
- package/v3/dist/kernel/hybrid-backend.js.map +1 -1
- package/v3/dist/kernel/kernel.d.ts.map +1 -1
- package/v3/dist/kernel/kernel.js +3 -2
- package/v3/dist/kernel/kernel.js.map +1 -1
- package/v3/dist/kernel/memory-backend.d.ts.map +1 -1
- package/v3/dist/kernel/memory-backend.js +4 -3
- package/v3/dist/kernel/memory-backend.js.map +1 -1
- package/v3/dist/kernel/unified-memory.d.ts.map +1 -1
- package/v3/dist/kernel/unified-memory.js +14 -11
- package/v3/dist/kernel/unified-memory.js.map +1 -1
- package/v3/dist/kernel/unified-persistence.js +3 -2
- package/v3/dist/kernel/unified-persistence.js.map +1 -1
- package/v3/dist/learning/aqe-learning-engine.d.ts.map +1 -1
- package/v3/dist/learning/aqe-learning-engine.js +12 -8
- package/v3/dist/learning/aqe-learning-engine.js.map +1 -1
- package/v3/dist/learning/dream/index.d.ts +1 -1
- package/v3/dist/learning/dream/index.d.ts.map +1 -1
- package/v3/dist/learning/dream/index.js +3 -1
- package/v3/dist/learning/dream/index.js.map +1 -1
- package/v3/dist/learning/dream/spreading-activation.d.ts +41 -0
- package/v3/dist/learning/dream/spreading-activation.d.ts.map +1 -1
- package/v3/dist/learning/dream/spreading-activation.js +79 -0
- package/v3/dist/learning/dream/spreading-activation.js.map +1 -1
- package/v3/dist/learning/pattern-store.d.ts.map +1 -1
- package/v3/dist/learning/pattern-store.js +16 -6
- package/v3/dist/learning/pattern-store.js.map +1 -1
- package/v3/dist/learning/real-embeddings.d.ts.map +1 -1
- package/v3/dist/learning/real-embeddings.js +7 -1
- package/v3/dist/learning/real-embeddings.js.map +1 -1
- package/v3/dist/learning/sqlite-persistence.d.ts +1 -1
- package/v3/dist/learning/sqlite-persistence.d.ts.map +1 -1
- package/v3/dist/learning/sqlite-persistence.js.map +1 -1
- package/v3/dist/logging/console-logger.d.ts +96 -0
- package/v3/dist/logging/console-logger.d.ts.map +1 -0
- package/v3/dist/logging/console-logger.js +247 -0
- package/v3/dist/logging/console-logger.js.map +1 -0
- package/v3/dist/logging/index.d.ts +42 -0
- package/v3/dist/logging/index.d.ts.map +1 -0
- package/v3/dist/logging/index.js +39 -0
- package/v3/dist/logging/index.js.map +1 -0
- package/v3/dist/logging/logger-factory.d.ts +145 -0
- package/v3/dist/logging/logger-factory.d.ts.map +1 -0
- package/v3/dist/logging/logger-factory.js +218 -0
- package/v3/dist/logging/logger-factory.js.map +1 -0
- package/v3/dist/logging/logger.d.ts +89 -0
- package/v3/dist/logging/logger.d.ts.map +1 -0
- package/v3/dist/logging/logger.js +74 -0
- package/v3/dist/logging/logger.js.map +1 -0
- package/v3/dist/mcp/bundle.js +11334 -7497
- package/v3/dist/mcp/handlers/agent-handlers.js +2 -2
- package/v3/dist/mcp/handlers/agent-handlers.js.map +1 -1
- package/v3/dist/mcp/handlers/core-handlers.d.ts +2 -0
- package/v3/dist/mcp/handlers/core-handlers.d.ts.map +1 -1
- package/v3/dist/mcp/handlers/core-handlers.js +33 -0
- package/v3/dist/mcp/handlers/core-handlers.js.map +1 -1
- package/v3/dist/mcp/handlers/cross-phase-handlers.d.ts +110 -0
- package/v3/dist/mcp/handlers/cross-phase-handlers.d.ts.map +1 -0
- package/v3/dist/mcp/handlers/cross-phase-handlers.js +216 -0
- package/v3/dist/mcp/handlers/cross-phase-handlers.js.map +1 -0
- package/v3/dist/mcp/handlers/domain-handler-configs.d.ts +151 -0
- package/v3/dist/mcp/handlers/domain-handler-configs.d.ts.map +1 -0
- package/v3/dist/mcp/handlers/domain-handler-configs.js +486 -0
- package/v3/dist/mcp/handlers/domain-handler-configs.js.map +1 -0
- package/v3/dist/mcp/handlers/domain-handlers.d.ts +174 -120
- package/v3/dist/mcp/handlers/domain-handlers.d.ts.map +1 -1
- package/v3/dist/mcp/handlers/domain-handlers.js +178 -1049
- package/v3/dist/mcp/handlers/domain-handlers.js.map +1 -1
- package/v3/dist/mcp/handlers/handler-factory.d.ts +182 -0
- package/v3/dist/mcp/handlers/handler-factory.d.ts.map +1 -0
- package/v3/dist/mcp/handlers/handler-factory.js +327 -0
- package/v3/dist/mcp/handlers/handler-factory.js.map +1 -0
- package/v3/dist/mcp/handlers/index.d.ts +1 -0
- package/v3/dist/mcp/handlers/index.d.ts.map +1 -1
- package/v3/dist/mcp/handlers/index.js +2 -0
- package/v3/dist/mcp/handlers/index.js.map +1 -1
- package/v3/dist/mcp/handlers/task-handlers.d.ts +1 -0
- package/v3/dist/mcp/handlers/task-handlers.d.ts.map +1 -1
- package/v3/dist/mcp/handlers/task-handlers.js +91 -7
- package/v3/dist/mcp/handlers/task-handlers.js.map +1 -1
- package/v3/dist/mcp/server.d.ts.map +1 -1
- package/v3/dist/mcp/server.js +107 -1
- package/v3/dist/mcp/server.js.map +1 -1
- package/v3/dist/mcp/types.d.ts +5 -3
- package/v3/dist/mcp/types.d.ts.map +1 -1
- package/v3/dist/memory/cross-phase-memory.d.ts +55 -0
- package/v3/dist/memory/cross-phase-memory.d.ts.map +1 -0
- package/v3/dist/memory/cross-phase-memory.js +265 -0
- package/v3/dist/memory/cross-phase-memory.js.map +1 -0
- package/v3/dist/memory/index.d.ts +9 -0
- package/v3/dist/memory/index.d.ts.map +1 -0
- package/v3/dist/memory/index.js +9 -0
- package/v3/dist/memory/index.js.map +1 -0
- package/v3/dist/shared/io/file-reader.d.ts.map +1 -1
- package/v3/dist/shared/io/file-reader.js +3 -2
- package/v3/dist/shared/io/file-reader.js.map +1 -1
- package/v3/dist/shared/utils/binary-insert.d.ts +85 -0
- package/v3/dist/shared/utils/binary-insert.d.ts.map +1 -0
- package/v3/dist/shared/utils/binary-insert.js +122 -0
- package/v3/dist/shared/utils/binary-insert.js.map +1 -0
- package/v3/dist/shared/utils/index.d.ts +1 -0
- package/v3/dist/shared/utils/index.d.ts.map +1 -1
- package/v3/dist/shared/utils/index.js +1 -0
- package/v3/dist/shared/utils/index.js.map +1 -1
- package/v3/dist/strange-loop/belief-reconciler.d.ts.map +1 -1
- package/v3/dist/strange-loop/belief-reconciler.js +3 -2
- package/v3/dist/strange-loop/belief-reconciler.js.map +1 -1
- package/v3/dist/sync/claude-flow-bridge.d.ts.map +1 -1
- package/v3/dist/sync/claude-flow-bridge.js +6 -4
- package/v3/dist/sync/claude-flow-bridge.js.map +1 -1
- package/v3/dist/sync/cloud/postgres-writer.d.ts.map +1 -1
- package/v3/dist/sync/cloud/postgres-writer.js +0 -1
- package/v3/dist/sync/cloud/postgres-writer.js.map +1 -1
- package/v3/dist/sync/readers/sqlite-reader.d.ts.map +1 -1
- package/v3/dist/sync/readers/sqlite-reader.js +3 -2
- package/v3/dist/sync/readers/sqlite-reader.js.map +1 -1
- package/v3/dist/test-scheduling/flaky-tracking/flaky-tracker.d.ts.map +1 -1
- package/v3/dist/test-scheduling/flaky-tracking/flaky-tracker.js +3 -2
- package/v3/dist/test-scheduling/flaky-tracking/flaky-tracker.js.map +1 -1
- package/v3/dist/test-scheduling/git-aware/test-selector.d.ts.map +1 -1
- package/v3/dist/test-scheduling/git-aware/test-selector.js +3 -2
- package/v3/dist/test-scheduling/git-aware/test-selector.js.map +1 -1
- package/v3/dist/types/cross-phase-signals.d.ts +119 -0
- package/v3/dist/types/cross-phase-signals.d.ts.map +1 -0
- package/v3/dist/types/cross-phase-signals.js +33 -0
- package/v3/dist/types/cross-phase-signals.js.map +1 -0
- package/v3/dist/types/index.d.ts +9 -0
- package/v3/dist/types/index.d.ts.map +1 -0
- package/v3/dist/types/index.js +9 -0
- package/v3/dist/types/index.js.map +1 -0
- package/v3/dist/workers/worker-manager.d.ts.map +1 -1
- package/v3/dist/workers/worker-manager.js +3 -2
- package/v3/dist/workers/worker-manager.js.map +1 -1
- package/v3/dist/workflows/browser/workflow-loader.d.ts +3 -3
- package/v3/dist/workflows/browser/workflow-loader.d.ts.map +1 -1
- package/v3/dist/workflows/browser/workflow-loader.js.map +1 -1
- package/v3/package.json +4 -1
|
@@ -0,0 +1,460 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Fetch Content CLI - 5-Tier Browser Cascade with Per-Tier Timeouts
|
|
4
|
+
*
|
|
5
|
+
* Single entry point for all browser content fetching operations.
|
|
6
|
+
* Automatically cascades through tiers with 30s timeout each.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* node scripts/fetch-content.js <URL> <OUTPUT_DIR> [OPTIONS]
|
|
10
|
+
*
|
|
11
|
+
* Options:
|
|
12
|
+
* --timeout <ms> Per-tier timeout (default: 30000)
|
|
13
|
+
* --skip-tiers <list> Comma-separated tiers to skip
|
|
14
|
+
* --locale <locale> Browser locale (default: en-US)
|
|
15
|
+
*
|
|
16
|
+
* Output:
|
|
17
|
+
* - <OUTPUT_DIR>/content.html Fetched HTML content
|
|
18
|
+
* - <OUTPUT_DIR>/screenshot.png Page screenshot
|
|
19
|
+
* - <OUTPUT_DIR>/fetch-result.json Structured result with metadata
|
|
20
|
+
*
|
|
21
|
+
* Exit codes:
|
|
22
|
+
* 0 - Success
|
|
23
|
+
* 1 - All tiers failed
|
|
24
|
+
* 2 - Invalid arguments
|
|
25
|
+
*
|
|
26
|
+
* @version 1.0.0
|
|
27
|
+
* @since v3
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
const { exec, execSync, spawn } = require('child_process');
|
|
31
|
+
const { promisify } = require('util');
|
|
32
|
+
const fs = require('fs');
|
|
33
|
+
const path = require('path');
|
|
34
|
+
|
|
35
|
+
const execAsync = promisify(exec);
|
|
36
|
+
|
|
37
|
+
// ============================================================================
|
|
38
|
+
// Configuration
|
|
39
|
+
// ============================================================================
|
|
40
|
+
|
|
41
|
+
const DEFAULT_TIER_TIMEOUT = 30000; // 30 seconds per tier
|
|
42
|
+
const DEFAULT_USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/120.0.0.0 Safari/537.36';
|
|
43
|
+
|
|
44
|
+
const TIERS = [
|
|
45
|
+
'vibium',
|
|
46
|
+
'playwright-stealth',
|
|
47
|
+
'http-fetch',
|
|
48
|
+
'websearch-fallback'
|
|
49
|
+
];
|
|
50
|
+
|
|
51
|
+
// ============================================================================
|
|
52
|
+
// Argument Parsing
|
|
53
|
+
// ============================================================================
|
|
54
|
+
|
|
55
|
+
function parseArgs() {
|
|
56
|
+
const args = process.argv.slice(2);
|
|
57
|
+
|
|
58
|
+
if (args.length < 2) {
|
|
59
|
+
console.error('Usage: node fetch-content.js <URL> <OUTPUT_DIR> [OPTIONS]');
|
|
60
|
+
console.error('');
|
|
61
|
+
console.error('Options:');
|
|
62
|
+
console.error(' --timeout <ms> Per-tier timeout (default: 30000)');
|
|
63
|
+
console.error(' --skip-tiers <list> Comma-separated tiers to skip');
|
|
64
|
+
console.error(' --locale <locale> Browser locale (default: en-US)');
|
|
65
|
+
process.exit(2);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
const options = {
|
|
69
|
+
url: args[0],
|
|
70
|
+
outputDir: args[1],
|
|
71
|
+
timeout: DEFAULT_TIER_TIMEOUT,
|
|
72
|
+
skipTiers: [],
|
|
73
|
+
locale: 'en-US',
|
|
74
|
+
userAgent: DEFAULT_USER_AGENT
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
for (let i = 2; i < args.length; i++) {
|
|
78
|
+
switch (args[i]) {
|
|
79
|
+
case '--timeout':
|
|
80
|
+
options.timeout = parseInt(args[++i], 10);
|
|
81
|
+
break;
|
|
82
|
+
case '--skip-tiers':
|
|
83
|
+
options.skipTiers = args[++i].split(',').map(t => t.trim());
|
|
84
|
+
break;
|
|
85
|
+
case '--locale':
|
|
86
|
+
options.locale = args[++i];
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
return options;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// ============================================================================
|
|
95
|
+
// Utility Functions
|
|
96
|
+
// ============================================================================
|
|
97
|
+
|
|
98
|
+
function log(tier, message, data = {}) {
|
|
99
|
+
const entry = {
|
|
100
|
+
timestamp: new Date().toISOString(),
|
|
101
|
+
tier,
|
|
102
|
+
message,
|
|
103
|
+
...data
|
|
104
|
+
};
|
|
105
|
+
console.error(`[${entry.timestamp}] [${tier}] ${message}`);
|
|
106
|
+
return entry;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
function withTimeout(promise, ms, tierName) {
|
|
110
|
+
return new Promise((resolve, reject) => {
|
|
111
|
+
const timer = setTimeout(() => {
|
|
112
|
+
reject(new Error(`${tierName} timed out after ${ms}ms`));
|
|
113
|
+
}, ms);
|
|
114
|
+
|
|
115
|
+
promise
|
|
116
|
+
.then(result => {
|
|
117
|
+
clearTimeout(timer);
|
|
118
|
+
resolve(result);
|
|
119
|
+
})
|
|
120
|
+
.catch(err => {
|
|
121
|
+
clearTimeout(timer);
|
|
122
|
+
reject(err);
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// ============================================================================
|
|
128
|
+
// Tier Implementations
|
|
129
|
+
// ============================================================================
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Tier 1: Vibium MCP Browser
|
|
133
|
+
* Note: Vibium requires MCP context - skip in CLI mode
|
|
134
|
+
*/
|
|
135
|
+
async function fetchWithVibium(options) {
|
|
136
|
+
log('vibium', 'Skipping - requires MCP context');
|
|
137
|
+
throw new Error('Vibium requires MCP context, not available in CLI');
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Tier 2: Playwright + Stealth (PRIMARY for CLI)
|
|
142
|
+
*/
|
|
143
|
+
async function fetchWithPlaywrightStealth(options) {
|
|
144
|
+
log('playwright-stealth', 'Starting fetch', { url: options.url });
|
|
145
|
+
|
|
146
|
+
const workDir = path.join(options.outputDir, '.playwright-work');
|
|
147
|
+
fs.mkdirSync(workDir, { recursive: true });
|
|
148
|
+
|
|
149
|
+
// Check if playwright is installed globally or locally
|
|
150
|
+
const packageJsonPath = path.join(workDir, 'package.json');
|
|
151
|
+
if (!fs.existsSync(path.join(workDir, 'node_modules', 'playwright-extra'))) {
|
|
152
|
+
fs.writeFileSync(packageJsonPath, JSON.stringify({ name: 'pw-fetch', type: 'commonjs' }));
|
|
153
|
+
|
|
154
|
+
log('playwright-stealth', 'Installing dependencies...');
|
|
155
|
+
try {
|
|
156
|
+
execSync('npm install playwright-extra puppeteer-extra-plugin-stealth playwright 2>/dev/null', {
|
|
157
|
+
cwd: workDir,
|
|
158
|
+
stdio: 'pipe',
|
|
159
|
+
timeout: 60000
|
|
160
|
+
});
|
|
161
|
+
} catch (e) {
|
|
162
|
+
log('playwright-stealth', 'Install warning', { error: e.message });
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
const scriptPath = path.join(workDir, 'fetch.js');
|
|
167
|
+
const contentPath = path.join(options.outputDir, 'content.html');
|
|
168
|
+
const screenshotPath = path.join(options.outputDir, 'screenshot.png');
|
|
169
|
+
|
|
170
|
+
const script = `
|
|
171
|
+
const { chromium } = require('playwright-extra');
|
|
172
|
+
const stealth = require('puppeteer-extra-plugin-stealth')();
|
|
173
|
+
chromium.use(stealth);
|
|
174
|
+
|
|
175
|
+
(async () => {
|
|
176
|
+
const browser = await chromium.launch({
|
|
177
|
+
headless: true,
|
|
178
|
+
args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-dev-shm-usage', '--disable-gpu']
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
const context = await browser.newContext({
|
|
182
|
+
userAgent: ${JSON.stringify(options.userAgent)},
|
|
183
|
+
viewport: { width: 1920, height: 1080 },
|
|
184
|
+
locale: ${JSON.stringify(options.locale)}
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
const page = await context.newPage();
|
|
188
|
+
|
|
189
|
+
try {
|
|
190
|
+
await page.goto(${JSON.stringify(options.url)}, {
|
|
191
|
+
waitUntil: 'domcontentloaded',
|
|
192
|
+
timeout: ${options.timeout - 5000}
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
await page.waitForTimeout(2000);
|
|
196
|
+
|
|
197
|
+
// Dismiss cookie banners
|
|
198
|
+
const cookieSelectors = [
|
|
199
|
+
'[data-testid="consent-accept-all"]',
|
|
200
|
+
'#onetrust-accept-btn-handler',
|
|
201
|
+
'button[id*="accept"]',
|
|
202
|
+
'[class*="cookie"] button',
|
|
203
|
+
'button:has-text("Accept")',
|
|
204
|
+
'button:has-text("Acceptă")'
|
|
205
|
+
];
|
|
206
|
+
|
|
207
|
+
for (const sel of cookieSelectors) {
|
|
208
|
+
try {
|
|
209
|
+
const btn = await page.$(sel);
|
|
210
|
+
if (btn) {
|
|
211
|
+
await btn.click();
|
|
212
|
+
await page.waitForTimeout(1000);
|
|
213
|
+
break;
|
|
214
|
+
}
|
|
215
|
+
} catch (e) {}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
const content = await page.content();
|
|
219
|
+
require('fs').writeFileSync(${JSON.stringify(contentPath)}, content);
|
|
220
|
+
await page.screenshot({ path: ${JSON.stringify(screenshotPath)} });
|
|
221
|
+
|
|
222
|
+
console.log(JSON.stringify({
|
|
223
|
+
success: true,
|
|
224
|
+
size: content.length,
|
|
225
|
+
title: await page.title(),
|
|
226
|
+
url: page.url()
|
|
227
|
+
}));
|
|
228
|
+
} finally {
|
|
229
|
+
await browser.close();
|
|
230
|
+
}
|
|
231
|
+
})().catch(e => {
|
|
232
|
+
console.log(JSON.stringify({ success: false, error: e.message }));
|
|
233
|
+
process.exit(1);
|
|
234
|
+
});
|
|
235
|
+
`;
|
|
236
|
+
|
|
237
|
+
fs.writeFileSync(scriptPath, script);
|
|
238
|
+
|
|
239
|
+
const { stdout } = await execAsync(`node "${scriptPath}"`, {
|
|
240
|
+
cwd: workDir,
|
|
241
|
+
timeout: options.timeout
|
|
242
|
+
});
|
|
243
|
+
|
|
244
|
+
const result = JSON.parse(stdout.trim());
|
|
245
|
+
if (!result.success) {
|
|
246
|
+
throw new Error(result.error);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
const content = fs.readFileSync(contentPath, 'utf8');
|
|
250
|
+
|
|
251
|
+
return {
|
|
252
|
+
success: true,
|
|
253
|
+
content,
|
|
254
|
+
contentSize: content.length,
|
|
255
|
+
screenshotPath,
|
|
256
|
+
metadata: { title: result.title, finalUrl: result.url }
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* Tier 3: HTTP Fetch (for simple/static sites)
|
|
262
|
+
*/
|
|
263
|
+
async function fetchWithHttp(options) {
|
|
264
|
+
log('http-fetch', 'Starting fetch', { url: options.url });
|
|
265
|
+
|
|
266
|
+
const response = await fetch(options.url, {
|
|
267
|
+
headers: {
|
|
268
|
+
'User-Agent': options.userAgent,
|
|
269
|
+
'Accept': 'text/html,application/xhtml+xml,*/*',
|
|
270
|
+
'Accept-Language': `${options.locale},en;q=0.5`
|
|
271
|
+
},
|
|
272
|
+
signal: AbortSignal.timeout(options.timeout)
|
|
273
|
+
});
|
|
274
|
+
|
|
275
|
+
if (!response.ok) {
|
|
276
|
+
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
const content = await response.text();
|
|
280
|
+
|
|
281
|
+
if (content.length < 500) {
|
|
282
|
+
throw new Error('HTTP fetch returned insufficient content (bot blocked?)');
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
const contentPath = path.join(options.outputDir, 'content.html');
|
|
286
|
+
fs.writeFileSync(contentPath, content);
|
|
287
|
+
|
|
288
|
+
return {
|
|
289
|
+
success: true,
|
|
290
|
+
content,
|
|
291
|
+
contentSize: content.length,
|
|
292
|
+
metadata: { statusCode: response.status }
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
/**
|
|
297
|
+
* Tier 4: WebSearch Fallback (research-based, degraded mode)
|
|
298
|
+
*/
|
|
299
|
+
async function fetchWithWebSearch(options) {
|
|
300
|
+
log('websearch-fallback', 'Creating research-based content', { url: options.url });
|
|
301
|
+
|
|
302
|
+
// This tier creates a placeholder indicating manual research is needed
|
|
303
|
+
const urlObj = new URL(options.url);
|
|
304
|
+
const domain = urlObj.hostname;
|
|
305
|
+
|
|
306
|
+
const researchContent = `
|
|
307
|
+
<!DOCTYPE html>
|
|
308
|
+
<html>
|
|
309
|
+
<head>
|
|
310
|
+
<title>Research Required: ${options.url}</title>
|
|
311
|
+
<meta name="fetch-method" content="websearch-fallback">
|
|
312
|
+
<meta name="fetch-status" content="degraded">
|
|
313
|
+
<meta name="original-url" content="${options.url}">
|
|
314
|
+
<meta name="fetch-date" content="${new Date().toISOString()}">
|
|
315
|
+
</head>
|
|
316
|
+
<body>
|
|
317
|
+
<h1>Manual Research Required</h1>
|
|
318
|
+
<p><strong>Status:</strong> All automated fetch tiers failed.</p>
|
|
319
|
+
<p><strong>Target URL:</strong> ${options.url}</p>
|
|
320
|
+
<p><strong>Domain:</strong> ${domain}</p>
|
|
321
|
+
<hr>
|
|
322
|
+
<h2>Recommended Actions:</h2>
|
|
323
|
+
<ol>
|
|
324
|
+
<li>Use WebSearch tool to research "${domain} features functionality"</li>
|
|
325
|
+
<li>Check if site requires authentication or has strict bot protection</li>
|
|
326
|
+
<li>Consider manual browser inspection</li>
|
|
327
|
+
</ol>
|
|
328
|
+
<p><em>This is a degraded fallback. Analysis based on this content will be limited.</em></p>
|
|
329
|
+
</body>
|
|
330
|
+
</html>
|
|
331
|
+
`;
|
|
332
|
+
|
|
333
|
+
const contentPath = path.join(options.outputDir, 'content.html');
|
|
334
|
+
fs.writeFileSync(contentPath, researchContent);
|
|
335
|
+
|
|
336
|
+
return {
|
|
337
|
+
success: true,
|
|
338
|
+
content: researchContent,
|
|
339
|
+
contentSize: researchContent.length,
|
|
340
|
+
metadata: {
|
|
341
|
+
note: 'Degraded mode - research-based content',
|
|
342
|
+
manualResearchRequired: true
|
|
343
|
+
}
|
|
344
|
+
};
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
// ============================================================================
|
|
348
|
+
// Tier Dispatcher
|
|
349
|
+
// ============================================================================
|
|
350
|
+
|
|
351
|
+
const TIER_HANDLERS = {
|
|
352
|
+
'vibium': fetchWithVibium,
|
|
353
|
+
'playwright-stealth': fetchWithPlaywrightStealth,
|
|
354
|
+
'http-fetch': fetchWithHttp,
|
|
355
|
+
'websearch-fallback': fetchWithWebSearch
|
|
356
|
+
};
|
|
357
|
+
|
|
358
|
+
// ============================================================================
|
|
359
|
+
// Main Cascade Logic
|
|
360
|
+
// ============================================================================
|
|
361
|
+
|
|
362
|
+
async function fetchWithCascade(options) {
|
|
363
|
+
fs.mkdirSync(options.outputDir, { recursive: true });
|
|
364
|
+
|
|
365
|
+
const result = {
|
|
366
|
+
success: false,
|
|
367
|
+
url: options.url,
|
|
368
|
+
tier: null,
|
|
369
|
+
status: 'failed',
|
|
370
|
+
content: null,
|
|
371
|
+
contentSize: 0,
|
|
372
|
+
screenshotPath: null,
|
|
373
|
+
tiersAttempted: [],
|
|
374
|
+
tierErrors: {},
|
|
375
|
+
metadata: {}
|
|
376
|
+
};
|
|
377
|
+
|
|
378
|
+
const tiersToTry = TIERS.filter(t => !options.skipTiers.includes(t));
|
|
379
|
+
|
|
380
|
+
for (const tier of tiersToTry) {
|
|
381
|
+
result.tiersAttempted.push(tier);
|
|
382
|
+
log(tier, `Attempting fetch (timeout: ${options.timeout}ms)`);
|
|
383
|
+
|
|
384
|
+
try {
|
|
385
|
+
const handler = TIER_HANDLERS[tier];
|
|
386
|
+
const tierResult = await withTimeout(
|
|
387
|
+
handler(options),
|
|
388
|
+
options.timeout,
|
|
389
|
+
tier
|
|
390
|
+
);
|
|
391
|
+
|
|
392
|
+
if (tierResult.success && tierResult.content) {
|
|
393
|
+
result.success = true;
|
|
394
|
+
result.tier = tier;
|
|
395
|
+
result.status = tier === 'websearch-fallback' ? 'degraded' : 'success';
|
|
396
|
+
result.content = tierResult.content;
|
|
397
|
+
result.contentSize = tierResult.contentSize;
|
|
398
|
+
result.screenshotPath = tierResult.screenshotPath || null;
|
|
399
|
+
result.metadata = tierResult.metadata || {};
|
|
400
|
+
|
|
401
|
+
log(tier, `SUCCESS: ${result.contentSize} bytes`);
|
|
402
|
+
break;
|
|
403
|
+
}
|
|
404
|
+
} catch (error) {
|
|
405
|
+
const errorMsg = error.message || String(error);
|
|
406
|
+
result.tierErrors[tier] = errorMsg;
|
|
407
|
+
log(tier, `FAILED: ${errorMsg}`);
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
// Save result metadata
|
|
412
|
+
const resultPath = path.join(options.outputDir, 'fetch-result.json');
|
|
413
|
+
const resultData = { ...result };
|
|
414
|
+
delete resultData.content; // Don't duplicate content in JSON
|
|
415
|
+
fs.writeFileSync(resultPath, JSON.stringify(resultData, null, 2));
|
|
416
|
+
|
|
417
|
+
return result;
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
// ============================================================================
|
|
421
|
+
// Entry Point
|
|
422
|
+
// ============================================================================
|
|
423
|
+
|
|
424
|
+
async function main() {
|
|
425
|
+
const options = parseArgs();
|
|
426
|
+
|
|
427
|
+
console.error('');
|
|
428
|
+
console.error('╔════════════════════════════════════════════════════════════════╗');
|
|
429
|
+
console.error('║ FETCH CONTENT - 5-TIER CASCADE ║');
|
|
430
|
+
console.error('╠════════════════════════════════════════════════════════════════╣');
|
|
431
|
+
console.error(`║ URL: ${options.url.substring(0, 54).padEnd(54)} ║`);
|
|
432
|
+
console.error(`║ Output: ${options.outputDir.substring(0, 51).padEnd(51)} ║`);
|
|
433
|
+
console.error(`║ Timeout per tier: ${options.timeout}ms ║`);
|
|
434
|
+
console.error('╚════════════════════════════════════════════════════════════════╝');
|
|
435
|
+
console.error('');
|
|
436
|
+
|
|
437
|
+
try {
|
|
438
|
+
const result = await fetchWithCascade(options);
|
|
439
|
+
|
|
440
|
+
// Output final result to stdout (for programmatic use)
|
|
441
|
+
console.log(JSON.stringify({
|
|
442
|
+
success: result.success,
|
|
443
|
+
tier: result.tier,
|
|
444
|
+
status: result.status,
|
|
445
|
+
contentSize: result.contentSize,
|
|
446
|
+
screenshotPath: result.screenshotPath,
|
|
447
|
+
contentPath: path.join(options.outputDir, 'content.html'),
|
|
448
|
+
resultPath: path.join(options.outputDir, 'fetch-result.json'),
|
|
449
|
+
tiersAttempted: result.tiersAttempted,
|
|
450
|
+
tierErrors: result.tierErrors
|
|
451
|
+
}, null, 2));
|
|
452
|
+
|
|
453
|
+
process.exit(result.success ? 0 : 1);
|
|
454
|
+
} catch (error) {
|
|
455
|
+
console.error(`Fatal error: ${error.message}`);
|
|
456
|
+
process.exit(1);
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
main();
|
package/v3/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,107 @@ All notable changes to Agentic QE will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.3.4] - 2026-01-29
|
|
9
|
+
|
|
10
|
+
### 🎯 Highlights
|
|
11
|
+
|
|
12
|
+
**QCSD Ideation Phase Complete** - Full Quality Conscious Software Delivery (QCSD) Ideation phase implementation with HTSM v6.3 quality criteria analysis, SFDIPOT product factors assessment, and cross-phase memory feedback loops.
|
|
13
|
+
|
|
14
|
+
**Cross-Phase Memory System** - New persistent memory architecture enabling automated learning between QCSD phases (Production→Ideation, Production→Grooming, CI/CD→Development, Development→Grooming).
|
|
15
|
+
|
|
16
|
+
**Comprehensive Test Coverage** - 358 files changed with 83,990+ lines of new tests across all 12 domains, kernel, MCP handlers, routing, and workers.
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
|
|
20
|
+
#### QCSD Ideation Phase Agents
|
|
21
|
+
- **qe-quality-criteria-recommender** - HTSM v6.3 quality criteria analysis with 10 categories
|
|
22
|
+
- **qe-product-factors-assessor** - SFDIPOT framework with 7 factors, 37 subcategories
|
|
23
|
+
- **qe-risk-assessor** - Multi-factor risk scoring with mitigation recommendations
|
|
24
|
+
- **qe-test-idea-rewriter** - Transform passive "Verify X" patterns to active test actions
|
|
25
|
+
|
|
26
|
+
#### Cross-Phase Memory System
|
|
27
|
+
- **CrossPhaseMemoryService** - File-based persistence for QCSD feedback loops
|
|
28
|
+
- **Cross-phase MCP handlers** - 8 new tools for signal storage/retrieval
|
|
29
|
+
- **Hook executor** - Automatic trigger of cross-phase hooks on agent completion
|
|
30
|
+
- **4 feedback loops** - Strategic, Tactical, Operational, Quality Criteria
|
|
31
|
+
|
|
32
|
+
#### New Skills
|
|
33
|
+
- **a11y-ally** - Comprehensive WCAG accessibility audit with video caption generation
|
|
34
|
+
- **qcsd-ideation-swarm** - Multi-agent swarm for QCSD Ideation phase
|
|
35
|
+
- **skills-manifest.json** - Centralized skill registration
|
|
36
|
+
|
|
37
|
+
#### Comprehensive Test Coverage (83,990+ lines)
|
|
38
|
+
- **Kernel tests** - unified-memory, hybrid-backend, kernel, plugin-loader
|
|
39
|
+
- **MCP handler tests** - All domain handlers, handler-factory, task-handlers
|
|
40
|
+
- **Domain tests** - All 12 domain plugins with coordinator tests
|
|
41
|
+
- **Learning tests** - pattern-store, experience-capture, v2-to-v3-migration
|
|
42
|
+
- **Routing tests** - tiny-dancer-router, task-classifier, routing-config
|
|
43
|
+
- **Sync tests** - claude-flow-bridge, sync-agent, json/sqlite readers
|
|
44
|
+
- **Worker tests** - All 10 background workers
|
|
45
|
+
|
|
46
|
+
#### E2E Test Framework
|
|
47
|
+
- Moved e2e tests to v3/tests/e2e/
|
|
48
|
+
- Sauce Demo test suite with accessibility, cart, checkout, security specs
|
|
49
|
+
- Page Object Model with BasePage, CartPage, CheckoutPage, etc.
|
|
50
|
+
|
|
51
|
+
#### Documentation Updates
|
|
52
|
+
- Updated agent catalog with QCSD Ideation agents
|
|
53
|
+
- Added HTSM v6.3 quality categories reference
|
|
54
|
+
- Added SFDIPOT framework documentation
|
|
55
|
+
- Updated skill counts: 61 → 63 QE Skills
|
|
56
|
+
- Updated agent counts with new QCSD agents
|
|
57
|
+
|
|
58
|
+
### Changed
|
|
59
|
+
|
|
60
|
+
#### Handler Factory Migration
|
|
61
|
+
- All 11 domain handlers now use centralized handler-factory.ts
|
|
62
|
+
- Experience capture middleware wraps all domain operations
|
|
63
|
+
- Consistent error handling across handlers
|
|
64
|
+
|
|
65
|
+
#### Security Scanner Refactoring
|
|
66
|
+
- Split monolithic security-scanner.ts into modular components
|
|
67
|
+
- New scanner-orchestrator.ts for coordinating SAST/DAST scans
|
|
68
|
+
- Separate sast-scanner.ts and dast-scanner.ts modules
|
|
69
|
+
- security-patterns.ts for pattern definitions
|
|
70
|
+
|
|
71
|
+
#### E2E Runner Modularization
|
|
72
|
+
- Split e2e-runner.ts into 9 focused modules
|
|
73
|
+
- browser-orchestrator.ts - Browser session management
|
|
74
|
+
- step-executors.ts - Step execution logic
|
|
75
|
+
- assertion-handlers.ts - Assertion processing
|
|
76
|
+
- result-collector.ts - Test result aggregation
|
|
77
|
+
|
|
78
|
+
### Fixed
|
|
79
|
+
|
|
80
|
+
#### Test Timeout Fixes
|
|
81
|
+
- Fixed 6 timeout failures in security-compliance/coordinator.test.ts
|
|
82
|
+
- Added proper class-based mocks for SecurityScannerService
|
|
83
|
+
- Added mocks for SecurityAuditorService and ComplianceValidatorService
|
|
84
|
+
|
|
85
|
+
#### TypeScript Compilation
|
|
86
|
+
- Fixed all TypeScript errors from PR #215 merge
|
|
87
|
+
- Fixed history.length on unknown type casting
|
|
88
|
+
- Fixed performTask payload access patterns
|
|
89
|
+
- Fixed Map iteration with Array.from()
|
|
90
|
+
|
|
91
|
+
#### Architecture Cleanup
|
|
92
|
+
- Removed wrong-pattern TypeScript agent classes (QualityCriteriaRecommenderAgent, RiskAssessorAgent)
|
|
93
|
+
- Removed orphaned QCSD agent tests
|
|
94
|
+
- Moved n8n-validator to v3/packages/
|
|
95
|
+
|
|
96
|
+
### Security
|
|
97
|
+
|
|
98
|
+
- SSRF protection recommendations for DAST scanner (private IP blocking)
|
|
99
|
+
- Path traversal edge case fix recommendation (startsWith + path.sep)
|
|
100
|
+
- npm audit: 0 vulnerabilities
|
|
101
|
+
|
|
102
|
+
### Deprecated
|
|
103
|
+
|
|
104
|
+
- Root-level tests/e2e/ directory (moved to v3/tests/e2e/)
|
|
105
|
+
- Root-level src/agents/ TypeScript classes (use .claude/agents/v3/*.md instead)
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
8
109
|
## [3.3.3] - 2026-01-27
|
|
9
110
|
|
|
10
111
|
### 🎯 Highlights
|
package/v3/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
[](https://www.typescriptlang.org/)
|
|
6
6
|
[](https://nodejs.org/)
|
|
7
7
|
|
|
8
|
-
> Domain-Driven Quality Engineering with Mathematical Coherence Verification, 12 Bounded Contexts, 51 Specialized QE Agents,
|
|
8
|
+
> Domain-Driven Quality Engineering with Mathematical Coherence Verification, 12 Bounded Contexts, 51 Specialized QE Agents, 63 QE Skills, and ReasoningBank Learning
|
|
9
9
|
|
|
10
10
|
## Quick Start
|
|
11
11
|
|
|
@@ -38,7 +38,7 @@ npx aqe test generate src/
|
|
|
38
38
|
## Why Agentic QE?
|
|
39
39
|
|
|
40
40
|
- **51 Specialized QE Agents** - Domain-focused quality engineering agents (44 main + 7 subagents)
|
|
41
|
-
- **
|
|
41
|
+
- **63 QE Skills** - Domain-specific skills for testing, security, accessibility, QCSD, and more
|
|
42
42
|
- **12 DDD Bounded Contexts** - Modular, extensible architecture
|
|
43
43
|
- **TinyDancer Model Routing** - 3-tier intelligent routing for cost optimization
|
|
44
44
|
- **O(log n) Coverage Analysis** - Sublinear performance with HNSW indexing
|
|
@@ -48,6 +48,7 @@ npx aqe test generate src/
|
|
|
48
48
|
- **MinCut Topology** - Graph-based self-healing agent coordination
|
|
49
49
|
- **Coherence Verification** (v3.3.0) - Mathematical proof of belief consistency using WASM engines
|
|
50
50
|
- **MinCut/Consensus Integration** (v3.3.3) - Full 12/12 domain integration with self-healing
|
|
51
|
+
- **Cross-Phase Memory Unification** (v3.3.4) - Unified SQLite storage for QCSD feedback loops
|
|
51
52
|
- **Zero-Breaking-Changes Migration** - Full v2 backward compatibility
|
|
52
53
|
- **Browser Automation** (v3.1.0) - @claude-flow/browser integration with 9 workflow templates
|
|
53
54
|
|
|
@@ -490,7 +491,7 @@ console.log(`Quality gate: ${gate.value.passed ? 'PASSED' : 'FAILED'}`);
|
|
|
490
491
|
| Memory | SQLite only | HNSW + SQLite hybrid |
|
|
491
492
|
| Learning | Basic patterns | ReasoningBank + SONA + Dream Cycles |
|
|
492
493
|
| Agents | 32 | 51 QE agents (44 main + 7 subagents) |
|
|
493
|
-
| Skills | 35 |
|
|
494
|
+
| Skills | 35 | 63 QE skills (v2 + v3 domain skills) |
|
|
494
495
|
| Coverage | O(n) | O(log n) |
|
|
495
496
|
| Pattern Search | Linear | O(log n) HNSW indexing |
|
|
496
497
|
| Coordination | Sequential | Queen + Work Stealing + Consensus |
|
|
@@ -606,12 +607,12 @@ Agentic QE includes 51 specialized quality engineering agents (44 main + 7 subag
|
|
|
606
607
|
### Additional Agents (New in v3)
|
|
607
608
|
`qe-product-factors-assessor` (SFDIPOT analysis), `qe-quality-criteria-recommender` (HTSM v6.3 Quality Criteria), `qe-test-idea-rewriter` (passive→active test transforms)
|
|
608
609
|
|
|
609
|
-
##
|
|
610
|
+
## 63 QE Skills
|
|
610
611
|
|
|
611
|
-
Agentic QE includes
|
|
612
|
+
Agentic QE includes 63 domain-specific quality engineering skills that agents automatically apply:
|
|
612
613
|
|
|
613
614
|
<details>
|
|
614
|
-
<summary><b>View All
|
|
615
|
+
<summary><b>View All 63 QE Skills</b></summary>
|
|
615
616
|
|
|
616
617
|
### Core Testing & Methodologies (12)
|
|
617
618
|
- `agentic-quality-engineering` - Core PACT principles for AI-powered QE
|
|
@@ -685,6 +686,10 @@ Agentic QE includes 61 domain-specific quality engineering skills that agents au
|
|
|
685
686
|
- `n8n-trigger-testing-strategies` - Webhook and event testing
|
|
686
687
|
- `n8n-integration-testing-patterns` - API contract testing for n8n
|
|
687
688
|
|
|
689
|
+
### QCSD & Accessibility (2)
|
|
690
|
+
- `qcsd-ideation-swarm` - QCSD Ideation phase swarm using HTSM v6.3, Risk Storming, Testability analysis
|
|
691
|
+
- `a11y-ally` - Comprehensive WCAG auditing with multi-tool testing, video captions, and EU compliance
|
|
692
|
+
|
|
688
693
|
</details>
|
|
689
694
|
|
|
690
695
|
> **Note**: Claude Flow platform skills (agentdb, github, flow-nexus, etc.) are managed separately by the claude-flow package and not counted in QE skills.
|