@dallask/a11y-mcp-srv 1.0.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 (81) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +9 -0
  3. package/README.md +1328 -0
  4. package/bin/server.js +8 -0
  5. package/dist/core/accessibility-runner.d.ts +123 -0
  6. package/dist/core/accessibility-runner.d.ts.map +1 -0
  7. package/dist/core/accessibility-runner.js +465 -0
  8. package/dist/core/accessibility-runner.js.map +1 -0
  9. package/dist/core/basic-auth.d.ts +35 -0
  10. package/dist/core/basic-auth.d.ts.map +1 -0
  11. package/dist/core/basic-auth.js +52 -0
  12. package/dist/core/basic-auth.js.map +1 -0
  13. package/dist/core/config.d.ts +44 -0
  14. package/dist/core/config.d.ts.map +1 -0
  15. package/dist/core/config.js +163 -0
  16. package/dist/core/config.js.map +1 -0
  17. package/dist/core/error-handler.d.ts +66 -0
  18. package/dist/core/error-handler.d.ts.map +1 -0
  19. package/dist/core/error-handler.js +305 -0
  20. package/dist/core/error-handler.js.map +1 -0
  21. package/dist/core/normalize-audit-result.d.ts +18 -0
  22. package/dist/core/normalize-audit-result.d.ts.map +1 -0
  23. package/dist/core/normalize-audit-result.js +118 -0
  24. package/dist/core/normalize-audit-result.js.map +1 -0
  25. package/dist/core/playwright-bootstrap.d.ts +21 -0
  26. package/dist/core/playwright-bootstrap.d.ts.map +1 -0
  27. package/dist/core/playwright-bootstrap.js +144 -0
  28. package/dist/core/playwright-bootstrap.js.map +1 -0
  29. package/dist/core/progress-streamer.d.ts +44 -0
  30. package/dist/core/progress-streamer.d.ts.map +1 -0
  31. package/dist/core/progress-streamer.js +160 -0
  32. package/dist/core/progress-streamer.js.map +1 -0
  33. package/dist/core/result-processor.d.ts +86 -0
  34. package/dist/core/result-processor.d.ts.map +1 -0
  35. package/dist/core/result-processor.js +475 -0
  36. package/dist/core/result-processor.js.map +1 -0
  37. package/dist/core/session-manager.d.ts +73 -0
  38. package/dist/core/session-manager.d.ts.map +1 -0
  39. package/dist/core/session-manager.js +243 -0
  40. package/dist/core/session-manager.js.map +1 -0
  41. package/dist/server.d.ts +10 -0
  42. package/dist/server.d.ts.map +1 -0
  43. package/dist/server.js +1439 -0
  44. package/dist/server.js.map +1 -0
  45. package/dist/tools/aggregate.d.ts +26 -0
  46. package/dist/tools/aggregate.d.ts.map +1 -0
  47. package/dist/tools/aggregate.js +340 -0
  48. package/dist/tools/aggregate.js.map +1 -0
  49. package/dist/tools/analysis.d.ts +68 -0
  50. package/dist/tools/analysis.d.ts.map +1 -0
  51. package/dist/tools/analysis.js +1199 -0
  52. package/dist/tools/analysis.js.map +1 -0
  53. package/dist/tools/audit.d.ts +38 -0
  54. package/dist/tools/audit.d.ts.map +1 -0
  55. package/dist/tools/audit.js +472 -0
  56. package/dist/tools/audit.js.map +1 -0
  57. package/dist/tools/comparison.d.ts +27 -0
  58. package/dist/tools/comparison.d.ts.map +1 -0
  59. package/dist/tools/comparison.js +499 -0
  60. package/dist/tools/comparison.js.map +1 -0
  61. package/dist/tools/export.d.ts +43 -0
  62. package/dist/tools/export.d.ts.map +1 -0
  63. package/dist/tools/export.js +746 -0
  64. package/dist/tools/export.js.map +1 -0
  65. package/dist/tools/filter.d.ts +26 -0
  66. package/dist/tools/filter.d.ts.map +1 -0
  67. package/dist/tools/filter.js +244 -0
  68. package/dist/tools/filter.js.map +1 -0
  69. package/dist/tools/session.d.ts +26 -0
  70. package/dist/tools/session.d.ts.map +1 -0
  71. package/dist/tools/session.js +228 -0
  72. package/dist/tools/session.js.map +1 -0
  73. package/dist/tools/visualize.d.ts +26 -0
  74. package/dist/tools/visualize.d.ts.map +1 -0
  75. package/dist/tools/visualize.js +942 -0
  76. package/dist/tools/visualize.js.map +1 -0
  77. package/dist/types/index.d.ts +792 -0
  78. package/dist/types/index.d.ts.map +1 -0
  79. package/dist/types/index.js +24 -0
  80. package/dist/types/index.js.map +1 -0
  81. package/package.json +69 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/tools/export.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAarC;;GAEG;AACH,SAAS,SAAS,CAAC,KAAgC;IACjD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACjC,kGAAkG;IAClG,IACE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;QACzB,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;QACzB,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC1B,CAAC;QACD,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAA;IAC/C,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,MAAmB;IAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,eAAe,GACnB,QAAQ,CAAC,eAAe,CAAC,gBAAgB,KAAK,SAAS;QACrD,CAAC,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,eAAe,KAAK,QAAQ,CAAC,eAAe,CAAC,gBAAgB,IAAI;QAC/F,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAA;IAE9C,OAAO;QACL,kBAAkB;QAClB,eAAe,SAAS,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE;QACzF,eAAe,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACpD,YAAY,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACrC,aAAa,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAC5C,EAAE;QACF,yBAAyB;QACzB,cAAc,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE;QAC7D,eAAe,SAAS,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,EAAE;QAC9G,eAAe,SAAS,CAAC,eAAe,IAAI,KAAK,CAAC,EAAE;QACpD,EAAE;QACF,SAAS;QACT,gBAAgB,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE;QAC5C,uBAAuB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE;QAC7C,2BAA2B,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG;QAC7D,4BAA4B,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,GAAG;QAC/D,6BAA6B,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,GAAG;QACjE,EAAE;QACF,cAAc;QACd,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAuB;IAEvB,MAAM,EACJ,OAAO,EACP,eAAe,GAAG,IAAI,EACtB,iBAAiB,GAAG,IAAI,EACxB,MAAM,GAAG,UAAU,EACnB,iBAAiB,EACjB,iBAAiB,GAClB,GAAG,KAAK,CAAA;IAET,IAAI,WAAwB,CAAA;IAE5B,6FAA6F;IAC7F,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,GAAG,gBAAgB,CACrF,OAAO,EACP,iBAAiB,EACjB,iBAAiB,CAClB,CAAA;QACD,WAAW,GAAG,MAAM,QAAQ,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAA;IACnG,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;QAChD,WAAW,GAAG,UAAU,IAAK,OAAuB,CAAA;IACtD,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAA;IACjG,MAAM,OAAO,GAAa,EAAE,CAAA;IAE5B,oCAAoC;IACpC,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,kCAAkC;IAClC,IAAI,iBAAiB,EAAE,CAAC;QACtB,oCAAoC;QACpC,IAAI,OAAiB,CAAA;QACrB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;QAC3D,CAAC;aAAM,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,OAAO,GAAG;gBACR,SAAS;gBACT,UAAU;gBACV,QAAQ;gBACR,YAAY;gBACZ,aAAa;gBACb,SAAS;gBACT,OAAO;gBACP,gBAAgB;gBAChB,aAAa;gBACb,iBAAiB;gBACjB,cAAc;gBACd,gBAAgB;gBAChB,UAAU;aACX,CAAA;QACH,CAAC;aAAM,CAAC;YACN,kBAAkB;YAClB,OAAO,GAAG;gBACR,SAAS;gBACT,UAAU;gBACV,QAAQ;gBACR,YAAY;gBACZ,aAAa;gBACb,SAAS;gBACT,OAAO;gBACP,gBAAgB;gBAChB,aAAa;gBACb,iBAAiB;aAClB,CAAA;QACH,CAAC;QAED,iBAAiB;QACjB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAE9C,qBAAqB;QACrB,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,MAAM,GAAG,GAAa,EAAE,CAAA;YAExB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,GAAG,CAAC,IAAI,CACN,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,OAAO,CACd,CAAA;YACH,CAAC;iBAAM,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjC,GAAG,CAAC,IAAI,CACN,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,QAAQ,IAAI,SAAS,EAC3B,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,aAAa,IAAI,EAAE,EACzB,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,GAAG,CAAC,WAAW,EACrB,KAAK,CAAC,GAAG,CAAC,OAAO,EACjB,KAAK,CAAC,GAAG,CAAC,SAAS,EACnB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CACvB,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,kBAAkB;gBAClB,GAAG,CAAC,IAAI,CACN,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,QAAQ,IAAI,SAAS,EAC3B,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,aAAa,IAAI,EAAE,EACzB,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,GAAG,CAAC,WAAW,CACtB,CAAA;YACH,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAErC,OAAO;QACL,GAAG,EAAE,UAAU;QACf,MAAM;QACN,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,WAAW;QAC5C,eAAe;QACf,iBAAiB;KAClB,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAyB;IAEzB,MAAM,EACJ,OAAO,EACP,aAAa,GAAG,KAAK,EACrB,UAAU,GAAG,IAAI,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,GAAG,KAAK,CAAA;IAET,IAAI,WAAwB,CAAA;IAE5B,6FAA6F;IAC7F,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,GAAG,gBAAgB,CACrF,OAAO,EACP,iBAAiB,EACjB,iBAAiB,CAClB,CAAA;QACD,WAAW,GAAG,MAAM,QAAQ,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAA;IACnG,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;QAChD,WAAW,GAAG,UAAU,IAAK,OAAuB,CAAA;IACtD,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAA;IACjG,6DAA6D;IAC7D,IAAI,IAAS,CAAA;IACb,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAA;IACH,CAAC;IAED,kBAAkB;IAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAA;IAEtC,uBAAuB;IACvB,MAAM,WAAW,GAAG;QAClB,CAAC,6BAA6B,CAAC;QAC/B,EAAE;QACF,CAAC,cAAc,EAAE,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC;QACjD,CAAC,qBAAqB,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;QAClD,CAAC,yBAAyB,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC;QACvE,CAAC,0BAA0B,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC;QACzE,CAAC,2BAA2B,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC;QAC3E,EAAE;QACF,CAAC,oBAAoB,CAAC;KACvB,CAAA;IAED,yBAAyB;IACzB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE;QAC3E,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACpB,WAAW,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAEtC,uBAAuB;IACvB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE;QACvE,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IAEF,4BAA4B;IAC5B,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;QACzB,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACpB,WAAW,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAA;QACtC,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QACxH,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;QACvE,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QACxD,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;IACzD,IAAI,UAAU,EAAE,CAAC;QACf,oBAAoB;QACpB,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAA;IACpD,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;IAE/D,uHAAuH;IACvH,MAAM,cAAc,GAAG;QACrB;YACE,SAAS;YACT,UAAU;YACV,QAAQ;YACR,YAAY;YACZ,aAAa;YACb,SAAS;YACT,OAAO;YACP,gBAAgB;YAChB,aAAa;YACb,iBAAiB;SAClB;KACF,CAAA;IAED,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,cAAc,CAAC,IAAI,CAAC;YAClB,KAAK,CAAC,MAAM;YACZ,KAAK,CAAC,QAAQ,IAAI,SAAS;YAC3B,KAAK,CAAC,MAAM;YACZ,KAAK,CAAC,SAAS;YACf,KAAK,CAAC,WAAW;YACjB,KAAK,CAAC,OAAO;YACb,KAAK,CAAC,KAAK;YACX,KAAK,CAAC,aAAa,IAAI,EAAE;YACzB,KAAK,CAAC,UAAU;YAChB,KAAK,CAAC,GAAG,CAAC,WAAW;SACtB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;IAC/D,IAAI,UAAU,EAAE,CAAC;QACf,oBAAoB;QACpB,eAAe,CAAC,OAAO,CAAC,GAAG;YACzB,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,UAAU;YACvB,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,WAAW;YACxB,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,SAAS;YACtB,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,aAAa;YAC1B,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,cAAc;YAC3B,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,UAAU;YACvB,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,QAAQ;YACrB,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,iBAAiB;YAC9B,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,cAAc;YAC3B,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,kBAAkB;SAChC,CAAA;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,QAAQ,EAAE,eAAe,EAAE,YAAY,CAAC,CAAA;IAErE,gCAAgC;IAChC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAC9E,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAEpD,OAAO;QACL,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,WAAW;QAC5C,aAAa;QACb,UAAU;KACX,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAwB;IAExB,MAAM,EACJ,OAAO,EACP,MAAM,GAAG,IAAI,EACb,UAAU,GAAG,KAAK,EAClB,iBAAiB,EACjB,iBAAiB,GAClB,GAAG,KAAK,CAAA;IAET,IAAI,WAAwB,CAAA;IAE5B,6FAA6F;IAC7F,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,GAAG,gBAAgB,CACrF,OAAO,EACP,iBAAiB,EACjB,iBAAiB,CAClB,CAAA;QACD,WAAW,GAAG,MAAM,QAAQ,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAA;IACnG,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;QAChD,WAAW,GAAG,UAAU,IAAK,OAAuB,CAAA;IACtD,CAAC;IAED,sBAAsB;IACtB,MAAM,UAAU,GAAQ;QACtB,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;QAChD,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;QAC9C,qBAAqB,EAAE,WAAW,CAAC,qBAAqB;QACxD,QAAQ,EAAE,WAAW,CAAC,QAAQ;KAC/B,CAAA;IAED,mCAAmC;IACnC,IAAI,UAAU,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;QACzC,UAAU,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAA;IAChD,CAAC;IAED,gBAAgB;IAChB,MAAM,WAAW,GAAG,MAAM;QACxB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;IAE9B,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,MAAM;QACN,UAAU;QACV,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,WAAW;KAC7C,CAAA;AACH,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI;SACR,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;AAC5B,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,MAAmB,EACnB,QAA4C,EAC5C,aAAsB;IAEtB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAA;IAEvF,mCAAmC;IACnC,IAAI,WAAW,GAAG,EAAE,CAAA;IACpB,IAAI,aAAa,EAAE,CAAC;QAClB,WAAW,GAAG;;;;;;;;;;0BAUQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;;;0BAG/C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;0BAqBjD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;;0BAE7C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;;;;;;;;;;;;;;;;KAgBpE,CAAA;IACH,CAAC;IAED,6BAA6B;IAC7B,MAAM,UAAU,GAAG,MAAM;SACtB,GAAG,CACF,CAAC,KAAK,EAAE,EAAE,CAAC;;YAEL,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;YACxB,UAAU,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC;gCACnB,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;YAC7D,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC;YAC3B,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC;kBACvB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;YAC/B,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;;GAErC,CACE;SACA,IAAI,CAAC,EAAE,CAAC,CAAA;IAEX,4BAA4B;IAC5B,IAAI,WAAW,GAAG,EAAE,CAAA;IACpB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,WAAW,GAAG;;;mCAGiB,OAAO,CAAC,WAAW;0CACZ,OAAO,CAAC,KAAK;;;;;;;;;;;;;;cAczC,MAAM;aACL,GAAG,CACF,CAAC,KAAK,EAAE,EAAE,CAAC;;sBAEL,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;0CACJ,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;sBAC7D,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC;4BACvB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;;aAExC,CACE;aACA,IAAI,CAAC,EAAE,CAAC;;;;KAIlB,CAAA;IACH,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,WAAW,GAAG;;;mCAGiB,OAAO,CAAC,WAAW;0CACZ,OAAO,CAAC,KAAK;8CACT,OAAO,CAAC,cAAc,CAAC,CAAC;+CACvB,OAAO,CAAC,cAAc,CAAC,EAAE;gDACxB,OAAO,CAAC,cAAc,CAAC,GAAG;;QAElE,aAAa,CAAC,CAAC,CAAC;;;;;;;;;OASjB,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;cAqBE,MAAM;aACL,GAAG,CACF,CAAC,KAAK,EAAE,EAAE,CAAC;;sBAEL,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;sBACxB,UAAU,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC;0CACnB,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;sBAC7D,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC;sBAC3B,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC;4BACvB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;4BACzB,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;4BACvB,UAAU,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC;sBAC3C,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;sBAC5B,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;2BAC5B,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;2BAC7B,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;;aAE7C,CACE;aACA,IAAI,CAAC,EAAE,CAAC;;;;KAIlB,CAAA;IACH,CAAC;SAAM,CAAC;QACN,mBAAmB;QACnB,WAAW,GAAG;;;mCAGiB,OAAO,CAAC,WAAW;0CACZ,OAAO,CAAC,KAAK;8CACT,OAAO,CAAC,cAAc,CAAC,CAAC;+CACvB,OAAO,CAAC,cAAc,CAAC,EAAE;gDACxB,OAAO,CAAC,cAAc,CAAC,GAAG;;QAElE,aAAa,CAAC,CAAC,CAAC;;;;;;;;;OASjB,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;cAgBE,UAAU;;;;KAInB,CAAA;IACH,CAAC;IAED,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkJL,WAAW;;;;;;IAMX,QAAQ,CAAC,CAAC,CAAC;;;uCAGwB,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,UAAU,CAAC,OAAO;uCACxD,QAAQ,CAAC,UAAU,CAAC,IAAI;6CAClB,QAAQ,CAAC,GAAG,qBAAqB,QAAQ,CAAC,GAAG;qCACrD,QAAQ,CAAC,SAAS;sCACjB,QAAQ,CAAC,eAAe,CAAC,SAAS;uCACjC,QAAQ,CAAC,eAAe,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,YAAY;;GAEjH,CAAC,CAAC,CAAC,EAAE;IACJ,WAAW;;;GAGZ,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAwB;IAExB,MAAM,EACJ,OAAO,EACP,QAAQ,GAAG,SAAS,EACpB,aAAa,GAAG,IAAI,EACpB,iBAAiB,EACjB,iBAAiB,GAClB,GAAG,KAAK,CAAA;IAET,IAAI,WAAwB,CAAA;IAE5B,6FAA6F;IAC7F,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,GAAG,gBAAgB,CACrF,OAAO,EACP,iBAAiB,EACjB,iBAAiB,CAClB,CAAA;QACD,WAAW,GAAG,MAAM,QAAQ,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAA;IACnG,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;QAChD,WAAW,GAAG,UAAU,IAAK,OAAuB,CAAA;IACtD,CAAC;IAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAA;IAE5E,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,QAAQ;QACR,aAAa;QACb,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,WAAW;KAC7C,CAAA;AACH,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Filtering and search tools for audit results
