cbrowser 19.2.2 → 19.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/analysis/accessibility-empathy.d.ts +48 -1
  2. package/dist/analysis/accessibility-empathy.d.ts.map +1 -1
  3. package/dist/analysis/accessibility-empathy.js +766 -92
  4. package/dist/analysis/accessibility-empathy.js.map +1 -1
  5. package/dist/analysis/agent-ready-audit.d.ts +28 -0
  6. package/dist/analysis/agent-ready-audit.d.ts.map +1 -1
  7. package/dist/analysis/agent-ready-audit.js +218 -21
  8. package/dist/analysis/agent-ready-audit.js.map +1 -1
  9. package/dist/analysis/bug-hunter.d.ts +45 -0
  10. package/dist/analysis/bug-hunter.d.ts.map +1 -1
  11. package/dist/analysis/bug-hunter.js +211 -64
  12. package/dist/analysis/bug-hunter.js.map +1 -1
  13. package/dist/analysis/competitive-benchmark.d.ts.map +1 -1
  14. package/dist/analysis/competitive-benchmark.js +4 -2
  15. package/dist/analysis/competitive-benchmark.js.map +1 -1
  16. package/dist/browser/session-manager.d.ts.map +1 -1
  17. package/dist/browser/session-manager.js +4 -2
  18. package/dist/browser/session-manager.js.map +1 -1
  19. package/dist/browser.d.ts +11 -2
  20. package/dist/browser.d.ts.map +1 -1
  21. package/dist/browser.js +64 -15
  22. package/dist/browser.js.map +1 -1
  23. package/dist/cli.js +2 -1
  24. package/dist/cli.js.map +1 -1
  25. package/dist/index.d.ts +1 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +1 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/mcp-server.d.ts.map +1 -1
  30. package/dist/mcp-server.js +19 -19
  31. package/dist/mcp-server.js.map +1 -1
  32. package/dist/mcp-tools/base/artifact-tools.d.ts.map +1 -1
  33. package/dist/mcp-tools/base/artifact-tools.js +29 -2
  34. package/dist/mcp-tools/base/artifact-tools.js.map +1 -1
  35. package/dist/mcp-tools/base/audit-tools.d.ts.map +1 -1
  36. package/dist/mcp-tools/base/audit-tools.js +114 -58
  37. package/dist/mcp-tools/base/audit-tools.js.map +1 -1
  38. package/dist/mcp-tools/base/browser-state-tools.d.ts.map +1 -1
  39. package/dist/mcp-tools/base/browser-state-tools.js +3 -2
  40. package/dist/mcp-tools/base/browser-state-tools.js.map +1 -1
  41. package/dist/mcp-tools/base/bug-analysis-tools.d.ts.map +1 -1
  42. package/dist/mcp-tools/base/bug-analysis-tools.js +4 -67
  43. package/dist/mcp-tools/base/bug-analysis-tools.js.map +1 -1
  44. package/dist/mcp-tools/base/index.js +2 -2
  45. package/dist/mcp-tools/base/index.js.map +1 -1
  46. package/dist/mcp-tools/base/interaction-tools.d.ts.map +1 -1
  47. package/dist/mcp-tools/base/interaction-tools.js +4 -0
  48. package/dist/mcp-tools/base/interaction-tools.js.map +1 -1
  49. package/dist/mcp-tools/base/visual-testing-tools.d.ts +2 -2
  50. package/dist/mcp-tools/base/visual-testing-tools.d.ts.map +1 -1
  51. package/dist/mcp-tools/base/visual-testing-tools.js +156 -38
  52. package/dist/mcp-tools/base/visual-testing-tools.js.map +1 -1
  53. package/dist/mcp-tools/security-layer.d.ts +33 -0
  54. package/dist/mcp-tools/security-layer.d.ts.map +1 -1
  55. package/dist/mcp-tools/security-layer.js +191 -1
  56. package/dist/mcp-tools/security-layer.js.map +1 -1
  57. package/dist/navigation-errors.d.ts +21 -0
  58. package/dist/navigation-errors.d.ts.map +1 -0
  59. package/dist/navigation-errors.js +119 -0
  60. package/dist/navigation-errors.js.map +1 -0
  61. package/dist/remediation/llms-txt.d.ts.map +1 -1
  62. package/dist/remediation/llms-txt.js +3 -1
  63. package/dist/remediation/llms-txt.js.map +1 -1
  64. package/dist/remediation/structured-data.d.ts.map +1 -1
  65. package/dist/remediation/structured-data.js +3 -1
  66. package/dist/remediation/structured-data.js.map +1 -1
  67. package/dist/security/script-gate.d.ts +7 -0
  68. package/dist/security/script-gate.d.ts.map +1 -1
  69. package/dist/security/script-gate.js +7 -0
  70. package/dist/security/script-gate.js.map +1 -1
  71. package/dist/testing/flaky-detection.js +1 -1
  72. package/dist/testing/flaky-detection.js.map +1 -1
  73. package/dist/testing/nl-test-suite.d.ts +12 -0
  74. package/dist/testing/nl-test-suite.d.ts.map +1 -1
  75. package/dist/testing/nl-test-suite.js +92 -14
  76. package/dist/testing/nl-test-suite.js.map +1 -1
  77. package/dist/testing/test-repair.js +3 -3
  78. package/dist/testing/test-repair.js.map +1 -1
  79. package/dist/types.d.ts +51 -0
  80. package/dist/types.d.ts.map +1 -1
  81. package/dist/types.js.map +1 -1
  82. package/dist/visual/attention-transport.d.ts +89 -11
  83. package/dist/visual/attention-transport.d.ts.map +1 -1
  84. package/dist/visual/attention-transport.js +148 -53
  85. package/dist/visual/attention-transport.js.map +1 -1
  86. package/dist/visual/cross-browser.d.ts.map +1 -1
  87. package/dist/visual/cross-browser.js +3 -1
  88. package/dist/visual/cross-browser.js.map +1 -1
  89. package/dist/visual/distance-metrics.js +6 -6
  90. package/dist/visual/distance-metrics.js.map +1 -1
  91. package/dist/visual/perceptual-transport.d.ts +14 -3
  92. package/dist/visual/perceptual-transport.d.ts.map +1 -1
  93. package/dist/visual/perceptual-transport.js +51 -9
  94. package/dist/visual/perceptual-transport.js.map +1 -1
  95. package/package.json +1 -1
