agentic-qe 2.3.5 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/.claude/agents/qe-a11y-ally.md +751 -0
  2. package/.claude/agents/qx-partner.md +120 -4
  3. package/.claude/skills/testability-scoring/SKILL.md +107 -6
  4. package/CHANGELOG.md +133 -0
  5. package/README.md +7 -6
  6. package/dist/agents/AccessibilityAllyAgent.d.ts +168 -0
  7. package/dist/agents/AccessibilityAllyAgent.d.ts.map +1 -0
  8. package/dist/agents/AccessibilityAllyAgent.js +462 -0
  9. package/dist/agents/AccessibilityAllyAgent.js.map +1 -0
  10. package/dist/agents/BaseAgent.d.ts +56 -49
  11. package/dist/agents/BaseAgent.d.ts.map +1 -1
  12. package/dist/agents/BaseAgent.js +208 -604
  13. package/dist/agents/BaseAgent.js.map +1 -1
  14. package/dist/agents/FlakyTestHunterAgent.d.ts +2 -2
  15. package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
  16. package/dist/agents/FlakyTestHunterAgent.js +8 -104
  17. package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
  18. package/dist/agents/SONAIntegration.d.ts +109 -0
  19. package/dist/agents/SONAIntegration.d.ts.map +1 -0
  20. package/dist/agents/SONAIntegration.js +167 -0
  21. package/dist/agents/SONAIntegration.js.map +1 -0
  22. package/dist/agents/TestExecutorAgent.d.ts +1 -1
  23. package/dist/agents/TestExecutorAgent.d.ts.map +1 -1
  24. package/dist/agents/TestExecutorAgent.js +4 -46
  25. package/dist/agents/TestExecutorAgent.js.map +1 -1
  26. package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
  27. package/dist/agents/TestGeneratorAgent.js +15 -35
  28. package/dist/agents/TestGeneratorAgent.js.map +1 -1
  29. package/dist/agents/adapters/CoordinatorAdapter.d.ts +47 -0
  30. package/dist/agents/adapters/CoordinatorAdapter.d.ts.map +1 -0
  31. package/dist/agents/adapters/CoordinatorAdapter.js +266 -0
  32. package/dist/agents/adapters/CoordinatorAdapter.js.map +1 -0
  33. package/dist/agents/adapters/LearningEngineAdapter.d.ts +45 -0
  34. package/dist/agents/adapters/LearningEngineAdapter.d.ts.map +1 -0
  35. package/dist/agents/adapters/LearningEngineAdapter.js +279 -0
  36. package/dist/agents/adapters/LearningEngineAdapter.js.map +1 -0
  37. package/dist/agents/adapters/LifecycleManagerAdapter.d.ts +45 -0
  38. package/dist/agents/adapters/LifecycleManagerAdapter.d.ts.map +1 -0
  39. package/dist/agents/adapters/LifecycleManagerAdapter.js +128 -0
  40. package/dist/agents/adapters/LifecycleManagerAdapter.js.map +1 -0
  41. package/dist/agents/adapters/MemoryServiceAdapter.d.ts +96 -0
  42. package/dist/agents/adapters/MemoryServiceAdapter.d.ts.map +1 -0
  43. package/dist/agents/adapters/MemoryServiceAdapter.js +266 -0
  44. package/dist/agents/adapters/MemoryServiceAdapter.js.map +1 -0
  45. package/dist/agents/adapters/index.d.ts +14 -0
  46. package/dist/agents/adapters/index.d.ts.map +1 -0
  47. package/dist/agents/adapters/index.js +25 -0
  48. package/dist/agents/adapters/index.js.map +1 -0
  49. package/dist/agents/index.d.ts +3 -0
  50. package/dist/agents/index.d.ts.map +1 -1
  51. package/dist/agents/index.js +93 -2
  52. package/dist/agents/index.js.map +1 -1
  53. package/dist/agents/lifecycle/AgentLifecycleManager.d.ts.map +1 -1
  54. package/dist/agents/lifecycle/AgentLifecycleManager.js +12 -6
  55. package/dist/agents/lifecycle/AgentLifecycleManager.js.map +1 -1
  56. package/dist/cli/init/agents.js +1 -1
  57. package/dist/cli/init/claude-config.js +2 -2
  58. package/dist/cli/init/database-init.js +1 -1
  59. package/dist/core/cache/BinaryCacheBuilder.d.ts +84 -0
  60. package/dist/core/cache/BinaryCacheBuilder.d.ts.map +1 -0
  61. package/dist/core/cache/BinaryCacheBuilder.js +225 -0
  62. package/dist/core/cache/BinaryCacheBuilder.js.map +1 -0
  63. package/dist/core/cache/BinaryCacheImpl.d.ts +161 -0
  64. package/dist/core/cache/BinaryCacheImpl.d.ts.map +1 -0
  65. package/dist/core/cache/BinaryCacheImpl.js +685 -0
  66. package/dist/core/cache/BinaryCacheImpl.js.map +1 -0
  67. package/dist/core/cache/BinaryCacheManager.d.ts +142 -0
  68. package/dist/core/cache/BinaryCacheManager.d.ts.map +1 -0
  69. package/dist/core/cache/BinaryCacheManager.js +354 -0
  70. package/dist/core/cache/BinaryCacheManager.js.map +1 -0
  71. package/dist/core/cache/BinaryCacheReader.d.ts +129 -0
  72. package/dist/core/cache/BinaryCacheReader.d.ts.map +1 -0
  73. package/dist/core/cache/BinaryCacheReader.js +243 -0
  74. package/dist/core/cache/BinaryCacheReader.js.map +1 -0
  75. package/dist/core/cache/BinaryMetadataCache.d.ts +777 -0
  76. package/dist/core/cache/BinaryMetadataCache.d.ts.map +1 -0
  77. package/dist/core/cache/BinaryMetadataCache.js +204 -0
  78. package/dist/core/cache/BinaryMetadataCache.js.map +1 -0
  79. package/dist/core/cache/CacheInvalidator.d.ts +103 -0
  80. package/dist/core/cache/CacheInvalidator.d.ts.map +1 -0
  81. package/dist/core/cache/CacheInvalidator.js +152 -0
  82. package/dist/core/cache/CacheInvalidator.js.map +1 -0
  83. package/dist/core/cache/CacheValidator.d.ts +69 -0
  84. package/dist/core/cache/CacheValidator.d.ts.map +1 -0
  85. package/dist/core/cache/CacheValidator.js +189 -0
  86. package/dist/core/cache/CacheValidator.js.map +1 -0
  87. package/dist/core/cache/MessagePackSerializer.d.ts +163 -0
  88. package/dist/core/cache/MessagePackSerializer.d.ts.map +1 -0
  89. package/dist/core/cache/MessagePackSerializer.js +274 -0
  90. package/dist/core/cache/MessagePackSerializer.js.map +1 -0
  91. package/dist/core/cache/index.d.ts +59 -0
  92. package/dist/core/cache/index.d.ts.map +1 -0
  93. package/dist/core/cache/index.js +111 -0
  94. package/dist/core/cache/index.js.map +1 -0
  95. package/dist/core/index.d.ts +2 -0
  96. package/dist/core/index.d.ts.map +1 -1
  97. package/dist/core/index.js +18 -0
  98. package/dist/core/index.js.map +1 -1
  99. package/dist/core/memory/AgentDBService.d.ts +30 -4
  100. package/dist/core/memory/AgentDBService.d.ts.map +1 -1
  101. package/dist/core/memory/AgentDBService.js +122 -12
  102. package/dist/core/memory/AgentDBService.js.map +1 -1
  103. package/dist/core/memory/CachedHNSWVectorMemory.d.ts +153 -0
  104. package/dist/core/memory/CachedHNSWVectorMemory.d.ts.map +1 -0
  105. package/dist/core/memory/CachedHNSWVectorMemory.js +329 -0
  106. package/dist/core/memory/CachedHNSWVectorMemory.js.map +1 -0
  107. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  108. package/dist/core/memory/PatternStoreFactory.d.ts +28 -0
  109. package/dist/core/memory/PatternStoreFactory.d.ts.map +1 -1
  110. package/dist/core/memory/PatternStoreFactory.js +68 -3
  111. package/dist/core/memory/PatternStoreFactory.js.map +1 -1
  112. package/dist/core/memory/RuVectorPatternStore.d.ts.map +1 -1
  113. package/dist/core/memory/RuVectorPatternStore.js +8 -2
  114. package/dist/core/memory/RuVectorPatternStore.js.map +1 -1
  115. package/dist/core/memory/UnifiedMemoryCoordinator.d.ts +50 -0
  116. package/dist/core/memory/UnifiedMemoryCoordinator.d.ts.map +1 -1
  117. package/dist/core/memory/UnifiedMemoryCoordinator.js +206 -0
  118. package/dist/core/memory/UnifiedMemoryCoordinator.js.map +1 -1
  119. package/dist/core/memory/index.d.ts +2 -0
  120. package/dist/core/memory/index.d.ts.map +1 -1
  121. package/dist/core/memory/index.js +8 -1
  122. package/dist/core/memory/index.js.map +1 -1
  123. package/dist/core/optimization/RecursiveOptimizer.d.ts +233 -0
  124. package/dist/core/optimization/RecursiveOptimizer.d.ts.map +1 -0
  125. package/dist/core/optimization/RecursiveOptimizer.js +509 -0
  126. package/dist/core/optimization/RecursiveOptimizer.js.map +1 -0
  127. package/dist/core/platform/FileOperations.d.ts +124 -0
  128. package/dist/core/platform/FileOperations.d.ts.map +1 -0
  129. package/dist/core/platform/FileOperations.js +371 -0
  130. package/dist/core/platform/FileOperations.js.map +1 -0
  131. package/dist/core/platform/PlatformDetector.d.ts +53 -0
  132. package/dist/core/platform/PlatformDetector.d.ts.map +1 -0
  133. package/dist/core/platform/PlatformDetector.js +251 -0
  134. package/dist/core/platform/PlatformDetector.js.map +1 -0
  135. package/dist/core/platform/index.d.ts +12 -0
  136. package/dist/core/platform/index.d.ts.map +1 -0
  137. package/dist/core/platform/index.js +28 -0
  138. package/dist/core/platform/index.js.map +1 -0
  139. package/dist/core/strategies/AcceleratedLearningStrategy.d.ts +74 -0
  140. package/dist/core/strategies/AcceleratedLearningStrategy.d.ts.map +1 -0
  141. package/dist/core/strategies/AcceleratedLearningStrategy.js +200 -0
  142. package/dist/core/strategies/AcceleratedLearningStrategy.js.map +1 -0
  143. package/dist/core/strategies/AgentCoordinationStrategy.d.ts +157 -0
  144. package/dist/core/strategies/AgentCoordinationStrategy.d.ts.map +1 -0
  145. package/dist/core/strategies/AgentCoordinationStrategy.js +12 -0
  146. package/dist/core/strategies/AgentCoordinationStrategy.js.map +1 -0
  147. package/dist/core/strategies/AgentLearningStrategy.d.ts +200 -0
  148. package/dist/core/strategies/AgentLearningStrategy.d.ts.map +1 -0
  149. package/dist/core/strategies/AgentLearningStrategy.js +13 -0
  150. package/dist/core/strategies/AgentLearningStrategy.js.map +1 -0
  151. package/dist/core/strategies/AgentLifecycleStrategy.d.ts +116 -0
  152. package/dist/core/strategies/AgentLifecycleStrategy.d.ts.map +1 -0
  153. package/dist/core/strategies/AgentLifecycleStrategy.js +12 -0
  154. package/dist/core/strategies/AgentLifecycleStrategy.js.map +1 -0
  155. package/dist/core/strategies/AgentMemoryStrategy.d.ts +154 -0
  156. package/dist/core/strategies/AgentMemoryStrategy.d.ts.map +1 -0
  157. package/dist/core/strategies/AgentMemoryStrategy.js +13 -0
  158. package/dist/core/strategies/AgentMemoryStrategy.js.map +1 -0
  159. package/dist/core/strategies/DefaultCoordinationStrategy.d.ts +105 -0
  160. package/dist/core/strategies/DefaultCoordinationStrategy.d.ts.map +1 -0
  161. package/dist/core/strategies/DefaultCoordinationStrategy.js +332 -0
  162. package/dist/core/strategies/DefaultCoordinationStrategy.js.map +1 -0
  163. package/dist/core/strategies/DefaultLearningStrategy.d.ts +120 -0
  164. package/dist/core/strategies/DefaultLearningStrategy.d.ts.map +1 -0
  165. package/dist/core/strategies/DefaultLearningStrategy.js +365 -0
  166. package/dist/core/strategies/DefaultLearningStrategy.js.map +1 -0
  167. package/dist/core/strategies/DefaultLifecycleStrategy.d.ts +129 -0
  168. package/dist/core/strategies/DefaultLifecycleStrategy.d.ts.map +1 -0
  169. package/dist/core/strategies/DefaultLifecycleStrategy.js +297 -0
  170. package/dist/core/strategies/DefaultLifecycleStrategy.js.map +1 -0
  171. package/dist/core/strategies/DefaultMemoryStrategy.d.ts +91 -0
  172. package/dist/core/strategies/DefaultMemoryStrategy.d.ts.map +1 -0
  173. package/dist/core/strategies/DefaultMemoryStrategy.js +257 -0
  174. package/dist/core/strategies/DefaultMemoryStrategy.js.map +1 -0
  175. package/dist/core/strategies/DistributedMemoryStrategy.d.ts +85 -0
  176. package/dist/core/strategies/DistributedMemoryStrategy.d.ts.map +1 -0
  177. package/dist/core/strategies/DistributedMemoryStrategy.js +126 -0
  178. package/dist/core/strategies/DistributedMemoryStrategy.js.map +1 -0
  179. package/dist/core/strategies/SONALearningStrategy.d.ts +115 -0
  180. package/dist/core/strategies/SONALearningStrategy.d.ts.map +1 -0
  181. package/dist/core/strategies/SONALearningStrategy.js +656 -0
  182. package/dist/core/strategies/SONALearningStrategy.js.map +1 -0
  183. package/dist/core/strategies/TRMLearningStrategy.d.ts +162 -0
  184. package/dist/core/strategies/TRMLearningStrategy.d.ts.map +1 -0
  185. package/dist/core/strategies/TRMLearningStrategy.js +670 -0
  186. package/dist/core/strategies/TRMLearningStrategy.js.map +1 -0
  187. package/dist/core/strategies/index.d.ts +104 -0
  188. package/dist/core/strategies/index.d.ts.map +1 -0
  189. package/dist/core/strategies/index.js +68 -0
  190. package/dist/core/strategies/index.js.map +1 -0
  191. package/dist/learning/PerformanceOptimizer.js +2 -2
  192. package/dist/learning/PerformanceOptimizer.js.map +1 -1
  193. package/dist/learning/SONAFeedbackLoop.d.ts +168 -0
  194. package/dist/learning/SONAFeedbackLoop.d.ts.map +1 -0
  195. package/dist/learning/SONAFeedbackLoop.js +344 -0
  196. package/dist/learning/SONAFeedbackLoop.js.map +1 -0
  197. package/dist/learning/baselines/BaselineCollector.d.ts +1 -1
  198. package/dist/learning/baselines/BaselineCollector.js +1 -1
  199. package/dist/learning/baselines/StandardTaskSuite.d.ts +1 -1
  200. package/dist/learning/baselines/StandardTaskSuite.js +1 -1
  201. package/dist/learning/index.d.ts +2 -0
  202. package/dist/learning/index.d.ts.map +1 -1
  203. package/dist/learning/index.js +6 -1
  204. package/dist/learning/index.js.map +1 -1
  205. package/dist/mcp/handlers/base-handler.d.ts +28 -1
  206. package/dist/mcp/handlers/base-handler.d.ts.map +1 -1
  207. package/dist/mcp/handlers/base-handler.js +41 -0
  208. package/dist/mcp/handlers/base-handler.js.map +1 -1
  209. package/dist/mcp/server-instructions.d.ts +1 -1
  210. package/dist/mcp/server-instructions.js +1 -1
  211. package/dist/mcp/server.d.ts.map +1 -1
  212. package/dist/mcp/server.js +23 -16
  213. package/dist/mcp/server.js.map +1 -1
  214. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  215. package/dist/mcp/services/AgentRegistry.js +6 -1
  216. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  217. package/dist/mcp/tools/qe/accessibility/accname-computation.d.ts +114 -0
  218. package/dist/mcp/tools/qe/accessibility/accname-computation.d.ts.map +1 -0
  219. package/dist/mcp/tools/qe/accessibility/accname-computation.js +566 -0
  220. package/dist/mcp/tools/qe/accessibility/accname-computation.js.map +1 -0
  221. package/dist/mcp/tools/qe/accessibility/apg-patterns.d.ts +103 -0
  222. package/dist/mcp/tools/qe/accessibility/apg-patterns.d.ts.map +1 -0
  223. package/dist/mcp/tools/qe/accessibility/apg-patterns.js +1028 -0
  224. package/dist/mcp/tools/qe/accessibility/apg-patterns.js.map +1 -0
  225. package/dist/mcp/tools/qe/accessibility/en-301-549-mapping.d.ts +48 -0
  226. package/dist/mcp/tools/qe/accessibility/en-301-549-mapping.d.ts.map +1 -0
  227. package/dist/mcp/tools/qe/accessibility/en-301-549-mapping.js +565 -0
  228. package/dist/mcp/tools/qe/accessibility/en-301-549-mapping.js.map +1 -0
  229. package/dist/mcp/tools/qe/accessibility/eu-accessibility-act.d.ts +117 -0
  230. package/dist/mcp/tools/qe/accessibility/eu-accessibility-act.d.ts.map +1 -0
  231. package/dist/mcp/tools/qe/accessibility/eu-accessibility-act.js +571 -0
  232. package/dist/mcp/tools/qe/accessibility/eu-accessibility-act.js.map +1 -0
  233. package/dist/mcp/tools/qe/accessibility/html-report-generator.d.ts +23 -0
  234. package/dist/mcp/tools/qe/accessibility/html-report-generator.d.ts.map +1 -0
  235. package/dist/mcp/tools/qe/accessibility/html-report-generator.js +1152 -0
  236. package/dist/mcp/tools/qe/accessibility/html-report-generator.js.map +1 -0
  237. package/dist/mcp/tools/qe/accessibility/index.d.ts +22 -0
  238. package/dist/mcp/tools/qe/accessibility/index.d.ts.map +1 -0
  239. package/dist/mcp/tools/qe/accessibility/index.js +38 -0
  240. package/dist/mcp/tools/qe/accessibility/index.js.map +1 -0
  241. package/dist/mcp/tools/qe/accessibility/markdown-report-generator.d.ts +18 -0
  242. package/dist/mcp/tools/qe/accessibility/markdown-report-generator.d.ts.map +1 -0
  243. package/dist/mcp/tools/qe/accessibility/markdown-report-generator.js +549 -0
  244. package/dist/mcp/tools/qe/accessibility/markdown-report-generator.js.map +1 -0
  245. package/dist/mcp/tools/qe/accessibility/remediation-code-generator.d.ts +139 -0
  246. package/dist/mcp/tools/qe/accessibility/remediation-code-generator.d.ts.map +1 -0
  247. package/dist/mcp/tools/qe/accessibility/remediation-code-generator.js +1300 -0
  248. package/dist/mcp/tools/qe/accessibility/remediation-code-generator.js.map +1 -0
  249. package/dist/mcp/tools/qe/accessibility/scan-comprehensive.d.ts +138 -0
  250. package/dist/mcp/tools/qe/accessibility/scan-comprehensive.d.ts.map +1 -0
  251. package/dist/mcp/tools/qe/accessibility/scan-comprehensive.js +1326 -0
  252. package/dist/mcp/tools/qe/accessibility/scan-comprehensive.js.map +1 -0
  253. package/dist/mcp/tools/qe/accessibility/video-vision-analyzer.d.ts +50 -0
  254. package/dist/mcp/tools/qe/accessibility/video-vision-analyzer.d.ts.map +1 -0
  255. package/dist/mcp/tools/qe/accessibility/video-vision-analyzer.js +469 -0
  256. package/dist/mcp/tools/qe/accessibility/video-vision-analyzer.js.map +1 -0
  257. package/dist/mcp/tools/qe/accessibility/webvtt-generator.d.ts +193 -0
  258. package/dist/mcp/tools/qe/accessibility/webvtt-generator.d.ts.map +1 -0
  259. package/dist/mcp/tools/qe/accessibility/webvtt-generator.js +511 -0
  260. package/dist/mcp/tools/qe/accessibility/webvtt-generator.js.map +1 -0
  261. package/dist/mcp/tools.d.ts +1 -0
  262. package/dist/mcp/tools.d.ts.map +1 -1
  263. package/dist/mcp/tools.js +61 -0
  264. package/dist/mcp/tools.js.map +1 -1
  265. package/dist/output/AIActionSuggester.d.ts +98 -0
  266. package/dist/output/AIActionSuggester.d.ts.map +1 -0
  267. package/dist/output/AIActionSuggester.js +499 -0
  268. package/dist/output/AIActionSuggester.js.map +1 -0
  269. package/dist/output/CLIOutputHelper.d.ts +169 -0
  270. package/dist/output/CLIOutputHelper.d.ts.map +1 -0
  271. package/dist/output/CLIOutputHelper.js +320 -0
  272. package/dist/output/CLIOutputHelper.js.map +1 -0
  273. package/dist/output/OutputFormatter.d.ts +764 -0
  274. package/dist/output/OutputFormatter.d.ts.map +1 -0
  275. package/dist/output/OutputFormatter.js +125 -0
  276. package/dist/output/OutputFormatter.js.map +1 -0
  277. package/dist/output/OutputFormatterImpl.d.ts +131 -0
  278. package/dist/output/OutputFormatterImpl.d.ts.map +1 -0
  279. package/dist/output/OutputFormatterImpl.js +556 -0
  280. package/dist/output/OutputFormatterImpl.js.map +1 -0
  281. package/dist/output/examples.d.ts +38 -0
  282. package/dist/output/examples.d.ts.map +1 -0
  283. package/dist/output/examples.js +503 -0
  284. package/dist/output/examples.js.map +1 -0
  285. package/dist/output/index.d.ts +16 -0
  286. package/dist/output/index.d.ts.map +1 -0
  287. package/dist/output/index.js +58 -0
  288. package/dist/output/index.js.map +1 -0
  289. package/dist/providers/HybridRouter.d.ts +34 -3
  290. package/dist/providers/HybridRouter.d.ts.map +1 -1
  291. package/dist/providers/HybridRouter.js +69 -4
  292. package/dist/providers/HybridRouter.js.map +1 -1
  293. package/dist/providers/LLMProviderFactory.d.ts +68 -1
  294. package/dist/providers/LLMProviderFactory.d.ts.map +1 -1
  295. package/dist/providers/LLMProviderFactory.js +173 -6
  296. package/dist/providers/LLMProviderFactory.js.map +1 -1
  297. package/dist/providers/OpenRouterProvider.d.ts +150 -0
  298. package/dist/providers/OpenRouterProvider.d.ts.map +1 -0
  299. package/dist/providers/OpenRouterProvider.js +545 -0
  300. package/dist/providers/OpenRouterProvider.js.map +1 -0
  301. package/dist/providers/RuvllmProvider.d.ts +130 -16
  302. package/dist/providers/RuvllmProvider.d.ts.map +1 -1
  303. package/dist/providers/RuvllmProvider.js +399 -83
  304. package/dist/providers/RuvllmProvider.js.map +1 -1
  305. package/dist/providers/index.d.ts +33 -4
  306. package/dist/providers/index.d.ts.map +1 -1
  307. package/dist/providers/index.js +72 -21
  308. package/dist/providers/index.js.map +1 -1
  309. package/dist/telemetry/instrumentation/agent.d.ts +1 -1
  310. package/dist/telemetry/instrumentation/agent.js +1 -1
  311. package/dist/telemetry/instrumentation/index.d.ts +1 -1
  312. package/dist/telemetry/instrumentation/index.js +1 -1
  313. package/dist/types/index.d.ts +2 -1
  314. package/dist/types/index.d.ts.map +1 -1
  315. package/dist/types/index.js +2 -0
  316. package/dist/types/index.js.map +1 -1
  317. package/dist/types/ruvllm.d.ts +97 -0
  318. package/dist/types/ruvllm.d.ts.map +1 -0
  319. package/dist/types/ruvllm.js +46 -0
  320. package/dist/types/ruvllm.js.map +1 -0
  321. package/dist/utils/ruvllm-loader.d.ts +94 -0
  322. package/dist/utils/ruvllm-loader.d.ts.map +1 -0
  323. package/dist/utils/ruvllm-loader.js +87 -0
  324. package/dist/utils/ruvllm-loader.js.map +1 -0
  325. package/docs/reference/agents.md +36 -1
  326. package/package.json +7 -2