3
+ * Implements: filter_issues, search_issues
4
+ */
5
+ import type { FilterIssuesInput, FilterIssuesResult, SearchIssuesInput, SearchIssuesResult } from '../types/index.js';
6
+ /**
7
+ * filter_issues - Filter issues from audit results by various criteria
8
+ *
9
+ * Filters issues from audit results based on rule IDs, categories, impact levels,
10
+ * WCAG levels, minimum count, and element types. Supports include/exclude modes.
11
+ *
12
+ * @param input - Filter configuration
13
+ * @returns Filtered audit result object
14
+ */
15
+ export declare function filterIssues(input: FilterIssuesInput): FilterIssuesResult;
16
+ /**
17
+ * search_issues - Search issues by text content, selector, or XPath
18
+ *
19
+ * Searches issues by text content, selector, XPath, or description.
20
+ * Supports case-sensitive and case-insensitive search.
21
+ *
22
+ * @param input - Search configuration
23
+ * @returns Array of matching issues
24
+ */
25
+ export declare function searchIssues(input: SearchIssuesInput): SearchIssuesResult;
26
+ //# sourceMappingURL=filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/tools/filter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAGV,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAEnB,MAAM,mBAAmB,CAAA;AAG1B;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,iBAAiB,GACvB,kBAAkB,CAgLpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,iBAAiB,GACvB,kBAAkB,CAkGpB"}
@@ -0,0 +1,244 @@
1
+ /**
2
+ * Filtering and search tools for audit results
3
+ * Implements: filter_issues, search_issues
4
+ */
5
+ import { normalizeAuditResult } from '../core/normalize-audit-result.js';
6
+ import { wcagLevelMatches } from '../core/result-processor.js';
7
+ /**
8
+ * filter_issues - Filter issues from audit results by various criteria
9
+ *
10
+ * Filters issues from audit results based on rule IDs, categories, impact levels,
11
+ * WCAG levels, minimum count, and element types. Supports include/exclude modes.
12
+ *
13
+ * @param input - Filter configuration
14
+ * @returns Filtered audit result object
15
+ */
16
+ export function filterIssues(input) {
17
+ const { results, filters, mode = 'include', } = input;
18
+ // Normalize: accept result object, JSON string, or MCP wrapper
19
+ const normalized = normalizeAuditResult(results);
20
+ const auditResult = normalized ?? (results != null && typeof results === 'object' ? results : {});
21
+ const prioritizedIssues = Array.isArray(auditResult.prioritizedIssues)
22
+ ? auditResult.prioritizedIssues
23
+ : [];
24
+ let filteredIssues = [...prioritizedIssues];
25
+ // Apply filters
26
+ if (filters.ruleIds && filters.ruleIds.length > 0) {
27
+ if (mode === 'include') {
28
+ filteredIssues = filteredIssues.filter((issue) => filters.ruleIds.includes(issue.ruleId));
29
+ }
30
+ else {
31
+ filteredIssues = filteredIssues.filter((issue) => !filters.ruleIds.includes(issue.ruleId));
32
+ }
33
+ }
34
+ if (filters.categories && filters.categories.length > 0) {
35
+ if (mode === 'include') {
36
+ filteredIssues = filteredIssues.filter((issue) => issue.category && filters.categories.includes(issue.category));
37
+ }
38
+ else {
39
+ filteredIssues = filteredIssues.filter((issue) => !issue.category || !filters.categories.includes(issue.category));
40
+ }
41
+ }
42
+ if (filters.impactLevels && filters.impactLevels.length > 0) {
43
+ if (mode === 'include') {
44
+ filteredIssues = filteredIssues.filter((issue) => filters.impactLevels.includes(issue.impact));
45
+ }
46
+ else {
47
+ filteredIssues = filteredIssues.filter((issue) => !filters.impactLevels.includes(issue.impact));
48
+ }
49
+ }
50
+ if (filters.wcagLevels && filters.wcagLevels.length > 0) {
51
+ const matchesWcag = (issue) => filters.wcagLevels.some((level) => wcagLevelMatches(issue.wcagLevel, level));
52
+ if (mode === 'include') {
53
+ filteredIssues = filteredIssues.filter(matchesWcag);
54
+ }
55
+ else {
56
+ filteredIssues = filteredIssues.filter((issue) => !matchesWcag(issue));
57
+ }
58
+ }
59
+ if (filters.minCount !== undefined) {
60
+ // Group by rule ID and count occurrences
61
+ const ruleCounts = new Map();
62
+ filteredIssues.forEach((issue) => {
63
+ ruleCounts.set(issue.ruleId, (ruleCounts.get(issue.ruleId) || 0) + 1);
64
+ });
65
+ filteredIssues = filteredIssues.filter((issue) => {
66
+ const count = ruleCounts.get(issue.ruleId) || 0;
67
+ return count >= filters.minCount;
68
+ });
69
+ }
70
+ if (filters.elementTypes && filters.elementTypes.length > 0) {
71
+ if (mode === 'include') {
72
+ filteredIssues = filteredIssues.filter((issue) => {
73
+ const elementTag = issue.element.split(/[#.]/)[0].toLowerCase();
74
+ return filters.elementTypes.some((type) => elementTag.includes(type.toLowerCase()));
75
+ });
76
+ }
77
+ else {
78
+ filteredIssues = filteredIssues.filter((issue) => {
79
+ const elementTag = issue.element.split(/[#.]/)[0].toLowerCase();
80
+ return !filters.elementTypes.some((type) => elementTag.includes(type.toLowerCase()));
81
+ });
82
+ }
83
+ }
84
+ // Recalculate summary statistics for filtered results
85
+ const byCategory = {};
86
+ const byImpact = {};
87
+ const wcagCompliance = { A: 0, AA: 0, AAA: 0 };
88
+ filteredIssues.forEach((issue) => {
89
+ // Count by category
90
+ const category = issue.category || 'unknown';
91
+ byCategory[category] = (byCategory[category] || 0) + 1;
92
+ // Count by impact
93
+ byImpact[issue.impact] = (byImpact[issue.impact] || 0) + 1;
94
+ });
95
+ // Calculate WCAG compliance (simplified - based on issues found)
96
+ const totalIssues = filteredIssues.length;
97
+ const levelA = filteredIssues.filter((i) => wcagLevelMatches(i.wcagLevel, 'A')).length;
98
+ const levelAA = filteredIssues.filter((i) => wcagLevelMatches(i.wcagLevel, 'AA')).length;
99
+ const levelAAA = filteredIssues.filter((i) => wcagLevelMatches(i.wcagLevel, 'AAA')).length;
100
+ wcagCompliance.A = totalIssues > 0
101
+ ? Math.max(0, Math.round(100 - (levelA / totalIssues) * 100))
102
+ : 100;
103
+ wcagCompliance.AA = totalIssues > 0
104
+ ? Math.max(0, Math.round(100 - (levelAA / totalIssues) * 100))
105
+ : 100;
106
+ wcagCompliance.AAA = totalIssues > 0
107
+ ? Math.max(0, Math.round(100 - (levelAAA / totalIssues) * 100))
108
+ : 100;
109
+ // Calculate score (simplified calculation)
110
+ let score = 100;
111
+ filteredIssues.forEach((issue) => {
112
+ switch (issue.impact) {
113
+ case 'violation':
114
+ score -= 5;
115
+ break;
116
+ case 'needs-review':
117
+ score -= 3;
118
+ break;
119
+ case 'recommendation':
120
+ score -= 1;
121
+ break;
122
+ case 'minor':
123
+ score -= 0.5;
124
+ break;
125
+ }
126
+ });
127
+ score = Math.max(0, Math.round(score));
128
+ const quickWins = Array.isArray(auditResult.quickWins) ? auditResult.quickWins : [];
129
+ const criticalBlockers = Array.isArray(auditResult.criticalBlockers) ? auditResult.criticalBlockers : [];
130
+ const originalTotalIssues = auditResult.summary?.totalIssues ?? prioritizedIssues.length;
131
+ // Create filtered audit result
132
+ const filteredResult = {
133
+ ...auditResult,
134
+ summary: {
135
+ totalIssues: filteredIssues.length,
136
+ score,
137
+ wcagCompliance,
138
+ byCategory,
139
+ byImpact,
140
+ },
141
+ prioritizedIssues: filteredIssues,
142
+ quickWins: quickWins.filter((qw) => filteredIssues.some((issue) => issue.ruleId === qw.ruleId)),
143
+ criticalBlockers: criticalBlockers.filter((cb) => filteredIssues.some((issue) => issue.ruleId === cb.ruleId)),
144
+ };
145
+ return {
146
+ filtered: filteredResult,
147
+ originalCount: originalTotalIssues,
148
+ filteredCount: filteredIssues.length,
149
+ filtersApplied: filters,
150
+ mode,
151
+ };
152
+ }
153
+ /**
154
+ * search_issues - Search issues by text content, selector, or XPath
155
+ *
156
+ * Searches issues by text content, selector, XPath, or description.
157
+ * Supports case-sensitive and case-insensitive search.
158
+ *
159
+ * @param input - Search configuration
160
+ * @returns Array of matching issues
161
+ */
162
+ export function searchIssues(input) {
163
+ const { results, query, fields = ['all'], caseSensitive = false, } = input;
164
+ if (!query || query.trim().length === 0) {
165
+ return {
166
+ matches: [],
167
+ query,
168
+ totalMatches: 0,
169
+ fields,
170
+ };
171
+ }
172
+ // Normalize: accept result object, JSON string, or MCP wrapper
173
+ const normalized = normalizeAuditResult(results);
174
+ const auditResult = normalized ?? results;
175
+ const issuesToSearch = Array.isArray(auditResult?.prioritizedIssues)
176
+ ? auditResult.prioritizedIssues
177
+ : [];
178
+ const searchQuery = caseSensitive ? query : query.toLowerCase();
179
+ const matches = [];
180
+ issuesToSearch.forEach((issue) => {
181
+ let found = false;
182
+ // Search in specified fields
183
+ if (fields.includes('all') || fields.includes('description')) {
184
+ const description = caseSensitive
185
+ ? issue.description
186
+ : issue.description.toLowerCase();
187
+ if (description.includes(searchQuery)) {
188
+ found = true;
189
+ }
190
+ }
191
+ if (fields.includes('all') || fields.includes('element')) {
192
+ const element = caseSensitive ? issue.element : issue.element.toLowerCase();
193
+ if (element.includes(searchQuery)) {
194
+ found = true;
195
+ }
196
+ }
197
+ if (fields.includes('all') || fields.includes('xpath')) {
198
+ const xpath = caseSensitive ? issue.xpath : issue.xpath.toLowerCase();
199
+ if (xpath.includes(searchQuery)) {
200
+ found = true;
201
+ }
202
+ }
203
+ if (fields.includes('all') || fields.includes('selector')) {
204
+ // Use xpath as selector since selector field doesn't exist in PrioritizedIssue
205
+ const selector = issue.xpath || '';
206
+ const selectorLower = caseSensitive ? selector : selector.toLowerCase();
207
+ if (selectorLower.includes(searchQuery)) {
208
+ found = true;
209
+ }
210
+ }
211
+ if (fields.includes('all') || fields.includes('ruleId')) {
212
+ const ruleId = caseSensitive ? issue.ruleId : issue.ruleId.toLowerCase();
213
+ if (ruleId.includes(searchQuery)) {
214
+ found = true;
215
+ }
216
+ }
217
+ if (fields.includes('all') || fields.includes('userImpact')) {
218
+ const userImpact = caseSensitive
219
+ ? issue.userImpact
220
+ : issue.userImpact.toLowerCase();
221
+ if (userImpact.includes(searchQuery)) {
222
+ found = true;
223
+ }
224
+ }
225
+ if (fields.includes('all') || fields.includes('fix')) {
226
+ const fixExplanation = caseSensitive
227
+ ? issue.fix.explanation
228
+ : issue.fix.explanation.toLowerCase();
229
+ if (fixExplanation.includes(searchQuery)) {
230
+ found = true;
231
+ }
232
+ }
233
+ if (found) {
234
+ matches.push(issue);
235
+ }
236
+ });
237
+ return {
238
+ matches,
239
+ query,
240
+ totalMatches: matches.length,
241
+ fields,
242
+ };
243
+ }
244
+ //# sourceMappingURL=filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/tools/filter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Session management tools
3
+ * Implements: create_session, audit_with_session
4
+ */
5
+ import type { SessionConfig, SessionResult, AuditWithSessionInput, AuditResult } from '../types/index.js';
6
+ /**
7
+ * create_session - Create reusable authenticated session
8
+ *
9
+ * Creates an authenticated browser session by logging into a website.
10
+ * The session can be reused for multiple audits of protected pages.
11
+ *
12
+ * @param config - Session configuration including domain, credentials, and optional login selectors
13
+ * @returns Session information including sessionId, expiration time, and test URL
14
+ */
15
+ export declare function createSession(config: SessionConfig): Promise<SessionResult>;
16
+ /**
17
+ * audit_with_session - Run audit using existing authenticated session
18
+ *
19
+ * Runs an accessibility audit on a URL using an existing authenticated session.
20
+ * This allows testing protected pages without re-authenticating for each audit.
21
+ *
22
+ * @param input - Audit configuration with session ID
23
+ * @returns Structured audit results with prioritized issues, quick wins, and conversational summary
24
+ */
25
+ export declare function auditWithSession(input: AuditWithSessionInput): Promise<AuditResult>;
26
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,WAAW,EAGZ,MAAM,mBAAmB,CAAA;AAe1B;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,aAAa,CAAC,CAwGxB;AAwBD;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,WAAW,CAAC,CAgItB"}
@@ -0,0 +1,228 @@
1
+ /**
2
+ * Session management tools
3
+ * Implements: create_session, audit_with_session
4
+ */
5
+ import { launchChromium } from '../core/playwright-bootstrap.js';
6
+ import { SessionManager } from '../core/session-manager.js';
7
+ import { AccessibilityRunner } from '../core/accessibility-runner.js';
8
+ import { ResultProcessor, getWcagLabelFromTags } from '../core/result-processor.js';
9
+ import { retryWithBackoff, handleErrorGracefully, formatErrorMessage, } from '../core/error-handler.js';
10
+ // Global session manager instance (singleton)
11
+ let sessionManager = null;
12
+ /**
13
+ * Get or create the global session manager instance
14
+ */
15
+ function getSessionManager() {
16
+ if (!sessionManager) {
17
+ sessionManager = new SessionManager();
18
+ }
19
+ return sessionManager;
20
+ }
21
+ /**
22
+ * create_session - Create reusable authenticated session
23
+ *
24
+ * Creates an authenticated browser session by logging into a website.
25
+ * The session can be reused for multiple audits of protected pages.
26
+ *
27
+ * @param config - Session configuration including domain, credentials, and optional login selectors
28
+ * @returns Session information including sessionId, expiration time, and test URL
29
+ */
30
+ export async function createSession(config) {
31
+ const { domain, username, password } = config;
32
+ // Validate required fields
33
+ if (!domain) {
34
+ throw new Error('Domain is required');
35
+ }
36
+ if (!username) {
37
+ throw new Error('Username is required');
38
+ }
39
+ if (!password) {
40
+ throw new Error('Password is required');
41
+ }
42
+ // Normalize domain (ensure it has protocol)
43
+ const normalizedDomain = domain.startsWith('http://') || domain.startsWith('https://')
44
+ ? domain
45
+ : `https://${domain}`;
46
+ let browser = null;
47
+ let context = null;
48
+ try {
49
+ // Launch browser with retry logic
50
+ console.log(`Launching browser for session creation: ${normalizedDomain}`);
51
+ browser = await retryWithBackoff(async () => {
52
+ return await launchChromium({
53
+ headless: true,
54
+ args: [
55
+ '--disable-dev-shm-usage',
56
+ '--no-sandbox',
57
+ '--disable-setuid-sandbox',
58
+ ],
59
+ });
60
+ }, {
61
+ maxRetries: 2,
62
+ initialDelay: 1000,
63
+ });
64
+ // Create browser context (this will store cookies/auth state)
65
+ context = await browser.newContext({
66
+ userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
67
+ });
68
+ // Set extra HTTP headers
69
+ await context.setExtraHTTPHeaders({
70
+ 'Accept-Language': 'en-US,en;q=0.9',
71
+ });
72
+ // Get session manager
73
+ const manager = getSessionManager();
74
+ // Create session with normalized domain and retry logic
75
+ const sessionConfig = {
76
+ ...config,
77
+ domain: normalizedDomain,
78
+ };
79
+ const sessionResult = await retryWithBackoff(async () => {
80
+ return await manager.createSession(context, sessionConfig);
81
+ }, {
82
+ maxRetries: 1, // Only retry once for session creation
83
+ initialDelay: 2000,
84
+ });
85
+ console.log(`Session created successfully: ${sessionResult.sessionId} (expires: ${sessionResult.expiresAt})`);
86
+ // Note: We don't close the browser/context here because the session manager
87
+ // needs to keep the context alive for future audits. The context will be
88
+ // cleaned up when the session expires or is invalidated.
89
+ return sessionResult;
90
+ }
91
+ catch (error) {
92
+ const errorInfo = handleErrorGracefully(error, `create_session: ${normalizedDomain}`);
93
+ console.error(`Error creating session: ${formatErrorMessage(error, `create_session: ${normalizedDomain}`)}`);
94
+ // Cleanup on error
95
+ if (context) {
96
+ await context.close().catch((err) => {
97
+ console.warn(`Warning: Error closing context: ${err}`);
98
+ });
99
+ }
100
+ if (browser) {
101
+ await browser.close().catch((err) => {
102
+ console.warn(`Warning: Error closing browser: ${err}`);
103
+ });
104
+ }
105
+ throw new Error(errorInfo.error);
106
+ }
107
+ }
108
+ /**
109
+ * Normalize URL - handles relative URLs and adds domain if needed
110
+ */
111
+ function normalizeUrl(url, domain) {
112
+ // If URL is already absolute, return as-is
113
+ if (url.startsWith('http://') || url.startsWith('https://')) {
114
+ return url;
115
+ }
116
+ // If domain is provided, construct full URL
117
+ if (domain) {
118
+ const baseDomain = domain.replace(/\/$/, ''); // Remove trailing slash
119
+ const path = url.startsWith('/') ? url : `/${url}`;
120
+ return `${baseDomain}${path}`;
121
+ }
122
+ // If no domain and URL is relative, throw error
123
+ throw new Error('URL must be absolute (start with http:// or https://) or domain must be provided for relative URLs');
124
+ }
125
+ /**
126
+ * audit_with_session - Run audit using existing authenticated session
127
+ *
128
+ * Runs an accessibility audit on a URL using an existing authenticated session.
129
+ * This allows testing protected pages without re-authenticating for each audit.
130
+ *
131
+ * @param input - Audit configuration with session ID
132
+ * @returns Structured audit results with prioritized issues, quick wins, and conversational summary
133
+ */
134
+ export async function auditWithSession(input) {
135
+ const { sessionId, url, domain, tags } = input;
136
+ // Validate required fields
137
+ if (!sessionId) {
138
+ throw new Error('Session ID is required');
139
+ }
140
+ if (!url) {
141
+ throw new Error('URL is required');
142
+ }
143
+ // Get session manager
144
+ const manager = getSessionManager();
145
+ // Validate session exists and is active
146
+ if (!manager.validateSession(sessionId)) {
147
+ throw new Error(`Session ${sessionId} is not valid or has expired. Please create a new session.`);
148
+ }
149
+ // Get browser context from session
150
+ const context = manager.getContext(sessionId);
151
+ if (!context) {
152
+ throw new Error(`Failed to get browser context for session ${sessionId}`);
153
+ }
154
+ // Get session info to determine domain if not provided
155
+ const session = manager.getSession(sessionId);
156
+ if (!session) {
157
+ throw new Error(`Session ${sessionId} not found`);
158
+ }
159
+ // Use provided domain or fall back to session domain
160
+ const auditDomain = domain || session.domain;
161
+ // Normalize URL
162
+ const fullUrl = normalizeUrl(url, auditDomain);
163
+ // Validate tags if provided
164
+ if (tags && tags.length > 0) {
165
+ const validTags = [
166
+ 'wcag2a',
167
+ 'wcag2aa',
168
+ 'wcag2aaa',
169
+ 'wcag21a',
170
+ 'wcag21aa',
171
+ 'wcag21aaa',
172
+ 'best-practice',
173
+ ];
174
+ const invalidTags = tags.filter((tag) => !validTags.includes(tag));
175
+ if (invalidTags.length > 0) {
176
+ throw new Error(`Invalid tags: ${invalidTags.join(', ')}. Valid tags are: ${validTags.join(', ')}`);
177
+ }
178
+ }
179
+ let page = null;
180
+ try {
181
+ // Create a new page from the authenticated context
182
+ // This page will have all the cookies and authentication state
183
+ console.log(`Creating authenticated page for audit: ${fullUrl}`);
184
+ page = await context.newPage();
185
+ // Set extra HTTP headers (same as in createSession)
186
+ await page.setExtraHTTPHeaders({
187
+ 'Accept-Language': 'en-US,en;q=0.9',
188
+ });
189
+ // Initialize AccessibilityRunner
190
+ const accessibilityRunner = new AccessibilityRunner();
191
+ // Run accessibility test with default wait strategy and timeout
192
+ // Using authenticated page context with retry logic
193
+ console.log(`Running accessibility test on authenticated page: ${fullUrl}`);
194
+ const accessibilityResult = await retryWithBackoff(async () => {
195
+ return await accessibilityRunner.run(page, {
196
+ url: fullUrl,
197
+ waitForLoad: 'networkidle',
198
+ timeout: 30000, // 30 seconds
199
+ tags: tags,
200
+ });
201
+ }, {
202
+ maxRetries: 2,
203
+ initialDelay: 2000,
204
+ });
205
+ // Process results
206
+ const resultProcessor = new ResultProcessor();
207
+ // Use filtered results if tags were applied, otherwise use original
208
+ const resultsToProcess = accessibilityResult.filteredResults || accessibilityResult.accessibilityResults;
209
+ const auditWcagLabel = getWcagLabelFromTags((tags || []));
210
+ const auditResult = resultProcessor.process(resultsToProcess, accessibilityResult.appliedFilters, { auditWcagLabel: auditWcagLabel !== 'N/A' ? auditWcagLabel : undefined });
211
+ console.log(`Authenticated audit complete: ${auditResult.summary.totalIssues} issues found, score: ${auditResult.summary.score}/100`);
212
+ return auditResult;
213
+ }
214
+ catch (error) {
215
+ const errorInfo = handleErrorGracefully(error, `audit_with_session: ${fullUrl}`);
216
+ console.error(`Error during authenticated audit: ${formatErrorMessage(error, `audit_with_session: ${fullUrl}`)}`);
217
+ throw new Error(errorInfo.error);
218
+ }
219
+ finally {
220
+ // Cleanup: close the page but keep the context alive for future audits
221
+ if (page) {
222
+ await page.close().catch((err) => {
223
+ console.warn(`Warning: Error closing page: ${err}`);
224
+ });
225
+ }
226
+ }
227
+ }
228
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Visualization & dashboard tools
3
+ * Implements: generate_dashboard, generate_summary_report
4
+ */
5
+ import type { GenerateDashboardInput, GenerateDashboardResult, GenerateSummaryReportInput, GenerateSummaryReportResult } from '../types/index.js';
6
+ /**
7
+ * generate_dashboard - Create visual dashboard summary of audit results
8
+ *
9
+ * Generates a visual dashboard with key metrics, charts, and summaries
10
+ * in various formats (text, markdown, HTML, JSON).
11
+ *
12
+ * @param input - Dashboard input (results or URL/array, format, includeCharts)
13
+ * @returns Formatted dashboard with key metrics, charts, and summaries
14
+ */
15
+ export declare function generateDashboard(input: GenerateDashboardInput): Promise<GenerateDashboardResult>;
16
+ /**
17
+ * generate_summary_report - Generate executive summary report
18
+ *
19
+ * Generates an executive summary report with key findings and recommendations
20
+ * in various formats (text, markdown, HTML) and detail levels.
21
+ *
22
+ * @param input - Summary report input (results or URL/array, format, level)
23
+ * @returns Summary report with key findings and recommendations
24
+ */
25
+ export declare function generateSummaryReport(input: GenerateSummaryReportInput): Promise<GenerateSummaryReportResult>;
26
+ //# sourceMappingURL=visualize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visualize.d.ts","sourceRoot":"","sources":["../../src/tools/visualize.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAEV,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,mBAAmB,CAAA;AA+lB1B;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CAoFlC;AAgaD;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,2BAA2B,CAAC,CA+DtC"}