@@ -3,7 +3,38 @@
3
3
  * Copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com
4
4
  * Learn more at https://cbrowser.ai - MIT License
5
5
  */
6
- import type { EmpathyAuditResult, EmpathyAuditOptions } from "../types.js";
6
+ import type { EmpathyAuditResult, EmpathyAuditOptions, AccessibilityBarrier, AccessibilityBarrierSeverity } from "../types.js";
7
+ /**
8
+ * Move findings ABOVE the audited WCAG level out of the scored set.
9
+ *
10
+ * Policy (Alexa, 2026-10-09): an above-level finding is advisory. It carries
11
+ * `aboveAuditLevel`, is reported in a separate `advisories` list, takes no
12
+ * score deduction, is never escalated by persona weight, and is never
13
+ * "critical".
14
+ *
15
+ * Before this an AAA-only 40x40 target in an AA audit was the largest single
16
+ * deduction on the reported page and showed severityForPersona "critical":
17
+ * adjustSeverityForLevel capped it at minor, and weightedSeverity -- which has
18
+ * no idea what level is being audited -- moved it up two steps at weight 3.0.
19
+ *
20
+ * Applied once, after every detector, for the same reason the viewport filter
21
+ * is: one rule in one place cannot be forgotten by a twelfth detector.
22
+ *
23
+ * A barrier with no KNOWN criterion is not a WCAG finding (navigation item
24
+ * count, the spacing heuristic before it related to 2.5.8) and so is not above
25
+ * any level; it stays scored. getBarrierWcagLevel treats [] as AAA for
26
+ * severity purposes, which is why it is not reused for this question as-is.
27
+ */
28
+ export declare function splitAboveAuditLevel<T extends {
29
+ wcagCriteria?: string[];
30
+ severity: AccessibilityBarrierSeverity;
31
+ }>(barriers: T[], auditLevel: "A" | "AA" | "AAA"): {
32
+ scored: T[];
33
+ advisories: Array<T & {
34
+ aboveAuditLevel: true;
35
+ wcagLevelOfFinding: "A" | "AA" | "AAA";
36
+ }>;
37
+ };
7
38
  /**
8
39
  * Drop barriers outside the viewport when the audit is viewport-scoped.
9
40
  *
@@ -49,6 +80,22 @@ export declare function filterBarriersToViewport<T extends {
49
80
  };
50
81
  export declare function formatEmpathyAuditReport(result: EmpathyAuditResult): string;
51
82
  export declare function generateEmpathyAuditHtmlReport(result: EmpathyAuditResult): string;
83
+ /** How many elements one barrier stands for: its member count, else 1. */
84
+ export declare function barrierElementCount(b: {
85
+ affectedElementCount?: number;
86
+ }): number;
87
+ /**
88
+ * Affected elements in a barrier set, counted exactly as topBarriers counts
89
+ * them: the sum of the grouped entries' affectedElementCount.
90
+ *
91
+ * resultsSummary.affectedElements was `barriers.length` -- barrier RECORDS,
92
+ * not elements -- while each topBarriers entry counted distinct element
93
+ * STRINGS, so "button", "animation" and "5 element groups" each collapsed many
94
+ * elements into one and a group barrier counted 1. The two numbers on the
95
+ * same page could not be reconciled. One function now produces both. (B7,
96
+ * 2026-10-09)
97
+ */
98
+ export declare function countAffectedElements(barriers: AccessibilityBarrier[]): number;
52
99
  /**
53
100
  * Disability shorthand -> roster name. One table for every tool now lives in
54
101
  * src/personas.ts (PERSONA_ALIASES); kept under this name for existing
@@ -1 +1 @@
1
- {"version":3,"file":"accessibility-empathy.d.ts","sourceRoot":"","sources":["../../src/analysis/accessibility-empathy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmCH,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EASpB,MAAM,aAAa,CAAC;AAuKrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS;IAAE,IAAI,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EACnH,QAAQ,EAAE,CAAC,EAAE,EACb,QAAQ,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAWhC;AAwjED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAmF3E;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAkTjF;AAqJD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAmB,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,KAAK,CAAC;IAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,EAC7E,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAChC,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,EACnC,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,KAAK,GAC5B,MAAM,EAAE,CAkBV;AAED,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAsW7B"}
1
+ {"version":3,"file":"accessibility-empathy.d.ts","sourceRoot":"","sources":["../../src/analysis/accessibility-empathy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoCH,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EAEnB,oBAAoB,EAEpB,4BAA4B,EAK7B,MAAM,aAAa,CAAC;AA6OrB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS;IAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,4BAA4B,CAAA;CAAE,EAChH,QAAQ,EAAE,CAAC,EAAE,EACb,UAAU,EAAE,GAAG,GAAG,IAAI,GAAG,KAAK,GAC7B;IAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAAC,UAAU,EAAE,KAAK,CAAC,CAAC,GAAG;QAAE,eAAe,EAAE,IAAI,CAAC;QAAC,kBAAkB,EAAE,GAAG,GAAG,IAAI,GAAG,KAAK,CAAA;KAAE,CAAC,CAAA;CAAE,CAmB3G;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS;IAAE,IAAI,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EACnH,QAAQ,EAAE,CAAC,EAAE,EACb,QAAQ,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAWhC;AAmgFD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAuG3E;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CA2UjF;AAsBD,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,CAAC,EAAE;IAAE,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAGhF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAE9E;AAmKD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAmB,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,KAAK,CAAC;IAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,EAC7E,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAChC,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,EACnC,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,KAAK,GAC5B,MAAM,EAAE,CAkBV;AAED,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAsX7B"}