@@ -0,0 +1,168 @@
1
+ /**
2
+ * AccessibilityAllyAgent - Intelligent Accessibility Testing Agent
3
+ *
4
+ * Provides comprehensive WCAG 2.2 compliance testing with context-aware
5
+ * remediation recommendations, intelligent ARIA suggestions, and
6
+ * AI-powered video analysis for accessibility.
7
+ *
8
+ * Key Capabilities:
9
+ * - WCAG 2.2 Level A, AA, AAA validation using axe-core
10
+ * - Context-aware ARIA label generation based on element semantics
11
+ * - Intelligent remediation suggestions with code examples
12
+ * - Keyboard navigation and screen reader testing
13
+ * - Color contrast optimization with specific fix recommendations
14
+ * - AI video analysis with multi-provider cascade (OpenAI > Anthropic > Ollama > moondream)
15
+ * - WebVTT caption generation for videos
16
+ * - EN 301 549 EU compliance mapping
17
+ * - ARIA Authoring Practices Guide (APG) pattern suggestions
18
+ *
19
+ * @version 1.0.0
20
+ * @author Agentic QE Team
21
+ */
22
+ import { BaseAgent, BaseAgentConfig } from './BaseAgent';
23
+ import { QETask, AgentCapability, AgentContext, MemoryStore } from '../types';
24
+ import { EventEmitter } from 'events';
25
+ /**
26
+ * Configuration for AccessibilityAllyAgent
27
+ */
28
+ export interface AccessibilityAllyConfig extends BaseAgentConfig {
29
+ /** WCAG level to test against */
30
+ wcagLevel?: 'A' | 'AA' | 'AAA';
31
+ /** Enable vision API for video analysis */
32
+ enableVisionAPI?: boolean;
33
+ /** Preferred vision provider */
34
+ visionProvider?: 'ollama' | 'anthropic' | 'openai';
35
+ /** Ollama server URL */
36
+ ollamaBaseUrl?: string;
37
+ /** Ollama vision model */
38
+ ollamaModel?: string;
39
+ /** Enable context-aware remediation */
40
+ contextAwareRemediation?: boolean;
41
+ /** Generate HTML reports */
42
+ generateHTMLReport?: boolean;
43
+ /** Generate Markdown reports */
44
+ generateMarkdownReport?: boolean;
45
+ /** Thresholds for compliance scoring */
46
+ thresholds?: {
47
+ minComplianceScore?: number;
48
+ maxCriticalViolations?: number;
49
+ maxSeriousViolations?: number;
50
+ };
51
+ /** EU compliance settings */
52
+ euCompliance?: {
53
+ enabled?: boolean;
54
+ en301549Mapping?: boolean;
55
+ euAccessibilityAct?: boolean;
56
+ };
57
+ }
58
+ /**
59
+ * Task types supported by AccessibilityAllyAgent
60
+ */
61
+ export type AccessibilityTaskType = 'scan' | 'scan-comprehensive' | 'generate-remediations' | 'analyze-video' | 'generate-webvtt' | 'check-compliance' | 'analyze-keyboard-nav' | 'generate-aria-labels';
62
+ /**
63
+ * Result of an accessibility scan
64
+ */
65
+ export interface AccessibilityScanTaskResult {
66
+ scanId: string;
67
+ url: string;
68
+ compliance: {
69
+ status: 'compliant' | 'partially-compliant' | 'non-compliant';
70
+ score: number;
71
+ level: string;
72
+ productionReady: boolean;
73
+ };
74
+ violations: {
75
+ total: number;
76
+ critical: number;
77
+ serious: number;
78
+ moderate: number;
79
+ minor: number;
80
+ details: unknown[];
81
+ };
82
+ remediations?: unknown[];
83
+ performance: {
84
+ scanTime: number;
85
+ elementsAnalyzed: number;
86
+ };
87
+ reportPath?: string;
88
+ }
89
+ interface Logger {
90
+ info(message: string, ...args: unknown[]): void;
91
+ warn(message: string, ...args: unknown[]): void;
92
+ error(message: string, ...args: unknown[]): void;
93
+ debug(message: string, ...args: unknown[]): void;
94
+ }
95
+ /**
96
+ * AccessibilityAllyAgent - Intelligent accessibility testing with context-aware remediation
97
+ */
98
+ export declare class AccessibilityAllyAgent extends BaseAgent {
99
+ private readonly agentConfig;
100
+ protected readonly logger: Logger;
101
+ constructor(config: AccessibilityAllyConfig & {
102
+ context: AgentContext;
103
+ memoryStore: MemoryStore;
104
+ eventBus: EventEmitter;
105
+ });
106
+ /**
107
+ * Get default capabilities for AccessibilityAllyAgent
108
+ */
109
+ static getDefaultCapabilities(): AgentCapability[];
110
+ /**
111
+ * Initialize agent-specific components
112
+ */
113
+ protected initializeComponents(): Promise<void>;
114
+ /**
115
+ * Load domain knowledge for accessibility testing
116
+ */
117
+ protected loadKnowledge(): Promise<void>;
118
+ /**
119
+ * Perform the actual accessibility task
120
+ */
121
+ protected performTask(task: QETask): Promise<unknown>;
122
+ /**
123
+ * Cleanup agent resources
124
+ */
125
+ protected cleanup(): Promise<void>;
126
+ /**
127
+ * Execute a comprehensive accessibility scan
128
+ */
129
+ private executeScan;
130
+ /**
131
+ * Generate context-aware remediations for violations
132
+ */
133
+ private generateRemediations;
134
+ /**
135
+ * Get remediation recommendation for a violation
136
+ */
137
+ private getRemediationRecommendation;
138
+ /**
139
+ * Generate code example for fixing a violation
140
+ */
141
+ private generateCodeExample;
142
+ /**
143
+ * Estimate remediation effort
144
+ */
145
+ private estimateRemediationEffort;
146
+ /**
147
+ * Analyze video content for accessibility
148
+ */
149
+ private analyzeVideo;
150
+ /**
151
+ * Generate WebVTT caption file from video analysis
152
+ */
153
+ private generateWebVTT;
154
+ /**
155
+ * Check compliance status against thresholds
156
+ */
157
+ private checkCompliance;
158
+ /**
159
+ * Analyze keyboard navigation paths
160
+ */
161
+ private analyzeKeyboardNavigation;
162
+ /**
163
+ * Generate intelligent ARIA labels for elements
164
+ */
165
+ private generateAriaLabels;
166
+ }
167
+ export default AccessibilityAllyAgent;
168
+ //# sourceMappingURL=AccessibilityAllyAgent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccessibilityAllyAgent.d.ts","sourceRoot":"","sources":["../../src/agents/AccessibilityAllyAgent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,462 @@
1
+ "use strict";
2
+ /**
3
+ * AccessibilityAllyAgent - Intelligent Accessibility Testing Agent
4
+ *
5
+ * Provides comprehensive WCAG 2.2 compliance testing with context-aware
6
+ * remediation recommendations, intelligent ARIA suggestions, and
7
+ * AI-powered video analysis for accessibility.
8
+ *
9
+ * Key Capabilities:
10
+ * - WCAG 2.2 Level A, AA, AAA validation using axe-core
11
+ * - Context-aware ARIA label generation based on element semantics
12
+ * - Intelligent remediation suggestions with code examples
13
+ * - Keyboard navigation and screen reader testing
14
+ * - Color contrast optimization with specific fix recommendations
15
+ * - AI video analysis with multi-provider cascade (OpenAI > Anthropic > Ollama > moondream)
16
+ * - WebVTT caption generation for videos
17
+ * - EN 301 549 EU compliance mapping
18
+ * - ARIA Authoring Practices Guide (APG) pattern suggestions
19
+ *
20
+ * @version 1.0.0
21
+ * @author Agentic QE Team
22
+ */
23
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k;
25
+ var desc = Object.getOwnPropertyDescriptor(m, k);
26
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
27
+ desc = { enumerable: true, get: function() { return m[k]; } };
28
+ }
29
+ Object.defineProperty(o, k2, desc);
30
+ }) : (function(o, m, k, k2) {
31
+ if (k2 === undefined) k2 = k;
32
+ o[k2] = m[k];
33
+ }));
34
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
35
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
36
+ }) : function(o, v) {
37
+ o["default"] = v;
38
+ });
39
+ var __importStar = (this && this.__importStar) || (function () {
40
+ var ownKeys = function(o) {
41
+ ownKeys = Object.getOwnPropertyNames || function (o) {
42
+ var ar = [];
43
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
44
+ return ar;
45
+ };
46
+ return ownKeys(o);
47
+ };
48
+ return function (mod) {
49
+ if (mod && mod.__esModule) return mod;
50
+ var result = {};
51
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
52
+ __setModuleDefault(result, mod);
53
+ return result;
54
+ };
55
+ })();
56
+ Object.defineProperty(exports, "__esModule", { value: true });
57
+ exports.AccessibilityAllyAgent = void 0;
58
+ const BaseAgent_1 = require("./BaseAgent");
59
+ const types_1 = require("../types");
60
+ class ConsoleLogger {
61
+ info(message, ...args) {
62
+ console.log(`[A11Y-ALLY] [INFO] ${message}`, ...args);
63
+ }
64
+ warn(message, ...args) {
65
+ console.warn(`[A11Y-ALLY] [WARN] ${message}`, ...args);
66
+ }
67
+ error(message, ...args) {
68
+ console.error(`[A11Y-ALLY] [ERROR] ${message}`, ...args);
69
+ }
70
+ debug(message, ...args) {
71
+ console.debug(`[A11Y-ALLY] [DEBUG] ${message}`, ...args);
72
+ }
73
+ }
74
+ /**
75
+ * AccessibilityAllyAgent - Intelligent accessibility testing with context-aware remediation
76
+ */
77
+ class AccessibilityAllyAgent extends BaseAgent_1.BaseAgent {
78
+ constructor(config) {
79
+ const baseConfig = {
80
+ type: types_1.QEAgentType.ACCESSIBILITY_ALLY,
81
+ capabilities: AccessibilityAllyAgent.getDefaultCapabilities(),
82
+ context: config.context,
83
+ memoryStore: config.memoryStore,
84
+ eventBus: config.eventBus,
85
+ enableLearning: true
86
+ };
87
+ super(baseConfig);
88
+ this.logger = new ConsoleLogger();
89
+ this.agentConfig = {
90
+ wcagLevel: config.wcagLevel || 'AA',
91
+ enableVisionAPI: config.enableVisionAPI ?? true,
92
+ visionProvider: config.visionProvider || 'ollama',
93
+ ollamaBaseUrl: config.ollamaBaseUrl || 'http://localhost:11434',
94
+ ollamaModel: config.ollamaModel || 'llava',
95
+ contextAwareRemediation: config.contextAwareRemediation ?? true,
96
+ generateHTMLReport: config.generateHTMLReport ?? false,
97
+ generateMarkdownReport: config.generateMarkdownReport ?? true,
98
+ thresholds: config.thresholds || {
99
+ minComplianceScore: 85,
100
+ maxCriticalViolations: 0,
101
+ maxSeriousViolations: 3
102
+ },
103
+ euCompliance: config.euCompliance || {
104
+ enabled: true,
105
+ en301549Mapping: true,
106
+ euAccessibilityAct: true
107
+ },
108
+ ...config
109
+ };
110
+ }
111
+ /**
112
+ * Get default capabilities for AccessibilityAllyAgent
113
+ */
114
+ static getDefaultCapabilities() {
115
+ return [
116
+ {
117
+ name: 'wcag-2.2-validation',
118
+ version: '1.0.0',
119
+ description: 'Comprehensive WCAG 2.2 compliance testing (Level A, AA, AAA)'
120
+ },
121
+ {
122
+ name: 'context-aware-remediation',
123
+ version: '1.0.0',
124
+ description: 'Intelligent remediation suggestions with context-specific code examples'
125
+ },
126
+ {
127
+ name: 'aria-intelligence',
128
+ version: '1.0.0',
129
+ description: 'Smart ARIA label generation based on element semantics and context'
130
+ },
131
+ {
132
+ name: 'video-accessibility-analysis',
133
+ version: '1.0.0',
134
+ description: 'AI-powered video analysis with multi-provider cascade (FREE with Ollama)'
135
+ },
136
+ {
137
+ name: 'webvtt-generation',
138
+ version: '1.0.0',
139
+ description: 'Automatic WebVTT caption file generation with detailed scene descriptions'
140
+ },
141
+ {
142
+ name: 'en301549-compliance',
143
+ version: '1.0.0',
144
+ description: 'EN 301 549 EU accessibility standard compliance mapping'
145
+ },
146
+ {
147
+ name: 'apg-pattern-suggestions',
148
+ version: '1.0.0',
149
+ description: 'ARIA Authoring Practices Guide pattern recommendations'
150
+ },
151
+ {
152
+ name: 'keyboard-navigation-testing',
153
+ version: '1.0.0',
154
+ description: 'Keyboard navigation path validation and focus management'
155
+ },
156
+ {
157
+ name: 'color-contrast-optimization',
158
+ version: '1.0.0',
159
+ description: 'Color contrast analysis with specific fix recommendations'
160
+ },
161
+ {
162
+ name: 'learning-integration',
163
+ version: '1.0.0',
164
+ description: 'Learn from remediation feedback to improve future recommendations'
165
+ }
166
+ ];
167
+ }
168
+ /**
169
+ * Initialize agent-specific components
170
+ */
171
+ async initializeComponents() {
172
+ this.logger.info(`AccessibilityAllyAgent initializing with WCAG Level ${this.agentConfig.wcagLevel}`);
173
+ this.logger.info(`Vision API: ${this.agentConfig.enableVisionAPI ? 'enabled' : 'disabled'} (provider: ${this.agentConfig.visionProvider})`);
174
+ }
175
+ /**
176
+ * Load domain knowledge for accessibility testing
177
+ */
178
+ async loadKnowledge() {
179
+ this.logger.debug('Loading accessibility testing knowledge base');
180
+ // Knowledge is primarily loaded via the accessibility-testing skill
181
+ // and the embedded axe-core rules
182
+ }
183
+ /**
184
+ * Perform the actual accessibility task
185
+ */
186
+ async performTask(task) {
187
+ const taskType = task.type;
188
+ this.logger.info(`Performing accessibility task: ${taskType}`);
189
+ try {
190
+ switch (taskType) {
191
+ case 'scan':
192
+ case 'scan-comprehensive':
193
+ return await this.executeScan(task);
194
+ case 'generate-remediations':
195
+ return await this.generateRemediations(task);
196
+ case 'analyze-video':
197
+ return await this.analyzeVideo(task);
198
+ case 'generate-webvtt':
199
+ return await this.generateWebVTT(task);
200
+ case 'check-compliance':
201
+ return await this.checkCompliance(task);
202
+ case 'analyze-keyboard-nav':
203
+ return await this.analyzeKeyboardNavigation(task);
204
+ case 'generate-aria-labels':
205
+ return await this.generateAriaLabels(task);
206
+ default:
207
+ // Default to comprehensive scan
208
+ return await this.executeScan(task);
209
+ }
210
+ }
211
+ catch (error) {
212
+ this.logger.error(`Task ${taskType} failed:`, error);
213
+ throw error;
214
+ }
215
+ }
216
+ /**
217
+ * Cleanup agent resources
218
+ */
219
+ async cleanup() {
220
+ this.logger.info('Cleaning up AccessibilityAllyAgent resources');
221
+ // No specific cleanup needed for this agent
222
+ }
223
+ /**
224
+ * Execute a comprehensive accessibility scan
225
+ */
226
+ async executeScan(task) {
227
+ const payload = task.payload || {};
228
+ const url = payload.url || payload.target;
229
+ if (!url) {
230
+ throw new Error('URL is required for accessibility scan');
231
+ }
232
+ this.logger.info(`Starting comprehensive scan for: ${url}`);
233
+ // Import the scan function dynamically to avoid circular dependencies
234
+ const { scanComprehensive } = await Promise.resolve().then(() => __importStar(require('../mcp/tools/qe/accessibility/scan-comprehensive.js')));
235
+ const result = await scanComprehensive({
236
+ url,
237
+ level: payload.level || this.agentConfig.wcagLevel || 'AA',
238
+ options: {
239
+ includeContext: this.agentConfig.contextAwareRemediation,
240
+ generateMarkdownReport: this.agentConfig.generateMarkdownReport,
241
+ generateHTMLReport: this.agentConfig.generateHTMLReport,
242
+ enableVisionAPI: this.agentConfig.enableVisionAPI,
243
+ visionProvider: this.agentConfig.visionProvider,
244
+ ollamaBaseUrl: this.agentConfig.ollamaBaseUrl,
245
+ ollamaModel: this.agentConfig.ollamaModel,
246
+ ...payload.options
247
+ }
248
+ });
249
+ // Extract data from QEToolResponse
250
+ const data = result.data;
251
+ // Store results in memory for learning
252
+ if (this.memoryStore && data) {
253
+ await this.memoryStore.store(`aqe/accessibility/scan-results/${data.scanId || 'unknown'}`, {
254
+ timestamp: Date.now(),
255
+ url,
256
+ compliance: data.compliance,
257
+ violationCount: data.summary?.total || 0
258
+ });
259
+ }
260
+ return {
261
+ scanId: data?.scanId || 'unknown',
262
+ url,
263
+ compliance: data?.compliance || {
264
+ status: 'non-compliant',
265
+ score: 0,
266
+ level: this.agentConfig.wcagLevel || 'AA',
267
+ productionReady: false
268
+ },
269
+ violations: {
270
+ total: data?.summary?.total || 0,
271
+ critical: data?.summary?.critical || 0,
272
+ serious: data?.summary?.serious || 0,
273
+ moderate: data?.summary?.moderate || 0,
274
+ minor: data?.summary?.minor || 0,
275
+ details: data?.violations || []
276
+ },
277
+ remediations: data?.remediations,
278
+ performance: data?.performance || {
279
+ scanTime: 0,
280
+ elementsAnalyzed: 0
281
+ },
282
+ reportPath: data?.htmlReportPath
283
+ };
284
+ }
285
+ /**
286
+ * Generate context-aware remediations for violations
287
+ */
288
+ async generateRemediations(task) {
289
+ const payload = task.payload || {};
290
+ const violations = payload.violations || [];
291
+ this.logger.info(`Generating remediations for ${violations.length} violations`);
292
+ // Generate remediations based on violation patterns
293
+ const remediations = violations.map((violation) => ({
294
+ violationId: violation.id,
295
+ wcagCriterion: violation.wcagCriterion,
296
+ recommendation: this.getRemediationRecommendation(violation),
297
+ codeExample: this.generateCodeExample(violation),
298
+ effort: this.estimateRemediationEffort(violation)
299
+ }));
300
+ return {
301
+ success: true,
302
+ remediationsGenerated: remediations.length,
303
+ remediations
304
+ };
305
+ }
306
+ /**
307
+ * Get remediation recommendation for a violation
308
+ */
309
+ getRemediationRecommendation(violation) {
310
+ const recommendations = {
311
+ 'color-contrast': 'Increase the color contrast ratio to meet WCAG requirements',
312
+ 'label': 'Add a visible label or aria-label to the form control',
313
+ 'image-alt': 'Add descriptive alt text that conveys the image content',
314
+ 'link-name': 'Add descriptive text content or aria-label to the link',
315
+ 'button-name': 'Add visible text content or aria-label to the button'
316
+ };
317
+ return recommendations[violation.id] || 'Review and fix the accessibility issue';
318
+ }
319
+ /**
320
+ * Generate code example for fixing a violation
321
+ */
322
+ generateCodeExample(violation) {
323
+ // Simple code example generation
324
+ if (violation.elements && violation.elements[0]) {
325
+ const element = violation.elements[0];
326
+ return `<!-- Current: ${element.html || 'N/A'} -->\n<!-- Recommended: Add appropriate ARIA attributes -->`;
327
+ }
328
+ return '<!-- See violation details for specific fix -->';
329
+ }
330
+ /**
331
+ * Estimate remediation effort
332
+ */
333
+ estimateRemediationEffort(violation) {
334
+ const effortMap = {
335
+ critical: 'High - 2-4 hours',
336
+ serious: 'Medium - 1-2 hours',
337
+ moderate: 'Low - 30 minutes',
338
+ minor: 'Trivial - 15 minutes'
339
+ };
340
+ return effortMap[violation.severity] || 'Medium - 1 hour';
341
+ }
342
+ /**
343
+ * Analyze video content for accessibility
344
+ */
345
+ async analyzeVideo(task) {
346
+ const payload = task.payload || {};
347
+ const videoUrl = payload.url || payload.videoUrl;
348
+ if (!videoUrl) {
349
+ throw new Error('Video URL is required for video analysis');
350
+ }
351
+ this.logger.info(`Analyzing video: ${videoUrl}`);
352
+ // Import video analyzer
353
+ const { analyzeVideoWithVision } = await Promise.resolve().then(() => __importStar(require('../mcp/tools/qe/accessibility/video-vision-analyzer.js')));
354
+ // Note: analyzeVideoWithVision expects frames, not URL directly
355
+ // This is a simplified implementation that would need frame extraction first
356
+ return {
357
+ success: true,
358
+ videoUrl,
359
+ message: 'Video analysis requires frame extraction. Use scan-comprehensive with enableVisionAPI for full video analysis.',
360
+ recommendation: 'Run a comprehensive scan with video analysis enabled to get detailed frame-by-frame descriptions'
361
+ };
362
+ }
363
+ /**
364
+ * Generate WebVTT caption file from video analysis
365
+ */
366
+ async generateWebVTT(task) {
367
+ const payload = task.payload || {};
368
+ const frameDescriptions = payload.frameDescriptions || [];
369
+ this.logger.info(`Generating WebVTT for ${frameDescriptions.length} frames`);
370
+ // Import WebVTT generator
371
+ const { generateWebVTT } = await Promise.resolve().then(() => __importStar(require('../mcp/tools/qe/accessibility/webvtt-generator.js')));
372
+ const webvtt = generateWebVTT(frameDescriptions);
373
+ return {
374
+ success: true,
375
+ frameCount: frameDescriptions.length,
376
+ webvtt
377
+ };
378
+ }
379
+ /**
380
+ * Check compliance status against thresholds
381
+ */
382
+ async checkCompliance(task) {
383
+ const payload = task.payload || {};
384
+ const scanResult = payload.scanResult;
385
+ if (!scanResult) {
386
+ throw new Error('Scan result is required for compliance check');
387
+ }
388
+ const thresholds = this.agentConfig.thresholds || {};
389
+ const minScore = thresholds.minComplianceScore || 85;
390
+ const maxCritical = thresholds.maxCriticalViolations || 0;
391
+ const maxSerious = thresholds.maxSeriousViolations || 3;
392
+ const score = scanResult.compliance?.score || 0;
393
+ const critical = scanResult.summary?.critical || 0;
394
+ const serious = scanResult.summary?.serious || 0;
395
+ const passes = score >= minScore && critical <= maxCritical && serious <= maxSerious;
396
+ return {
397
+ success: true,
398
+ passes,
399
+ details: {
400
+ score: { actual: score, required: minScore, passes: score >= minScore },
401
+ criticalViolations: {
402
+ actual: critical,
403
+ maxAllowed: maxCritical,
404
+ passes: critical <= maxCritical
405
+ },
406
+ seriousViolations: {
407
+ actual: serious,
408
+ maxAllowed: maxSerious,
409
+ passes: serious <= maxSerious
410
+ }
411
+ },
412
+ recommendation: passes
413
+ ? 'Application meets accessibility compliance thresholds'
414
+ : 'Application does not meet accessibility compliance thresholds - remediation required'
415
+ };
416
+ }
417
+ /**
418
+ * Analyze keyboard navigation paths
419
+ */
420
+ async analyzeKeyboardNavigation(task) {
421
+ const payload = task.payload || {};
422
+ const url = payload.url;
423
+ if (!url) {
424
+ throw new Error('URL is required for keyboard navigation analysis');
425
+ }
426
+ this.logger.info(`Analyzing keyboard navigation for: ${url}`);
427
+ // This would use Playwright to test keyboard navigation
428
+ // For now, return a placeholder indicating the capability
429
+ return {
430
+ success: true,
431
+ url,
432
+ analysis: {
433
+ focusOrder: 'Analysis pending - requires Playwright browser automation',
434
+ keyboardTraps: [],
435
+ skipLinks: [],
436
+ focusIndicators: []
437
+ },
438
+ message: 'Full keyboard navigation analysis available via scan-comprehensive with keyboard option'
439
+ };
440
+ }
441
+ /**
442
+ * Generate intelligent ARIA labels for elements
443
+ */
444
+ async generateAriaLabels(task) {
445
+ const payload = task.payload || {};
446
+ const elements = payload.elements || [];
447
+ this.logger.info(`Generating ARIA labels for ${elements.length} elements`);
448
+ // Import AccName computation
449
+ const { generateAccessibleNameRecommendation } = await Promise.resolve().then(() => __importStar(require('../mcp/tools/qe/accessibility/accname-computation.js')));
450
+ const recommendations = elements.map((element) => {
451
+ return generateAccessibleNameRecommendation(element, element.context || {});
452
+ });
453
+ return {
454
+ success: true,
455
+ elementCount: elements.length,
456
+ recommendations
457
+ };
458
+ }
459
+ }
460
+ exports.AccessibilityAllyAgent = AccessibilityAllyAgent;
461
+ exports.default = AccessibilityAllyAgent;
462
+ //# sourceMappingURL=AccessibilityAllyAgent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccessibilityAllyAgent.js","sourceRoot":"","sources":["../../src/agents/AccessibilityAllyAgent.ts"],"names":[],"mappings":"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"}