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.
Files changed (522) hide show
  1. package/.claude/agents/v3/README.md +100 -0
  2. package/.claude/agents/v3/qe-accessibility-auditor.md +112 -11
  3. package/.claude/agents/v3/qe-bdd-generator.md +40 -0
  4. package/.claude/agents/v3/qe-coverage-specialist.md +39 -0
  5. package/.claude/agents/v3/qe-defect-predictor.md +36 -0
  6. package/.claude/agents/v3/qe-gap-detector.md +39 -0
  7. package/.claude/agents/v3/qe-pattern-learner.md +31 -0
  8. package/.claude/agents/v3/qe-product-factors-assessor.md +34 -0
  9. package/.claude/agents/v3/qe-quality-criteria-recommender.md +32 -0
  10. package/.claude/agents/v3/qe-quality-gate.md +39 -0
  11. package/.claude/agents/v3/qe-requirements-validator.md +37 -0
  12. package/.claude/agents/v3/qe-risk-assessor.md +33 -0
  13. package/.claude/agents/v3/qe-tdd-specialist.md +33 -0
  14. package/.claude/agents/v3/qe-test-architect.md +36 -0
  15. package/.claude/skills/README.md +30 -104
  16. package/.claude/skills/a11y-ally/SKILL.md +1658 -0
  17. package/.claude/skills/qcsd-ideation-swarm/SKILL.md +1750 -0
  18. package/.claude/skills/skills-manifest.json +78 -8
  19. package/README.md +18 -4
  20. package/package.json +1 -1
  21. package/scripts/demo-warmup.sh +45 -0
  22. package/scripts/fetch-content.js +460 -0
  23. package/v3/CHANGELOG.md +101 -0
  24. package/v3/README.md +11 -6
  25. package/v3/assets/agents/v3/README.md +100 -0
  26. package/v3/assets/agents/v3/qe-accessibility-auditor.md +112 -11
  27. package/v3/assets/agents/v3/qe-bdd-generator.md +40 -0
  28. package/v3/assets/agents/v3/qe-coverage-specialist.md +39 -0
  29. package/v3/assets/agents/v3/qe-defect-predictor.md +36 -0
  30. package/v3/assets/agents/v3/qe-gap-detector.md +39 -0
  31. package/v3/assets/agents/v3/qe-pattern-learner.md +31 -0
  32. package/v3/assets/agents/v3/qe-product-factors-assessor.md +34 -0
  33. package/v3/assets/agents/v3/qe-quality-criteria-recommender.md +32 -0
  34. package/v3/assets/agents/v3/qe-quality-gate.md +39 -0
  35. package/v3/assets/agents/v3/qe-requirements-validator.md +37 -0
  36. package/v3/assets/agents/v3/qe-risk-assessor.md +33 -0
  37. package/v3/assets/agents/v3/qe-tdd-specialist.md +33 -0
  38. package/v3/assets/agents/v3/qe-test-architect.md +36 -0
  39. package/v3/assets/hooks/cross-phase-memory.yaml +253 -0
  40. package/v3/assets/skills/a11y-ally/SKILL.md +1658 -0
  41. package/v3/assets/skills/qcsd-ideation-swarm/SKILL.md +1750 -0
  42. package/v3/assets/skills/skills-manifest.json +753 -0
  43. package/v3/dist/adapters/claude-flow/model-router-bridge.d.ts.map +1 -1
  44. package/v3/dist/adapters/claude-flow/model-router-bridge.js +6 -4
  45. package/v3/dist/adapters/claude-flow/model-router-bridge.js.map +1 -1
  46. package/v3/dist/adapters/claude-flow/pretrain-bridge.d.ts.map +1 -1
  47. package/v3/dist/adapters/claude-flow/pretrain-bridge.js +13 -8
  48. package/v3/dist/adapters/claude-flow/pretrain-bridge.js.map +1 -1
  49. package/v3/dist/adapters/claude-flow/trajectory-bridge.d.ts.map +1 -1
  50. package/v3/dist/adapters/claude-flow/trajectory-bridge.js +9 -6
  51. package/v3/dist/adapters/claude-flow/trajectory-bridge.js.map +1 -1
  52. package/v3/dist/benchmarks/performance-benchmarks.d.ts.map +1 -1
  53. package/v3/dist/benchmarks/performance-benchmarks.js +5 -3
  54. package/v3/dist/benchmarks/performance-benchmarks.js.map +1 -1
  55. package/v3/dist/cli/bundle.js +27611 -23175
  56. package/v3/dist/cli/commands/hooks.d.ts.map +1 -1
  57. package/v3/dist/cli/commands/hooks.js +288 -0
  58. package/v3/dist/cli/commands/hooks.js.map +1 -1
  59. package/v3/dist/cli/commands/sync.d.ts.map +1 -1
  60. package/v3/dist/cli/commands/sync.js +0 -6
  61. package/v3/dist/cli/commands/sync.js.map +1 -1
  62. package/v3/dist/cli/handlers/init-handler.d.ts.map +1 -1
  63. package/v3/dist/cli/handlers/init-handler.js +11 -0
  64. package/v3/dist/cli/handlers/init-handler.js.map +1 -1
  65. package/v3/dist/cli/index.js +14 -2
  66. package/v3/dist/cli/index.js.map +1 -1
  67. package/v3/dist/cli/scheduler/persistent-scheduler.d.ts.map +1 -1
  68. package/v3/dist/cli/scheduler/persistent-scheduler.js +3 -2
  69. package/v3/dist/cli/scheduler/persistent-scheduler.js.map +1 -1
  70. package/v3/dist/cli/wizards/test-wizard.d.ts.map +1 -1
  71. package/v3/dist/cli/wizards/test-wizard.js +6 -4
  72. package/v3/dist/cli/wizards/test-wizard.js.map +1 -1
  73. package/v3/dist/coordination/consensus/providers/native-learning-provider.d.ts.map +1 -1
  74. package/v3/dist/coordination/consensus/providers/native-learning-provider.js +10 -8
  75. package/v3/dist/coordination/consensus/providers/native-learning-provider.js.map +1 -1
  76. package/v3/dist/coordination/consensus/providers/ollama-provider.d.ts.map +1 -1
  77. package/v3/dist/coordination/consensus/providers/ollama-provider.js +5 -4
  78. package/v3/dist/coordination/consensus/providers/ollama-provider.js.map +1 -1
  79. package/v3/dist/coordination/consensus/providers/openai-provider.d.ts.map +1 -1
  80. package/v3/dist/coordination/consensus/providers/openai-provider.js +5 -4
  81. package/v3/dist/coordination/consensus/providers/openai-provider.js.map +1 -1
  82. package/v3/dist/coordination/constants.d.ts +198 -0
  83. package/v3/dist/coordination/constants.d.ts.map +1 -0
  84. package/v3/dist/coordination/constants.js +210 -0
  85. package/v3/dist/coordination/constants.js.map +1 -0
  86. package/v3/dist/coordination/mincut/dream-integration.d.ts.map +1 -1
  87. package/v3/dist/coordination/mincut/dream-integration.js +5 -1
  88. package/v3/dist/coordination/mincut/dream-integration.js.map +1 -1
  89. package/v3/dist/coordination/queen-coordinator.d.ts +9 -1
  90. package/v3/dist/coordination/queen-coordinator.d.ts.map +1 -1
  91. package/v3/dist/coordination/queen-coordinator.js +49 -9
  92. package/v3/dist/coordination/queen-coordinator.js.map +1 -1
  93. package/v3/dist/coordination/task-executor.d.ts.map +1 -1
  94. package/v3/dist/coordination/task-executor.js +7 -8
  95. package/v3/dist/coordination/task-executor.js.map +1 -1
  96. package/v3/dist/coordination/workflow-orchestrator.d.ts.map +1 -1
  97. package/v3/dist/coordination/workflow-orchestrator.js +261 -0
  98. package/v3/dist/coordination/workflow-orchestrator.js.map +1 -1
  99. package/v3/dist/domains/chaos-resilience/plugin.d.ts +14 -3
  100. package/v3/dist/domains/chaos-resilience/plugin.d.ts.map +1 -1
  101. package/v3/dist/domains/chaos-resilience/plugin.js +96 -0
  102. package/v3/dist/domains/chaos-resilience/plugin.js.map +1 -1
  103. package/v3/dist/domains/chaos-resilience/services/performance-profiler.d.ts.map +1 -1
  104. package/v3/dist/domains/chaos-resilience/services/performance-profiler.js +12 -8
  105. package/v3/dist/domains/chaos-resilience/services/performance-profiler.js.map +1 -1
  106. package/v3/dist/domains/code-intelligence/plugin.d.ts +13 -3
  107. package/v3/dist/domains/code-intelligence/plugin.d.ts.map +1 -1
  108. package/v3/dist/domains/code-intelligence/plugin.js +85 -0
  109. package/v3/dist/domains/code-intelligence/plugin.js.map +1 -1
  110. package/v3/dist/domains/code-intelligence/services/product-factors-bridge.d.ts.map +1 -1
  111. package/v3/dist/domains/code-intelligence/services/product-factors-bridge.js +3 -2
  112. package/v3/dist/domains/code-intelligence/services/product-factors-bridge.js.map +1 -1
  113. package/v3/dist/domains/constants.d.ts +481 -0
  114. package/v3/dist/domains/constants.d.ts.map +1 -0
  115. package/v3/dist/domains/constants.js +503 -0
  116. package/v3/dist/domains/constants.js.map +1 -0
  117. package/v3/dist/domains/contract-testing/plugin.d.ts +6 -1
  118. package/v3/dist/domains/contract-testing/plugin.d.ts.map +1 -1
  119. package/v3/dist/domains/contract-testing/plugin.js +80 -1
  120. package/v3/dist/domains/contract-testing/plugin.js.map +1 -1
  121. package/v3/dist/domains/contract-testing/services/contract-validator.d.ts.map +1 -1
  122. package/v3/dist/domains/contract-testing/services/contract-validator.js +5 -4
  123. package/v3/dist/domains/contract-testing/services/contract-validator.js.map +1 -1
  124. package/v3/dist/domains/coverage-analysis/services/hnsw-index.d.ts.map +1 -1
  125. package/v3/dist/domains/coverage-analysis/services/hnsw-index.js +1 -0
  126. package/v3/dist/domains/coverage-analysis/services/hnsw-index.js.map +1 -1
  127. package/v3/dist/domains/defect-intelligence/coordinator.d.ts +2 -2
  128. package/v3/dist/domains/defect-intelligence/coordinator.d.ts.map +1 -1
  129. package/v3/dist/domains/defect-intelligence/coordinator.js.map +1 -1
  130. package/v3/dist/domains/defect-intelligence/plugin.d.ts +6 -1
  131. package/v3/dist/domains/defect-intelligence/plugin.d.ts.map +1 -1
  132. package/v3/dist/domains/defect-intelligence/plugin.js +101 -0
  133. package/v3/dist/domains/defect-intelligence/plugin.js.map +1 -1
  134. package/v3/dist/domains/defect-intelligence/services/defect-predictor.d.ts.map +1 -1
  135. package/v3/dist/domains/defect-intelligence/services/defect-predictor.js +3 -2
  136. package/v3/dist/domains/defect-intelligence/services/defect-predictor.js.map +1 -1
  137. package/v3/dist/domains/domain-interface.d.ts.map +1 -1
  138. package/v3/dist/domains/domain-interface.js +24 -9
  139. package/v3/dist/domains/domain-interface.js.map +1 -1
  140. package/v3/dist/domains/learning-optimization/plugin.d.ts +2 -1
  141. package/v3/dist/domains/learning-optimization/plugin.d.ts.map +1 -1
  142. package/v3/dist/domains/learning-optimization/plugin.js +49 -0
  143. package/v3/dist/domains/learning-optimization/plugin.js.map +1 -1
  144. package/v3/dist/domains/quality-assessment/coordinator.d.ts +90 -1
  145. package/v3/dist/domains/quality-assessment/coordinator.d.ts.map +1 -1
  146. package/v3/dist/domains/quality-assessment/coordinator.js +310 -0
  147. package/v3/dist/domains/quality-assessment/coordinator.js.map +1 -1
  148. package/v3/dist/domains/requirements-validation/index.d.ts +1 -0
  149. package/v3/dist/domains/requirements-validation/index.d.ts.map +1 -1
  150. package/v3/dist/domains/requirements-validation/index.js +2 -0
  151. package/v3/dist/domains/requirements-validation/index.js.map +1 -1
  152. package/v3/dist/domains/requirements-validation/plugin.d.ts +13 -1
  153. package/v3/dist/domains/requirements-validation/plugin.d.ts.map +1 -1
  154. package/v3/dist/domains/requirements-validation/plugin.js +94 -0
  155. package/v3/dist/domains/requirements-validation/plugin.js.map +1 -1
  156. package/v3/dist/domains/requirements-validation/qcsd-ideation-plugin.d.ts +245 -0
  157. package/v3/dist/domains/requirements-validation/qcsd-ideation-plugin.d.ts.map +1 -0
  158. package/v3/dist/domains/requirements-validation/qcsd-ideation-plugin.js +1143 -0
  159. package/v3/dist/domains/requirements-validation/qcsd-ideation-plugin.js.map +1 -0
  160. package/v3/dist/domains/requirements-validation/services/product-factors-assessment/code-intelligence/codebase-analyzer.d.ts.map +1 -1
  161. package/v3/dist/domains/requirements-validation/services/product-factors-assessment/code-intelligence/codebase-analyzer.js +3 -2
  162. package/v3/dist/domains/requirements-validation/services/product-factors-assessment/code-intelligence/codebase-analyzer.js.map +1 -1
  163. package/v3/dist/domains/security-compliance/plugin.d.ts +3 -2
  164. package/v3/dist/domains/security-compliance/plugin.d.ts.map +1 -1
  165. package/v3/dist/domains/security-compliance/plugin.js +64 -0
  166. package/v3/dist/domains/security-compliance/plugin.js.map +1 -1
  167. package/v3/dist/domains/security-compliance/services/scanners/dast-auth-testing.d.ts +25 -0
  168. package/v3/dist/domains/security-compliance/services/scanners/dast-auth-testing.d.ts.map +1 -0
  169. package/v3/dist/domains/security-compliance/services/scanners/dast-auth-testing.js +160 -0
  170. package/v3/dist/domains/security-compliance/services/scanners/dast-auth-testing.js.map +1 -0
  171. package/v3/dist/domains/security-compliance/services/scanners/dast-helpers.d.ts +48 -0
  172. package/v3/dist/domains/security-compliance/services/scanners/dast-helpers.d.ts.map +1 -0
  173. package/v3/dist/domains/security-compliance/services/scanners/dast-helpers.js +385 -0
  174. package/v3/dist/domains/security-compliance/services/scanners/dast-helpers.js.map +1 -0
  175. package/v3/dist/domains/security-compliance/services/scanners/dast-injection-testing.d.ts +20 -0
  176. package/v3/dist/domains/security-compliance/services/scanners/dast-injection-testing.d.ts.map +1 -0
  177. package/v3/dist/domains/security-compliance/services/scanners/dast-injection-testing.js +99 -0
  178. package/v3/dist/domains/security-compliance/services/scanners/dast-injection-testing.js.map +1 -0
  179. package/v3/dist/domains/security-compliance/services/scanners/dast-scanner.d.ts +62 -0
  180. package/v3/dist/domains/security-compliance/services/scanners/dast-scanner.d.ts.map +1 -0
  181. package/v3/dist/domains/security-compliance/services/scanners/dast-scanner.js +329 -0
  182. package/v3/dist/domains/security-compliance/services/scanners/dast-scanner.js.map +1 -0
  183. package/v3/dist/domains/security-compliance/services/scanners/dependency-scanner.d.ts +46 -0
  184. package/v3/dist/domains/security-compliance/services/scanners/dependency-scanner.d.ts.map +1 -0
  185. package/v3/dist/domains/security-compliance/services/scanners/dependency-scanner.js +180 -0
  186. package/v3/dist/domains/security-compliance/services/scanners/dependency-scanner.js.map +1 -0
  187. package/v3/dist/domains/security-compliance/services/scanners/index.d.ts +14 -0
  188. package/v3/dist/domains/security-compliance/services/scanners/index.d.ts.map +1 -0
  189. package/v3/dist/domains/security-compliance/services/scanners/index.js +16 -0
  190. package/v3/dist/domains/security-compliance/services/scanners/index.js.map +1 -0
  191. package/v3/dist/domains/security-compliance/services/scanners/sast-scanner.d.ts +92 -0
  192. package/v3/dist/domains/security-compliance/services/scanners/sast-scanner.d.ts.map +1 -0
  193. package/v3/dist/domains/security-compliance/services/scanners/sast-scanner.js +440 -0
  194. package/v3/dist/domains/security-compliance/services/scanners/sast-scanner.js.map +1 -0
  195. package/v3/dist/domains/security-compliance/services/scanners/scanner-orchestrator.d.ts +78 -0
  196. package/v3/dist/domains/security-compliance/services/scanners/scanner-orchestrator.d.ts.map +1 -0
  197. package/v3/dist/domains/security-compliance/services/scanners/scanner-orchestrator.js +179 -0
  198. package/v3/dist/domains/security-compliance/services/scanners/scanner-orchestrator.js.map +1 -0
  199. package/v3/dist/domains/security-compliance/services/scanners/scanner-types.d.ts +91 -0
  200. package/v3/dist/domains/security-compliance/services/scanners/scanner-types.d.ts.map +1 -0
  201. package/v3/dist/domains/security-compliance/services/scanners/scanner-types.js +15 -0
  202. package/v3/dist/domains/security-compliance/services/scanners/scanner-types.js.map +1 -0
  203. package/v3/dist/domains/security-compliance/services/scanners/security-patterns.d.ts +16 -0
  204. package/v3/dist/domains/security-compliance/services/scanners/security-patterns.d.ts.map +1 -0
  205. package/v3/dist/domains/security-compliance/services/scanners/security-patterns.js +507 -0
  206. package/v3/dist/domains/security-compliance/services/scanners/security-patterns.js.map +1 -0
  207. package/v3/dist/domains/security-compliance/services/security-auditor.d.ts.map +1 -1
  208. package/v3/dist/domains/security-compliance/services/security-auditor.js +2 -1
  209. package/v3/dist/domains/security-compliance/services/security-auditor.js.map +1 -1
  210. package/v3/dist/domains/security-compliance/services/security-scanner.d.ts +20 -213
  211. package/v3/dist/domains/security-compliance/services/security-scanner.d.ts.map +1 -1
  212. package/v3/dist/domains/security-compliance/services/security-scanner.js +37 -2013
  213. package/v3/dist/domains/security-compliance/services/security-scanner.js.map +1 -1
  214. package/v3/dist/domains/security-compliance/services/semgrep-integration.d.ts.map +1 -1
  215. package/v3/dist/domains/security-compliance/services/semgrep-integration.js +7 -6
  216. package/v3/dist/domains/security-compliance/services/semgrep-integration.js.map +1 -1
  217. package/v3/dist/domains/test-execution/services/auth-state-manager.d.ts.map +1 -1
  218. package/v3/dist/domains/test-execution/services/auth-state-manager.js +6 -4
  219. package/v3/dist/domains/test-execution/services/auth-state-manager.js.map +1 -1
  220. package/v3/dist/domains/test-execution/services/e2e/assertion-handlers.d.ts +55 -0
  221. package/v3/dist/domains/test-execution/services/e2e/assertion-handlers.d.ts.map +1 -0
  222. package/v3/dist/domains/test-execution/services/e2e/assertion-handlers.js +407 -0
  223. package/v3/dist/domains/test-execution/services/e2e/assertion-handlers.js.map +1 -0
  224. package/v3/dist/domains/test-execution/services/e2e/browser-orchestrator.d.ts +122 -0
  225. package/v3/dist/domains/test-execution/services/e2e/browser-orchestrator.d.ts.map +1 -0
  226. package/v3/dist/domains/test-execution/services/e2e/browser-orchestrator.js +325 -0
  227. package/v3/dist/domains/test-execution/services/e2e/browser-orchestrator.js.map +1 -0
  228. package/v3/dist/domains/test-execution/services/e2e/e2e-coordinator.d.ts +97 -0
  229. package/v3/dist/domains/test-execution/services/e2e/e2e-coordinator.d.ts.map +1 -0
  230. package/v3/dist/domains/test-execution/services/e2e/e2e-coordinator.js +297 -0
  231. package/v3/dist/domains/test-execution/services/e2e/e2e-coordinator.js.map +1 -0
  232. package/v3/dist/domains/test-execution/services/e2e/index.d.ts +22 -0
  233. package/v3/dist/domains/test-execution/services/e2e/index.d.ts.map +1 -0
  234. package/v3/dist/domains/test-execution/services/e2e/index.js +52 -0
  235. package/v3/dist/domains/test-execution/services/e2e/index.js.map +1 -0
  236. package/v3/dist/domains/test-execution/services/e2e/result-collector.d.ts +51 -0
  237. package/v3/dist/domains/test-execution/services/e2e/result-collector.d.ts.map +1 -0
  238. package/v3/dist/domains/test-execution/services/e2e/result-collector.js +133 -0
  239. package/v3/dist/domains/test-execution/services/e2e/result-collector.js.map +1 -0
  240. package/v3/dist/domains/test-execution/services/e2e/step-executors.d.ts +48 -0
  241. package/v3/dist/domains/test-execution/services/e2e/step-executors.d.ts.map +1 -0
  242. package/v3/dist/domains/test-execution/services/e2e/step-executors.js +422 -0
  243. package/v3/dist/domains/test-execution/services/e2e/step-executors.js.map +1 -0
  244. package/v3/dist/domains/test-execution/services/e2e/step-retry-handler.d.ts +49 -0
  245. package/v3/dist/domains/test-execution/services/e2e/step-retry-handler.d.ts.map +1 -0
  246. package/v3/dist/domains/test-execution/services/e2e/step-retry-handler.js +146 -0
  247. package/v3/dist/domains/test-execution/services/e2e/step-retry-handler.js.map +1 -0
  248. package/v3/dist/domains/test-execution/services/e2e/types.d.ts +138 -0
  249. package/v3/dist/domains/test-execution/services/e2e/types.d.ts.map +1 -0
  250. package/v3/dist/domains/test-execution/services/e2e/types.js +65 -0
  251. package/v3/dist/domains/test-execution/services/e2e/types.js.map +1 -0
  252. package/v3/dist/domains/test-execution/services/e2e/wait-condition-handler.d.ts +33 -0
  253. package/v3/dist/domains/test-execution/services/e2e/wait-condition-handler.d.ts.map +1 -0
  254. package/v3/dist/domains/test-execution/services/e2e/wait-condition-handler.js +114 -0
  255. package/v3/dist/domains/test-execution/services/e2e/wait-condition-handler.js.map +1 -0
  256. package/v3/dist/domains/test-execution/services/e2e-runner.d.ts +18 -392
  257. package/v3/dist/domains/test-execution/services/e2e-runner.d.ts.map +1 -1
  258. package/v3/dist/domains/test-execution/services/e2e-runner.js +25 -1757
  259. package/v3/dist/domains/test-execution/services/e2e-runner.js.map +1 -1
  260. package/v3/dist/domains/test-execution/services/flaky-detector.d.ts.map +1 -1
  261. package/v3/dist/domains/test-execution/services/flaky-detector.js +12 -9
  262. package/v3/dist/domains/test-execution/services/flaky-detector.js.map +1 -1
  263. package/v3/dist/domains/test-execution/services/retry-handler.d.ts.map +1 -1
  264. package/v3/dist/domains/test-execution/services/retry-handler.js +7 -5
  265. package/v3/dist/domains/test-execution/services/retry-handler.js.map +1 -1
  266. package/v3/dist/domains/test-execution/services/test-executor.d.ts.map +1 -1
  267. package/v3/dist/domains/test-execution/services/test-executor.js +4 -3
  268. package/v3/dist/domains/test-execution/services/test-executor.js.map +1 -1
  269. package/v3/dist/domains/visual-accessibility/coordinator.d.ts +70 -0
  270. package/v3/dist/domains/visual-accessibility/coordinator.d.ts.map +1 -1
  271. package/v3/dist/domains/visual-accessibility/coordinator.js +172 -0
  272. package/v3/dist/domains/visual-accessibility/coordinator.js.map +1 -1
  273. package/v3/dist/domains/visual-accessibility/plugin.d.ts +2 -1
  274. package/v3/dist/domains/visual-accessibility/plugin.d.ts.map +1 -1
  275. package/v3/dist/domains/visual-accessibility/plugin.js +63 -0
  276. package/v3/dist/domains/visual-accessibility/plugin.js.map +1 -1
  277. package/v3/dist/domains/visual-accessibility/services/accessibility-tester.d.ts.map +1 -1
  278. package/v3/dist/domains/visual-accessibility/services/accessibility-tester.js +3 -2
  279. package/v3/dist/domains/visual-accessibility/services/accessibility-tester.js.map +1 -1
  280. package/v3/dist/domains/visual-accessibility/services/browser-security-scanner.d.ts.map +1 -1
  281. package/v3/dist/domains/visual-accessibility/services/browser-security-scanner.js +22 -12
  282. package/v3/dist/domains/visual-accessibility/services/browser-security-scanner.js.map +1 -1
  283. package/v3/dist/domains/visual-accessibility/services/viewport-capture.d.ts.map +1 -1
  284. package/v3/dist/domains/visual-accessibility/services/viewport-capture.js +3 -2
  285. package/v3/dist/domains/visual-accessibility/services/viewport-capture.js.map +1 -1
  286. package/v3/dist/domains/visual-accessibility/services/visual-regression.d.ts.map +1 -1
  287. package/v3/dist/domains/visual-accessibility/services/visual-regression.js +3 -2
  288. package/v3/dist/domains/visual-accessibility/services/visual-regression.js.map +1 -1
  289. package/v3/dist/hooks/cross-phase-hooks.d.ts +42 -0
  290. package/v3/dist/hooks/cross-phase-hooks.d.ts.map +1 -0
  291. package/v3/dist/hooks/cross-phase-hooks.js +338 -0
  292. package/v3/dist/hooks/cross-phase-hooks.js.map +1 -0
  293. package/v3/dist/hooks/index.d.ts +9 -0
  294. package/v3/dist/hooks/index.d.ts.map +1 -0
  295. package/v3/dist/hooks/index.js +9 -0
  296. package/v3/dist/hooks/index.js.map +1 -0
  297. package/v3/dist/init/agents-installer.d.ts.map +1 -1
  298. package/v3/dist/init/agents-installer.js +6 -4
  299. package/v3/dist/init/agents-installer.js.map +1 -1
  300. package/v3/dist/init/enhancements/claude-flow-adapter.d.ts.map +1 -1
  301. package/v3/dist/init/enhancements/claude-flow-adapter.js +15 -9
  302. package/v3/dist/init/enhancements/claude-flow-adapter.js.map +1 -1
  303. package/v3/dist/init/enhancements/detector.js +6 -4
  304. package/v3/dist/init/enhancements/detector.js.map +1 -1
  305. package/v3/dist/init/init-wizard.d.ts +5 -0
  306. package/v3/dist/init/init-wizard.d.ts.map +1 -1
  307. package/v3/dist/init/init-wizard.js +74 -11
  308. package/v3/dist/init/init-wizard.js.map +1 -1
  309. package/v3/dist/init/migration/data-migrator.d.ts.map +1 -1
  310. package/v3/dist/init/migration/data-migrator.js +6 -4
  311. package/v3/dist/init/migration/data-migrator.js.map +1 -1
  312. package/v3/dist/init/phases/02-analysis.js +2 -2
  313. package/v3/dist/init/phases/02-analysis.js.map +1 -1
  314. package/v3/dist/init/phases/04-database.d.ts.map +1 -1
  315. package/v3/dist/init/phases/04-database.js +0 -1
  316. package/v3/dist/init/phases/04-database.js.map +1 -1
  317. package/v3/dist/init/phases/11-claude-md.d.ts.map +1 -1
  318. package/v3/dist/init/phases/11-claude-md.js +25 -0
  319. package/v3/dist/init/phases/11-claude-md.js.map +1 -1
  320. package/v3/dist/init/phases/12-verification.d.ts.map +1 -1
  321. package/v3/dist/init/phases/12-verification.js +2 -1
  322. package/v3/dist/init/phases/12-verification.js.map +1 -1
  323. package/v3/dist/init/project-analyzer.d.ts.map +1 -1
  324. package/v3/dist/init/project-analyzer.js +12 -8
  325. package/v3/dist/init/project-analyzer.js.map +1 -1
  326. package/v3/dist/init/skills-installer.d.ts.map +1 -1
  327. package/v3/dist/init/skills-installer.js +6 -4
  328. package/v3/dist/init/skills-installer.js.map +1 -1
  329. package/v3/dist/init/token-bootstrap.d.ts.map +1 -1
  330. package/v3/dist/init/token-bootstrap.js +2 -1
  331. package/v3/dist/init/token-bootstrap.js.map +1 -1
  332. package/v3/dist/integrations/agent-booster-wasm/index.d.ts.map +1 -1
  333. package/v3/dist/integrations/agent-booster-wasm/index.js +8 -4
  334. package/v3/dist/integrations/agent-booster-wasm/index.js.map +1 -1
  335. package/v3/dist/integrations/agentic-flow/model-router/signal-collector.d.ts.map +1 -1
  336. package/v3/dist/integrations/agentic-flow/model-router/signal-collector.js +3 -2
  337. package/v3/dist/integrations/agentic-flow/model-router/signal-collector.js.map +1 -1
  338. package/v3/dist/integrations/agentic-flow/reasoning-bank/experience-replay.d.ts.map +1 -1
  339. package/v3/dist/integrations/agentic-flow/reasoning-bank/experience-replay.js.map +1 -1
  340. package/v3/dist/integrations/agentic-flow/reasoning-bank/trajectory-tracker.d.ts.map +1 -1
  341. package/v3/dist/integrations/agentic-flow/reasoning-bank/trajectory-tracker.js.map +1 -1
  342. package/v3/dist/integrations/browser/agent-browser/client.d.ts.map +1 -1
  343. package/v3/dist/integrations/browser/agent-browser/client.js +9 -6
  344. package/v3/dist/integrations/browser/agent-browser/client.js.map +1 -1
  345. package/v3/dist/integrations/browser/agent-browser/command-executor.d.ts.map +1 -1
  346. package/v3/dist/integrations/browser/agent-browser/command-executor.js +3 -2
  347. package/v3/dist/integrations/browser/agent-browser/command-executor.js.map +1 -1
  348. package/v3/dist/integrations/browser/index.d.ts +1 -0
  349. package/v3/dist/integrations/browser/index.d.ts.map +1 -1
  350. package/v3/dist/integrations/browser/index.js +6 -0
  351. package/v3/dist/integrations/browser/index.js.map +1 -1
  352. package/v3/dist/integrations/browser/web-content-fetcher.d.ts +154 -0
  353. package/v3/dist/integrations/browser/web-content-fetcher.d.ts.map +1 -0
  354. package/v3/dist/integrations/browser/web-content-fetcher.js +529 -0
  355. package/v3/dist/integrations/browser/web-content-fetcher.js.map +1 -0
  356. package/v3/dist/integrations/coherence/threshold-tuner.d.ts.map +1 -1
  357. package/v3/dist/integrations/coherence/threshold-tuner.js +3 -2
  358. package/v3/dist/integrations/coherence/threshold-tuner.js.map +1 -1
  359. package/v3/dist/integrations/coherence/wasm-loader.d.ts.map +1 -1
  360. package/v3/dist/integrations/coherence/wasm-loader.js +3 -2
  361. package/v3/dist/integrations/coherence/wasm-loader.js.map +1 -1
  362. package/v3/dist/integrations/n8n/agent-factory.d.ts.map +1 -1
  363. package/v3/dist/integrations/n8n/agent-factory.js +6 -4
  364. package/v3/dist/integrations/n8n/agent-factory.js.map +1 -1
  365. package/v3/dist/integrations/rl-suite/persistence/q-value-store.d.ts.map +1 -1
  366. package/v3/dist/integrations/rl-suite/persistence/q-value-store.js.map +1 -1
  367. package/v3/dist/integrations/ruvector/sona-persistence.d.ts.map +1 -1
  368. package/v3/dist/integrations/ruvector/sona-persistence.js +6 -4
  369. package/v3/dist/integrations/ruvector/sona-persistence.js.map +1 -1
  370. package/v3/dist/integrations/vibium/client.d.ts.map +1 -1
  371. package/v3/dist/integrations/vibium/client.js +3 -2
  372. package/v3/dist/integrations/vibium/client.js.map +1 -1
  373. package/v3/dist/kernel/agent-coordinator.d.ts +1 -1
  374. package/v3/dist/kernel/agent-coordinator.d.ts.map +1 -1
  375. package/v3/dist/kernel/agent-coordinator.js +4 -4
  376. package/v3/dist/kernel/agent-coordinator.js.map +1 -1
  377. package/v3/dist/kernel/constants.d.ts +155 -0
  378. package/v3/dist/kernel/constants.d.ts.map +1 -0
  379. package/v3/dist/kernel/constants.js +169 -0
  380. package/v3/dist/kernel/constants.js.map +1 -0
  381. package/v3/dist/kernel/event-bus.d.ts +8 -0
  382. package/v3/dist/kernel/event-bus.d.ts.map +1 -1
  383. package/v3/dist/kernel/event-bus.js +79 -17
  384. package/v3/dist/kernel/event-bus.js.map +1 -1
  385. package/v3/dist/kernel/hybrid-backend.d.ts.map +1 -1
  386. package/v3/dist/kernel/hybrid-backend.js +4 -3
  387. package/v3/dist/kernel/hybrid-backend.js.map +1 -1
  388. package/v3/dist/kernel/kernel.d.ts.map +1 -1
  389. package/v3/dist/kernel/kernel.js +3 -2
  390. package/v3/dist/kernel/kernel.js.map +1 -1
  391. package/v3/dist/kernel/memory-backend.d.ts.map +1 -1
  392. package/v3/dist/kernel/memory-backend.js +4 -3
  393. package/v3/dist/kernel/memory-backend.js.map +1 -1
  394. package/v3/dist/kernel/unified-memory.d.ts.map +1 -1
  395. package/v3/dist/kernel/unified-memory.js +14 -11
  396. package/v3/dist/kernel/unified-memory.js.map +1 -1
  397. package/v3/dist/kernel/unified-persistence.js +3 -2
  398. package/v3/dist/kernel/unified-persistence.js.map +1 -1
  399. package/v3/dist/learning/aqe-learning-engine.d.ts.map +1 -1
  400. package/v3/dist/learning/aqe-learning-engine.js +12 -8
  401. package/v3/dist/learning/aqe-learning-engine.js.map +1 -1
  402. package/v3/dist/learning/dream/index.d.ts +1 -1
  403. package/v3/dist/learning/dream/index.d.ts.map +1 -1
  404. package/v3/dist/learning/dream/index.js +3 -1
  405. package/v3/dist/learning/dream/index.js.map +1 -1
  406. package/v3/dist/learning/dream/spreading-activation.d.ts +41 -0
  407. package/v3/dist/learning/dream/spreading-activation.d.ts.map +1 -1
  408. package/v3/dist/learning/dream/spreading-activation.js +79 -0
  409. package/v3/dist/learning/dream/spreading-activation.js.map +1 -1
  410. package/v3/dist/learning/pattern-store.d.ts.map +1 -1
  411. package/v3/dist/learning/pattern-store.js +16 -6
  412. package/v3/dist/learning/pattern-store.js.map +1 -1
  413. package/v3/dist/learning/real-embeddings.d.ts.map +1 -1
  414. package/v3/dist/learning/real-embeddings.js +7 -1
  415. package/v3/dist/learning/real-embeddings.js.map +1 -1
  416. package/v3/dist/learning/sqlite-persistence.d.ts +1 -1
  417. package/v3/dist/learning/sqlite-persistence.d.ts.map +1 -1
  418. package/v3/dist/learning/sqlite-persistence.js.map +1 -1
  419. package/v3/dist/logging/console-logger.d.ts +96 -0
  420. package/v3/dist/logging/console-logger.d.ts.map +1 -0
  421. package/v3/dist/logging/console-logger.js +247 -0
  422. package/v3/dist/logging/console-logger.js.map +1 -0
  423. package/v3/dist/logging/index.d.ts +42 -0
  424. package/v3/dist/logging/index.d.ts.map +1 -0
  425. package/v3/dist/logging/index.js +39 -0
  426. package/v3/dist/logging/index.js.map +1 -0
  427. package/v3/dist/logging/logger-factory.d.ts +145 -0
  428. package/v3/dist/logging/logger-factory.d.ts.map +1 -0
  429. package/v3/dist/logging/logger-factory.js +218 -0
  430. package/v3/dist/logging/logger-factory.js.map +1 -0
  431. package/v3/dist/logging/logger.d.ts +89 -0
  432. package/v3/dist/logging/logger.d.ts.map +1 -0
  433. package/v3/dist/logging/logger.js +74 -0
  434. package/v3/dist/logging/logger.js.map +1 -0
  435. package/v3/dist/mcp/bundle.js +11334 -7497
  436. package/v3/dist/mcp/handlers/agent-handlers.js +2 -2
  437. package/v3/dist/mcp/handlers/agent-handlers.js.map +1 -1
  438. package/v3/dist/mcp/handlers/core-handlers.d.ts +2 -0
  439. package/v3/dist/mcp/handlers/core-handlers.d.ts.map +1 -1
  440. package/v3/dist/mcp/handlers/core-handlers.js +33 -0
  441. package/v3/dist/mcp/handlers/core-handlers.js.map +1 -1
  442. package/v3/dist/mcp/handlers/cross-phase-handlers.d.ts +110 -0
  443. package/v3/dist/mcp/handlers/cross-phase-handlers.d.ts.map +1 -0
  444. package/v3/dist/mcp/handlers/cross-phase-handlers.js +216 -0
  445. package/v3/dist/mcp/handlers/cross-phase-handlers.js.map +1 -0
  446. package/v3/dist/mcp/handlers/domain-handler-configs.d.ts +151 -0
  447. package/v3/dist/mcp/handlers/domain-handler-configs.d.ts.map +1 -0
  448. package/v3/dist/mcp/handlers/domain-handler-configs.js +486 -0
  449. package/v3/dist/mcp/handlers/domain-handler-configs.js.map +1 -0
  450. package/v3/dist/mcp/handlers/domain-handlers.d.ts +174 -120
  451. package/v3/dist/mcp/handlers/domain-handlers.d.ts.map +1 -1
  452. package/v3/dist/mcp/handlers/domain-handlers.js +178 -1049
  453. package/v3/dist/mcp/handlers/domain-handlers.js.map +1 -1
  454. package/v3/dist/mcp/handlers/handler-factory.d.ts +182 -0
  455. package/v3/dist/mcp/handlers/handler-factory.d.ts.map +1 -0
  456. package/v3/dist/mcp/handlers/handler-factory.js +327 -0
  457. package/v3/dist/mcp/handlers/handler-factory.js.map +1 -0
  458. package/v3/dist/mcp/handlers/index.d.ts +1 -0
  459. package/v3/dist/mcp/handlers/index.d.ts.map +1 -1
  460. package/v3/dist/mcp/handlers/index.js +2 -0
  461. package/v3/dist/mcp/handlers/index.js.map +1 -1
  462. package/v3/dist/mcp/handlers/task-handlers.d.ts +1 -0
  463. package/v3/dist/mcp/handlers/task-handlers.d.ts.map +1 -1
  464. package/v3/dist/mcp/handlers/task-handlers.js +91 -7
  465. package/v3/dist/mcp/handlers/task-handlers.js.map +1 -1
  466. package/v3/dist/mcp/server.d.ts.map +1 -1
  467. package/v3/dist/mcp/server.js +107 -1
  468. package/v3/dist/mcp/server.js.map +1 -1
  469. package/v3/dist/mcp/types.d.ts +5 -3
  470. package/v3/dist/mcp/types.d.ts.map +1 -1
  471. package/v3/dist/memory/cross-phase-memory.d.ts +55 -0
  472. package/v3/dist/memory/cross-phase-memory.d.ts.map +1 -0
  473. package/v3/dist/memory/cross-phase-memory.js +265 -0
  474. package/v3/dist/memory/cross-phase-memory.js.map +1 -0
  475. package/v3/dist/memory/index.d.ts +9 -0
  476. package/v3/dist/memory/index.d.ts.map +1 -0
  477. package/v3/dist/memory/index.js +9 -0
  478. package/v3/dist/memory/index.js.map +1 -0
  479. package/v3/dist/shared/io/file-reader.d.ts.map +1 -1
  480. package/v3/dist/shared/io/file-reader.js +3 -2
  481. package/v3/dist/shared/io/file-reader.js.map +1 -1
  482. package/v3/dist/shared/utils/binary-insert.d.ts +85 -0
  483. package/v3/dist/shared/utils/binary-insert.d.ts.map +1 -0
  484. package/v3/dist/shared/utils/binary-insert.js +122 -0
  485. package/v3/dist/shared/utils/binary-insert.js.map +1 -0
  486. package/v3/dist/shared/utils/index.d.ts +1 -0
  487. package/v3/dist/shared/utils/index.d.ts.map +1 -1
  488. package/v3/dist/shared/utils/index.js +1 -0
  489. package/v3/dist/shared/utils/index.js.map +1 -1
  490. package/v3/dist/strange-loop/belief-reconciler.d.ts.map +1 -1
  491. package/v3/dist/strange-loop/belief-reconciler.js +3 -2
  492. package/v3/dist/strange-loop/belief-reconciler.js.map +1 -1
  493. package/v3/dist/sync/claude-flow-bridge.d.ts.map +1 -1
  494. package/v3/dist/sync/claude-flow-bridge.js +6 -4
  495. package/v3/dist/sync/claude-flow-bridge.js.map +1 -1
  496. package/v3/dist/sync/cloud/postgres-writer.d.ts.map +1 -1
  497. package/v3/dist/sync/cloud/postgres-writer.js +0 -1
  498. package/v3/dist/sync/cloud/postgres-writer.js.map +1 -1
  499. package/v3/dist/sync/readers/sqlite-reader.d.ts.map +1 -1
  500. package/v3/dist/sync/readers/sqlite-reader.js +3 -2
  501. package/v3/dist/sync/readers/sqlite-reader.js.map +1 -1
  502. package/v3/dist/test-scheduling/flaky-tracking/flaky-tracker.d.ts.map +1 -1
  503. package/v3/dist/test-scheduling/flaky-tracking/flaky-tracker.js +3 -2
  504. package/v3/dist/test-scheduling/flaky-tracking/flaky-tracker.js.map +1 -1
  505. package/v3/dist/test-scheduling/git-aware/test-selector.d.ts.map +1 -1
  506. package/v3/dist/test-scheduling/git-aware/test-selector.js +3 -2
  507. package/v3/dist/test-scheduling/git-aware/test-selector.js.map +1 -1
  508. package/v3/dist/types/cross-phase-signals.d.ts +119 -0
  509. package/v3/dist/types/cross-phase-signals.d.ts.map +1 -0
  510. package/v3/dist/types/cross-phase-signals.js +33 -0
  511. package/v3/dist/types/cross-phase-signals.js.map +1 -0
  512. package/v3/dist/types/index.d.ts +9 -0
  513. package/v3/dist/types/index.d.ts.map +1 -0
  514. package/v3/dist/types/index.js +9 -0
  515. package/v3/dist/types/index.js.map +1 -0
  516. package/v3/dist/workers/worker-manager.d.ts.map +1 -1
  517. package/v3/dist/workers/worker-manager.js +3 -2
  518. package/v3/dist/workers/worker-manager.js.map +1 -1
  519. package/v3/dist/workflows/browser/workflow-loader.d.ts +3 -3
  520. package/v3/dist/workflows/browser/workflow-loader.d.ts.map +1 -1
  521. package/v3/dist/workflows/browser/workflow-loader.js.map +1 -1
  522. 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
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-blue.svg)](https://www.typescriptlang.org/)
6
6
  [![Node.js](https://img.shields.io/badge/Node.js-18+-green.svg)](https://nodejs.org/)
7
7
 
8
- > Domain-Driven Quality Engineering with Mathematical Coherence Verification, 12 Bounded Contexts, 51 Specialized QE Agents, 61 QE Skills, and ReasoningBank Learning
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
- - **61 QE Skills** - Domain-specific skills for testing, security, accessibility, and more
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 | 61 QE skills (v2 + v3 domain skills) |
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
- ## 61 QE Skills
610
+ ## 63 QE Skills
610
611
 
611
- Agentic QE includes 61 domain-specific quality engineering skills that agents automatically apply:
612
+ Agentic QE includes 63 domain-specific quality engineering skills that agents automatically apply:
612
613
 
613
614
  <details>
614
- <summary><b>View All 61 QE Skills</b></summary>
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.