@setsquare/review-sdk 0.0.1

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 (181) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +57 -0
  3. package/README.md +338 -0
  4. package/THIRD-PARTY-NOTICES.md +61 -0
  5. package/dist/autoscan.d.ts +25 -0
  6. package/dist/autoscan.d.ts.map +1 -0
  7. package/dist/autoscan.js +332 -0
  8. package/dist/autoscan.js.map +1 -0
  9. package/dist/axe.d.ts +96 -0
  10. package/dist/axe.d.ts.map +1 -0
  11. package/dist/axe.js +210 -0
  12. package/dist/axe.js.map +1 -0
  13. package/dist/bin/setsquare.d.ts +3 -0
  14. package/dist/bin/setsquare.d.ts.map +1 -0
  15. package/dist/bin/setsquare.js +21 -0
  16. package/dist/bin/setsquare.js.map +1 -0
  17. package/dist/brand.d.ts +84 -0
  18. package/dist/brand.d.ts.map +1 -0
  19. package/dist/brand.js +335 -0
  20. package/dist/brand.js.map +1 -0
  21. package/dist/checks/dynamic.d.ts +57 -0
  22. package/dist/checks/dynamic.d.ts.map +1 -0
  23. package/dist/checks/dynamic.js +184 -0
  24. package/dist/checks/dynamic.js.map +1 -0
  25. package/dist/checks/rule-pack.d.ts +34 -0
  26. package/dist/checks/rule-pack.d.ts.map +1 -0
  27. package/dist/checks/rule-pack.js +270 -0
  28. package/dist/checks/rule-pack.js.map +1 -0
  29. package/dist/checks/versions.d.ts +28 -0
  30. package/dist/checks/versions.d.ts.map +1 -0
  31. package/dist/checks/versions.js +45 -0
  32. package/dist/checks/versions.js.map +1 -0
  33. package/dist/ci.d.ts +37 -0
  34. package/dist/ci.d.ts.map +1 -0
  35. package/dist/ci.js +199 -0
  36. package/dist/ci.js.map +1 -0
  37. package/dist/contract.d.ts +334 -0
  38. package/dist/contract.d.ts.map +1 -0
  39. package/dist/contract.js +35 -0
  40. package/dist/contract.js.map +1 -0
  41. package/dist/dedupe.d.ts +79 -0
  42. package/dist/dedupe.d.ts.map +1 -0
  43. package/dist/dedupe.js +102 -0
  44. package/dist/dedupe.js.map +1 -0
  45. package/dist/document.d.ts +29 -0
  46. package/dist/document.d.ts.map +1 -0
  47. package/dist/document.js +94 -0
  48. package/dist/document.js.map +1 -0
  49. package/dist/envelope.d.ts +124 -0
  50. package/dist/envelope.d.ts.map +1 -0
  51. package/dist/envelope.js +337 -0
  52. package/dist/envelope.js.map +1 -0
  53. package/dist/escape.d.ts +14 -0
  54. package/dist/escape.d.ts.map +1 -0
  55. package/dist/escape.js +20 -0
  56. package/dist/escape.js.map +1 -0
  57. package/dist/findings.d.ts +47 -0
  58. package/dist/findings.d.ts.map +1 -0
  59. package/dist/findings.js +229 -0
  60. package/dist/findings.js.map +1 -0
  61. package/dist/fixture.d.ts +7 -0
  62. package/dist/fixture.d.ts.map +1 -0
  63. package/dist/fixture.js +237 -0
  64. package/dist/fixture.js.map +1 -0
  65. package/dist/group.d.ts +214 -0
  66. package/dist/group.d.ts.map +1 -0
  67. package/dist/group.js +709 -0
  68. package/dist/group.js.map +1 -0
  69. package/dist/html-report.d.ts +68 -0
  70. package/dist/html-report.d.ts.map +1 -0
  71. package/dist/html-report.js +649 -0
  72. package/dist/html-report.js.map +1 -0
  73. package/dist/human.d.ts +65 -0
  74. package/dist/human.d.ts.map +1 -0
  75. package/dist/human.js +111 -0
  76. package/dist/human.js.map +1 -0
  77. package/dist/index.d.ts +34 -0
  78. package/dist/index.d.ts.map +1 -0
  79. package/dist/index.js +33 -0
  80. package/dist/index.js.map +1 -0
  81. package/dist/infer.d.ts +65 -0
  82. package/dist/infer.d.ts.map +1 -0
  83. package/dist/infer.js +67 -0
  84. package/dist/infer.js.map +1 -0
  85. package/dist/insights.d.ts +140 -0
  86. package/dist/insights.d.ts.map +1 -0
  87. package/dist/insights.js +483 -0
  88. package/dist/insights.js.map +1 -0
  89. package/dist/install.d.ts +8 -0
  90. package/dist/install.d.ts.map +1 -0
  91. package/dist/install.js +114 -0
  92. package/dist/install.js.map +1 -0
  93. package/dist/links.d.ts +45 -0
  94. package/dist/links.d.ts.map +1 -0
  95. package/dist/links.js +45 -0
  96. package/dist/links.js.map +1 -0
  97. package/dist/mask.d.ts +85 -0
  98. package/dist/mask.d.ts.map +1 -0
  99. package/dist/mask.js +98 -0
  100. package/dist/mask.js.map +1 -0
  101. package/dist/observe.d.ts +51 -0
  102. package/dist/observe.d.ts.map +1 -0
  103. package/dist/observe.js +233 -0
  104. package/dist/observe.js.map +1 -0
  105. package/dist/options.d.ts +249 -0
  106. package/dist/options.d.ts.map +1 -0
  107. package/dist/options.js +185 -0
  108. package/dist/options.js.map +1 -0
  109. package/dist/output.d.ts +113 -0
  110. package/dist/output.d.ts.map +1 -0
  111. package/dist/output.js +231 -0
  112. package/dist/output.js.map +1 -0
  113. package/dist/perf.d.ts +11 -0
  114. package/dist/perf.d.ts.map +1 -0
  115. package/dist/perf.js +150 -0
  116. package/dist/perf.js.map +1 -0
  117. package/dist/reading-level.d.ts +73 -0
  118. package/dist/reading-level.d.ts.map +1 -0
  119. package/dist/reading-level.js +189 -0
  120. package/dist/reading-level.js.map +1 -0
  121. package/dist/reporter.d.ts +94 -0
  122. package/dist/reporter.d.ts.map +1 -0
  123. package/dist/reporter.js +709 -0
  124. package/dist/reporter.js.map +1 -0
  125. package/dist/rules.d.ts +55 -0
  126. package/dist/rules.d.ts.map +1 -0
  127. package/dist/rules.js +77 -0
  128. package/dist/rules.js.map +1 -0
  129. package/dist/runtime.d.ts +32 -0
  130. package/dist/runtime.d.ts.map +1 -0
  131. package/dist/runtime.js +67 -0
  132. package/dist/runtime.js.map +1 -0
  133. package/dist/sanitise.d.ts +116 -0
  134. package/dist/sanitise.d.ts.map +1 -0
  135. package/dist/sanitise.js +247 -0
  136. package/dist/sanitise.js.map +1 -0
  137. package/dist/scan.d.ts +60 -0
  138. package/dist/scan.d.ts.map +1 -0
  139. package/dist/scan.js +246 -0
  140. package/dist/scan.js.map +1 -0
  141. package/dist/screens.d.ts +98 -0
  142. package/dist/screens.d.ts.map +1 -0
  143. package/dist/screens.js +301 -0
  144. package/dist/screens.js.map +1 -0
  145. package/dist/settle.d.ts +65 -0
  146. package/dist/settle.d.ts.map +1 -0
  147. package/dist/settle.js +162 -0
  148. package/dist/settle.js.map +1 -0
  149. package/dist/shots.d.ts +109 -0
  150. package/dist/shots.d.ts.map +1 -0
  151. package/dist/shots.js +113 -0
  152. package/dist/shots.js.map +1 -0
  153. package/dist/style.d.ts +47 -0
  154. package/dist/style.d.ts.map +1 -0
  155. package/dist/style.js +154 -0
  156. package/dist/style.js.map +1 -0
  157. package/dist/suite.d.ts +218 -0
  158. package/dist/suite.d.ts.map +1 -0
  159. package/dist/suite.js +219 -0
  160. package/dist/suite.js.map +1 -0
  161. package/dist/summary.d.ts +268 -0
  162. package/dist/summary.d.ts.map +1 -0
  163. package/dist/summary.js +1308 -0
  164. package/dist/summary.js.map +1 -0
  165. package/dist/unscannable.d.ts +75 -0
  166. package/dist/unscannable.d.ts.map +1 -0
  167. package/dist/unscannable.js +111 -0
  168. package/dist/unscannable.js.map +1 -0
  169. package/dist/versions.d.ts +13 -0
  170. package/dist/versions.d.ts.map +1 -0
  171. package/dist/versions.js +39 -0
  172. package/dist/versions.js.map +1 -0
  173. package/dist/wcag-map.d.ts +19 -0
  174. package/dist/wcag-map.d.ts.map +1 -0
  175. package/dist/wcag-map.js +52 -0
  176. package/dist/wcag-map.js.map +1 -0
  177. package/dist/with-setsquare.d.ts +26 -0
  178. package/dist/with-setsquare.d.ts.map +1 -0
  179. package/dist/with-setsquare.js +70 -0
  180. package/dist/with-setsquare.js.map +1 -0
  181. package/package.json +81 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-report.js","sourceRoot":"","sources":["../src/html-report.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Human forms of machine values, for the artifacts a person reads.
3
+ *
4
+ * An ISO instant and a forty-character SHA are the right things to *store* and
5
+ * the wrong things to put at the top of a page. `2026-08-27T14:06:30.652Z` is
6
+ * read as a string of digits rather than as a date, and nobody has ever needed
7
+ * all forty characters of a commit to know which commit it was.
8
+ *
9
+ * Both functions here are display-only. Nothing in the payload changes, and both
10
+ * artifacts keep the exact value machine-readable beside the friendly one — the
11
+ * instant in a `<time datetime>` attribute, the commit in the run's own JSON.
12
+ *
13
+ * ## Why this formats by hand instead of using Intl
14
+ *
15
+ * The report promises something specific: rendered deterministically from the
16
+ * envelope, so two renders of one run are byte-identical (see the docblock in
17
+ * `html-report.ts`). `toLocaleString` breaks that promise on the first machine
18
+ * with a different locale or timezone — the same run would produce two different
19
+ * files, and for an evidence artifact that is worse than an ugly date.
20
+ *
21
+ * So: UTC always, English month names, and the zone said out loud rather than
22
+ * implied. Two people in different offices reading "14:06" off the same report
23
+ * should not be able to disagree about when the run happened.
24
+ *
25
+ * ## Scope: the HTML artifacts only, deliberately (decided 2026-08-27)
26
+ *
27
+ * The terminal summary and the CLI keep raw ISO instants, and that is a decision
28
+ * rather than an oversight. Those surfaces are technical — someone reading
29
+ * `setsquare report`'s output is usually about to grep it, diff it, or paste a
30
+ * path — and an ISO instant sorts, matches the run directory's own name, and is
31
+ * unambiguous without a zone label. The report and the contact sheet are for
32
+ * reading, by people who did not run the suite. Different audience, different
33
+ * form.
34
+ *
35
+ * If a future change makes it tempting to reach for these in `packages/review-cli`, that
36
+ * is this decision being tested: it also means duplicating them across the
37
+ * package boundary or moving them into `@setsquare/schema`, which is the wire
38
+ * contract and a strange home for date formatting.
39
+ */
40
+ /**
41
+ * `2026-08-27T14:06:30.652Z` → `27th August 2026, 14:06 UTC`.
42
+ *
43
+ * Seconds and milliseconds are dropped: they are in the attribute and in the
44
+ * envelope for anyone correlating runs, and they are noise in a masthead.
45
+ *
46
+ * Returns the input unchanged if it will not parse. A header that reads oddly is
47
+ * a smaller problem than a header that reads `Invalid Date`, and an artifact
48
+ * should never lose a value it was given just because it could not prettify it.
49
+ */
50
+ export declare function humanInstant(iso: string): string;
51
+ /** How many characters of a SHA to show — what GitHub shows, so the two match. */
52
+ export declare const SHORT_COMMIT_LENGTH = 7;
53
+ /**
54
+ * A full SHA shortened to GitHub's display length.
55
+ *
56
+ * Only shortens something that actually looks like a full hex SHA. CI variables
57
+ * are not reliably one: a value may already be short, or be a tag, a branch name
58
+ * or the literal `unknown`, and truncating any of those to seven characters would
59
+ * turn a readable value into a puzzle.
60
+ *
61
+ * The full value is not lost — it stays in `run.json`, which is the artifact
62
+ * anything automated reads.
63
+ */
64
+ export declare function shortCommit(commit: string): string;
65
+ //# sourceMappingURL=human.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"human.d.ts","sourceRoot":"","sources":["../src/human.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAuCH;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAUhD;AAED,kFAAkF;AAClF,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElD"}
package/dist/human.js ADDED
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Human forms of machine values, for the artifacts a person reads.
3
+ *
4
+ * An ISO instant and a forty-character SHA are the right things to *store* and
5
+ * the wrong things to put at the top of a page. `2026-08-27T14:06:30.652Z` is
6
+ * read as a string of digits rather than as a date, and nobody has ever needed
7
+ * all forty characters of a commit to know which commit it was.
8
+ *
9
+ * Both functions here are display-only. Nothing in the payload changes, and both
10
+ * artifacts keep the exact value machine-readable beside the friendly one — the
11
+ * instant in a `<time datetime>` attribute, the commit in the run's own JSON.
12
+ *
13
+ * ## Why this formats by hand instead of using Intl
14
+ *
15
+ * The report promises something specific: rendered deterministically from the
16
+ * envelope, so two renders of one run are byte-identical (see the docblock in
17
+ * `html-report.ts`). `toLocaleString` breaks that promise on the first machine
18
+ * with a different locale or timezone — the same run would produce two different
19
+ * files, and for an evidence artifact that is worse than an ugly date.
20
+ *
21
+ * So: UTC always, English month names, and the zone said out loud rather than
22
+ * implied. Two people in different offices reading "14:06" off the same report
23
+ * should not be able to disagree about when the run happened.
24
+ *
25
+ * ## Scope: the HTML artifacts only, deliberately (decided 2026-08-27)
26
+ *
27
+ * The terminal summary and the CLI keep raw ISO instants, and that is a decision
28
+ * rather than an oversight. Those surfaces are technical — someone reading
29
+ * `setsquare report`'s output is usually about to grep it, diff it, or paste a
30
+ * path — and an ISO instant sorts, matches the run directory's own name, and is
31
+ * unambiguous without a zone label. The report and the contact sheet are for
32
+ * reading, by people who did not run the suite. Different audience, different
33
+ * form.
34
+ *
35
+ * If a future change makes it tempting to reach for these in `packages/review-cli`, that
36
+ * is this decision being tested: it also means duplicating them across the
37
+ * package boundary or moving them into `@setsquare/schema`, which is the wire
38
+ * contract and a strange home for date formatting.
39
+ */
40
+ const MONTHS = [
41
+ 'January',
42
+ 'February',
43
+ 'March',
44
+ 'April',
45
+ 'May',
46
+ 'June',
47
+ 'July',
48
+ 'August',
49
+ 'September',
50
+ 'October',
51
+ 'November',
52
+ 'December',
53
+ ];
54
+ /**
55
+ * 1st, 2nd, 3rd, 4th … 11th, 12th, 13th … 21st, 22nd, 23rd, 31st.
56
+ *
57
+ * The teens are the whole reason this is not `n % 10`: eleventh, twelfth and
58
+ * thirteenth take `th` despite ending in 1, 2 and 3.
59
+ */
60
+ function ordinal(day) {
61
+ const teen = day % 100;
62
+ if (teen >= 11 && teen <= 13)
63
+ return `${day}th`;
64
+ switch (day % 10) {
65
+ case 1:
66
+ return `${day}st`;
67
+ case 2:
68
+ return `${day}nd`;
69
+ case 3:
70
+ return `${day}rd`;
71
+ default:
72
+ return `${day}th`;
73
+ }
74
+ }
75
+ /**
76
+ * `2026-08-27T14:06:30.652Z` → `27th August 2026, 14:06 UTC`.
77
+ *
78
+ * Seconds and milliseconds are dropped: they are in the attribute and in the
79
+ * envelope for anyone correlating runs, and they are noise in a masthead.
80
+ *
81
+ * Returns the input unchanged if it will not parse. A header that reads oddly is
82
+ * a smaller problem than a header that reads `Invalid Date`, and an artifact
83
+ * should never lose a value it was given just because it could not prettify it.
84
+ */
85
+ export function humanInstant(iso) {
86
+ const at = new Date(iso);
87
+ if (Number.isNaN(at.getTime()))
88
+ return iso;
89
+ const day = ordinal(at.getUTCDate());
90
+ const month = MONTHS[at.getUTCMonth()] ?? '';
91
+ const hh = String(at.getUTCHours()).padStart(2, '0');
92
+ const mm = String(at.getUTCMinutes()).padStart(2, '0');
93
+ return `${day} ${month} ${at.getUTCFullYear()}, ${hh}:${mm} UTC`;
94
+ }
95
+ /** How many characters of a SHA to show — what GitHub shows, so the two match. */
96
+ export const SHORT_COMMIT_LENGTH = 7;
97
+ /**
98
+ * A full SHA shortened to GitHub's display length.
99
+ *
100
+ * Only shortens something that actually looks like a full hex SHA. CI variables
101
+ * are not reliably one: a value may already be short, or be a tag, a branch name
102
+ * or the literal `unknown`, and truncating any of those to seven characters would
103
+ * turn a readable value into a puzzle.
104
+ *
105
+ * The full value is not lost — it stays in `run.json`, which is the artifact
106
+ * anything automated reads.
107
+ */
108
+ export function shortCommit(commit) {
109
+ return /^[0-9a-f]{40}$/i.test(commit) ? commit.slice(0, SHORT_COMMIT_LENGTH) : commit;
110
+ }
111
+ //# sourceMappingURL=human.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"human.js","sourceRoot":"","sources":["../src/human.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,MAAM,MAAM,GAAG;IACb,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,WAAW;IACX,SAAS;IACT,UAAU;IACV,UAAU;CACF,CAAC;AAEX;;;;;GAKG;AACH,SAAS,OAAO,CAAC,GAAW;IAC1B,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;IACvB,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE;QAAE,OAAO,GAAG,GAAG,IAAI,CAAC;IAEhD,QAAQ,GAAG,GAAG,EAAE,EAAE,CAAC;QACjB,KAAK,CAAC;YACJ,OAAO,GAAG,GAAG,IAAI,CAAC;QACpB,KAAK,CAAC;YACJ,OAAO,GAAG,GAAG,IAAI,CAAC;QACpB,KAAK,CAAC;YACJ,OAAO,GAAG,GAAG,IAAI,CAAC;QACpB;YACE,OAAO,GAAG,GAAG,IAAI,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,GAAG,CAAC;IAE3C,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAC7C,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACrD,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEvD,OAAO,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC;AACnE,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACxF,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * `@setsquare/review-sdk` — accessibility, e2e and performance evidence capture
3
+ * for Playwright.
4
+ *
5
+ * The public surface is deliberately tiny. One function goes in the config, and
6
+ * with no `SETSQUARE_TOKEN` the run ends in a terminal summary and a schema-shaped
7
+ * JSON envelope on disk, with zero network calls. That local path is a finished
8
+ * product, not a degraded mode: it is meant to be the best way to run axe in a
9
+ * Playwright suite even if the platform never sees the data.
10
+ *
11
+ * What the platform sells is what a stateless tool structurally cannot have —
12
+ * memory, meaning and the loop. Nothing is removed from here to create it.
13
+ */
14
+ export { withSetsquare } from './with-setsquare.js';
15
+ export { setsquare, type ScanOptions, type ScanSummary } from './scan.js';
16
+ export { DEFAULT_OUTPUT_DIR, type SetsquareOptions } from './options.js';
17
+ /**
18
+ * Masking is exported because the composition is useful before capture exists —
19
+ * and because the SDK itself never captures. Visual evidence is a platform
20
+ * capability; the local path holds no pixels at all.
21
+ */
22
+ export { DEFAULT_MASK_SELECTORS, UPLOAD_DEFAULTS, maskLocators, maskSelectors, type MaskConfig, } from './mask.js';
23
+ export type { ObservedContext, ObservedNavigation, RunEnvelope, RunMeta, ScanRecord, } from './contract.js';
24
+ /** Token prefix the platform issues, surfaced so error messages can be specific. */
25
+ export declare const INGEST_TOKEN_PREFIX: "setsquare_";
26
+ /**
27
+ * The wire format this build emits.
28
+ *
29
+ * Re-exported from `packages/schema` rather than restated. In Phase 0 this was a
30
+ * hand-copied literal with a note saying it would be imported from the contract
31
+ * in P1; this is that.
32
+ */
33
+ export { FORMAT_VERSION } from '@setsquare/schema/format-version';
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEzE;;;;GAIG;AACH,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,KAAK,UAAU,GAChB,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,OAAO,EACP,UAAU,GACX,MAAM,eAAe,CAAC;AAEvB,oFAAoF;AACpF,eAAO,MAAM,mBAAmB,EAAG,YAAqB,CAAC;AAEzD;;;;;;GAMG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,33 @@
1
+ /**
2
+ * `@setsquare/review-sdk` — accessibility, e2e and performance evidence capture
3
+ * for Playwright.
4
+ *
5
+ * The public surface is deliberately tiny. One function goes in the config, and
6
+ * with no `SETSQUARE_TOKEN` the run ends in a terminal summary and a schema-shaped
7
+ * JSON envelope on disk, with zero network calls. That local path is a finished
8
+ * product, not a degraded mode: it is meant to be the best way to run axe in a
9
+ * Playwright suite even if the platform never sees the data.
10
+ *
11
+ * What the platform sells is what a stateless tool structurally cannot have —
12
+ * memory, meaning and the loop. Nothing is removed from here to create it.
13
+ */
14
+ export { withSetsquare } from './with-setsquare.js';
15
+ export { setsquare } from './scan.js';
16
+ export { DEFAULT_OUTPUT_DIR } from './options.js';
17
+ /**
18
+ * Masking is exported because the composition is useful before capture exists —
19
+ * and because the SDK itself never captures. Visual evidence is a platform
20
+ * capability; the local path holds no pixels at all.
21
+ */
22
+ export { DEFAULT_MASK_SELECTORS, UPLOAD_DEFAULTS, maskLocators, maskSelectors, } from './mask.js';
23
+ /** Token prefix the platform issues, surfaced so error messages can be specific. */
24
+ export const INGEST_TOKEN_PREFIX = 'setsquare_';
25
+ /**
26
+ * The wire format this build emits.
27
+ *
28
+ * Re-exported from `packages/schema` rather than restated. In Phase 0 this was a
29
+ * hand-copied literal with a note saying it would be imported from the contract
30
+ * in P1; this is that.
31
+ */
32
+ export { FORMAT_VERSION } from '@setsquare/schema/format-version';
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAsC,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAyB,MAAM,cAAc,CAAC;AAEzE;;;;GAIG;AACH,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,aAAa,GAEd,MAAM,WAAW,CAAC;AAUnB,oFAAoF;AACpF,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAqB,CAAC;AAEzD;;;;;;GAMG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Turning what we observed into what the grid shows.
3
+ *
4
+ * Every function here answers one question — what is this surface called, who was
5
+ * looking at it, which theme was it in — and every one of them is allowed to
6
+ * answer "I don't know". The schema makes persona, theme and state optional
7
+ * precisely so that inference can decline. A guessed persona is worse than an
8
+ * absent one: it puts a confident wrong label on evidence, and nobody downstream
9
+ * can tell it apart from a real one.
10
+ */
11
+ export interface InferenceConfig {
12
+ /** Exact route pattern to surface name: `'/items/:id/edit': 'item-editor'`. */
13
+ surfaces?: Record<string, string>;
14
+ /** Playwright project name to persona. */
15
+ personas?: Record<string, string>;
16
+ /** Playwright project name to theme. */
17
+ themes?: Record<string, string>;
18
+ /** The general escape hatch, for suites whose project names carry neither. */
19
+ persona?: (context: ResolutionContext) => string | undefined;
20
+ theme?: (context: ResolutionContext) => string | undefined;
21
+ }
22
+ export interface ResolutionContext {
23
+ project: string;
24
+ urlPattern: string;
25
+ observedTheme?: string;
26
+ }
27
+ /**
28
+ * A stable, readable name for a route pattern.
29
+ *
30
+ * Deliberately mechanical rather than clever. `/admin/taxonomies` becomes
31
+ * `admin-taxonomies`, not "Taxonomy management": the SDK has no way to know what
32
+ * a route is *for*, and inventing a friendly name would produce grid rows that
33
+ * look authored and are not. Customers who want real names configure them, and
34
+ * the payload records `surfaceSource` so a grid can always say which it is
35
+ * looking at.
36
+ *
37
+ * Identifier segments are already `:id` by the time this runs — sanitisation
38
+ * removed them long before, because a credential in a route is a safety problem
39
+ * rather than a naming one.
40
+ */
41
+ export declare function inferSurface(urlPattern: string, config?: InferenceConfig): string;
42
+ /**
43
+ * Who was looking at this surface.
44
+ *
45
+ * Ordered by how much the source knows, and it declines rather than guessing.
46
+ * Note what is NOT here: any attempt to read a persona out of the project name
47
+ * itself. The reference implementation's projects are called `main`,
48
+ * `positions`, `apply-discovery` and `cross-zone` — names that carry zone and
49
+ * auth posture, not persona — so a heuristic would confidently mislabel most of
50
+ * a real suite. Mapping is configuration, because only the customer knows.
51
+ */
52
+ export declare function resolvePersona(context: ResolutionContext, config?: InferenceConfig): string | undefined;
53
+ /**
54
+ * Which theme this surface was in.
55
+ *
56
+ * The one axis where observing the page is a first-class source rather than a
57
+ * fallback — because on the reference implementation it is the ONLY source.
58
+ * Eos's project names carry no theme at all; themes are toggled inside tests with
59
+ * a `data-theme` attribute, so anything that inferred from configuration alone
60
+ * would see one theme where there are three.
61
+ *
62
+ * Config still outranks observation: a customer telling us beats us sniffing.
63
+ */
64
+ export declare function resolveTheme(context: ResolutionContext, config?: InferenceConfig): string | undefined;
65
+ //# sourceMappingURL=infer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infer.d.ts","sourceRoot":"","sources":["../src/infer.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAEH,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,8EAA8E;IAC9E,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,MAAM,GAAG,SAAS,CAAC;IAC7D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,MAAM,GAAG,SAAS,CAAC;CAC5D;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,GAAE,eAAoB,GAAG,MAAM,CAcrF;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,iBAAiB,EAC1B,MAAM,GAAE,eAAoB,GAC3B,MAAM,GAAG,SAAS,CAKpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,iBAAiB,EAC1B,MAAM,GAAE,eAAoB,GAC3B,MAAM,GAAG,SAAS,CAQpB"}
package/dist/infer.js ADDED
@@ -0,0 +1,67 @@
1
+ import { MAX_SURFACE_LENGTH } from '@setsquare/schema/limits';
2
+ import { capLength, sanitiseLabel } from './sanitise.js';
3
+ /**
4
+ * A stable, readable name for a route pattern.
5
+ *
6
+ * Deliberately mechanical rather than clever. `/admin/taxonomies` becomes
7
+ * `admin-taxonomies`, not "Taxonomy management": the SDK has no way to know what
8
+ * a route is *for*, and inventing a friendly name would produce grid rows that
9
+ * look authored and are not. Customers who want real names configure them, and
10
+ * the payload records `surfaceSource` so a grid can always say which it is
11
+ * looking at.
12
+ *
13
+ * Identifier segments are already `:id` by the time this runs — sanitisation
14
+ * removed them long before, because a credential in a route is a safety problem
15
+ * rather than a naming one.
16
+ */
17
+ export function inferSurface(urlPattern, config = {}) {
18
+ const configured = config.surfaces?.[urlPattern];
19
+ if (configured)
20
+ return capLength(configured, MAX_SURFACE_LENGTH);
21
+ const segments = urlPattern
22
+ .split('/')
23
+ .filter((segment) => segment.length > 0)
24
+ // `:id` carries no meaning in a name — `/items/:id/edit` and `/items/:id` are
25
+ // different surfaces, but the difference is `edit`, not the placeholder.
26
+ .filter((segment) => !segment.startsWith(':'));
27
+ if (segments.length === 0)
28
+ return 'home';
29
+ return capLength(segments.join('-'), MAX_SURFACE_LENGTH);
30
+ }
31
+ /**
32
+ * Who was looking at this surface.
33
+ *
34
+ * Ordered by how much the source knows, and it declines rather than guessing.
35
+ * Note what is NOT here: any attempt to read a persona out of the project name
36
+ * itself. The reference implementation's projects are called `main`,
37
+ * `positions`, `apply-discovery` and `cross-zone` — names that carry zone and
38
+ * auth posture, not persona — so a heuristic would confidently mislabel most of
39
+ * a real suite. Mapping is configuration, because only the customer knows.
40
+ */
41
+ export function resolvePersona(context, config = {}) {
42
+ const fromCallback = config.persona?.(context);
43
+ if (fromCallback)
44
+ return sanitiseLabel(fromCallback);
45
+ return sanitiseLabel(config.personas?.[context.project]);
46
+ }
47
+ /**
48
+ * Which theme this surface was in.
49
+ *
50
+ * The one axis where observing the page is a first-class source rather than a
51
+ * fallback — because on the reference implementation it is the ONLY source.
52
+ * Eos's project names carry no theme at all; themes are toggled inside tests with
53
+ * a `data-theme` attribute, so anything that inferred from configuration alone
54
+ * would see one theme where there are three.
55
+ *
56
+ * Config still outranks observation: a customer telling us beats us sniffing.
57
+ */
58
+ export function resolveTheme(context, config = {}) {
59
+ const fromCallback = config.theme?.(context);
60
+ if (fromCallback)
61
+ return sanitiseLabel(fromCallback);
62
+ const fromProject = config.themes?.[context.project];
63
+ if (fromProject)
64
+ return sanitiseLabel(fromProject);
65
+ return sanitiseLabel(context.observedTheme);
66
+ }
67
+ //# sourceMappingURL=infer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infer.js","sourceRoot":"","sources":["../src/infer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AA+BzD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAAC,UAAkB,EAAE,SAA0B,EAAE;IAC3E,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,UAAU;QAAE,OAAO,SAAS,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,UAAU;SACxB,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACxC,8EAA8E;QAC9E,yEAAyE;SACxE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAEzC,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,kBAAkB,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAC5B,OAA0B,EAC1B,SAA0B,EAAE;IAE5B,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,YAAY;QAAE,OAAO,aAAa,CAAC,YAAY,CAAC,CAAC;IAErD,OAAO,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAC1B,OAA0B,EAC1B,SAA0B,EAAE;IAE5B,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,YAAY;QAAE,OAAO,aAAa,CAAC,YAAY,CAAC,CAAC;IAErD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,WAAW;QAAE,OAAO,aAAa,CAAC,WAAW,CAAC,CAAC;IAEnD,OAAO,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,140 @@
1
+ import type { RunIngestRequest } from '@setsquare/schema';
2
+ import { type CoverageAxis, type DeclaredAxes } from '@setsquare/schema/conformance';
3
+ import type { OverheadFacts, SuiteFacts } from './suite.js';
4
+ /**
5
+ * The wording for everything P1b added to the run summary.
6
+ *
7
+ * Structured the way `groupLines()` already is, and for the reason its comment
8
+ * gives: "one wording for every renderer, because the three formats must never
9
+ * say different things about the same coverage." So this file owns SENTENCES and
10
+ * THRESHOLDS, and the terminal, the HTML report and the markdown output own
11
+ * layout. A block returned from here appears in all three or in none.
12
+ *
13
+ * It lives apart from `summary.ts` because that file is already 1,700 lines of
14
+ * layout and this batch adds six blocks. Deliberately NOT a section framework:
15
+ * the existing sections stay exactly as they are, and nothing here retrofits
16
+ * them. A big-bang refactor of the most-read output in the product, in the same
17
+ * change as six new signals, is how a regression gets attributed to the wrong
18
+ * thing.
19
+ *
20
+ * Every function returns `undefined` when it has nothing to say, and that is the
21
+ * capability gate rather than a tidiness rule. A run with one theme must print
22
+ * NOTHING about theme variance — not "no theme-specific failures", which is a
23
+ * claim the run cannot support.
24
+ */
25
+ /** One gutter figure and its label. */
26
+ export interface FigureRow {
27
+ value: number | string;
28
+ label: string;
29
+ /** Wrapped, dimmed lines under the figure. */
30
+ notes?: string[];
31
+ }
32
+ export interface InsightBlock {
33
+ /** Section heading, upper-cased by the renderer. */
34
+ heading: string;
35
+ figures: FigureRow[];
36
+ /** Prose under the block, wrapped by the renderer. */
37
+ notes: string[];
38
+ }
39
+ export interface RuntimeSurface {
40
+ surface: string;
41
+ engine?: string;
42
+ consoleErrors: number;
43
+ pageErrors: number;
44
+ failedRequests: number;
45
+ serverErrors: number;
46
+ clientErrors: number;
47
+ omitted: number;
48
+ exemplars: string[];
49
+ }
50
+ /**
51
+ * What the pages did while the tests were passing.
52
+ *
53
+ * The headline of the whole feature, and the reason it leads with the phrase it
54
+ * does: a 500 on a background request fails no assertion, appears in no
55
+ * Playwright artefact, and until now appeared nowhere at all.
56
+ *
57
+ * Counts are reported PER SURFACE and tagged with their engine, never summed into
58
+ * a run total. The cross-engine lane measured why: on one page Chromium and WebKit
59
+ * report 123 console errors and Firefox 121, because the first two also log a
60
+ * failed-resource error. A total spanning engines would be a number that describes
61
+ * no browser.
62
+ */
63
+ export declare function runtimeInsight(envelope: RunIngestRequest): InsightBlock | undefined;
64
+ /**
65
+ * Surfaces this run reached and could not check.
66
+ *
67
+ * §2 of the gap analysis asks for exactly this and says why: "3 surfaces could not
68
+ * be checked" deserves to be a figure in the gutter, not a sentence in a
69
+ * paragraph. Before the ledger it was prose, readable by a person paying
70
+ * attention and countable by nothing.
71
+ *
72
+ * The phrase is "could not be checked", never "failed" — nothing is known about
73
+ * those surfaces in either direction, which is the whole point.
74
+ */
75
+ export declare function unscannableInsight(envelope: RunIngestRequest): InsightBlock | undefined;
76
+ /**
77
+ * Which axes this run's evidence actually spans.
78
+ *
79
+ * The product's unit is surface × theme × persona × state, and coverage was only
80
+ * ever reported per route. Two rules hold this block honest:
81
+ *
82
+ * - **No percentage from `combinations`.** It is a combinatorial product over
83
+ * values that happened to appear and counts cells that cannot exist (an
84
+ * admin-only persona on a public page). The GAP is a real signal; the ratio
85
+ * is not a coverage figure.
86
+ * - **`declared` is the only real denominator**, and it comes from the
87
+ * customer's own config. When it is absent the line is suppressed entirely
88
+ * rather than falling back to "N of N", which would report perfect coverage
89
+ * of whatever happened to run.
90
+ */
91
+ export declare function coverageInsight(envelope: RunIngestRequest, declared?: DeclaredAxes, unmeasuredAxes?: readonly string[]): InsightBlock | undefined;
92
+ /**
93
+ * Findings that exist only because one run holds many surfaces.
94
+ *
95
+ * No per-page tool can express any of these, which is the point. All three are
96
+ * carefully worded as evidence rather than conclusions:
97
+ *
98
+ * - variance is a ROOT-CAUSE POINTER ("fails in dark, passes in light" names a
99
+ * token, not a component)
100
+ * - a shared selector shape is a CANDIDATE, never "one fix" — that is a fix
101
+ * claim and sits on the paid side of the free-layer boundary (D10)
102
+ * - document consistency shows its `unknown` bucket, because a surface we never
103
+ * probed is not a surface missing a skip link
104
+ */
105
+ export declare function crossSurfaceInsight(envelope: RunIngestRequest): InsightBlock | undefined;
106
+ /**
107
+ * Suite mechanics: the tail, the steps, the workers, and our own overhead.
108
+ *
109
+ * **The overhead wording is the sharpest hazard in this file.** These are summed
110
+ * per-scan durations across workers, and scanning runs concurrently with the
111
+ * customer's own tests — so on the SDK's own grouped fixture run the total spent
112
+ * (28.7s) EXCEEDS the wall clock (27.9s). Rendered as a percentage that is
113
+ * gibberish; rendered as a delta it is a lie. The gap analysis's own example
114
+ * phrasing, "scan cost: 1.8s of 8.5s", implies exactly the subtraction that does
115
+ * not hold.
116
+ *
117
+ * So: time SPENT, never time ADDED, no percentage, no delta, and a pointer at
118
+ * `SETSQUARE_DISABLED=1`, which is the only way to actually measure the
119
+ * difference.
120
+ */
121
+ export declare function suiteTimingInsight(suite?: SuiteFacts, overhead?: OverheadFacts): InsightBlock | undefined;
122
+ /**
123
+ * Which tests were flaky, on which attempt, and how they failed.
124
+ *
125
+ * The summary already said "2 flaky". It never said which, and all of it was in
126
+ * the data already — that is the whole complaint in §2. Returned as notes for the
127
+ * Playwright block rather than a section of its own, because it belongs beside the
128
+ * count it explains.
129
+ */
130
+ export declare function flakeNotes(suite?: SuiteFacts): string[];
131
+ /** Every block, in the order the renderers present them. */
132
+ export declare function insightBlocks(envelope: RunIngestRequest, options?: {
133
+ declaredAxes?: DeclaredAxes;
134
+ unmeasuredAxes?: readonly string[];
135
+ suite?: SuiteFacts;
136
+ overhead?: OverheadFacts;
137
+ }): InsightBlock[];
138
+ /** Re-exported so callers need not reach into the schema for the axis type. */
139
+ export type { CoverageAxis, DeclaredAxes };
140
+ //# sourceMappingURL=insights.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insights.d.ts","sourceRoot":"","sources":["../src/insights.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,uCAAuC;AACvC,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,sDAAsD;IACtD,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAaD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,YAAY,GAAG,SAAS,CA4GnF;AAwDD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,YAAY,GAAG,SAAS,CAmCvF;AAaD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,CAAC,EAAE,YAAY,EACvB,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,GACjC,YAAY,GAAG,SAAS,CAuD1B;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,YAAY,GAAG,SAAS,CAqHxF;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,CAAC,EAAE,UAAU,EAClB,QAAQ,CAAC,EAAE,aAAa,GACvB,YAAY,GAAG,SAAS,CAuE1B;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,EAAE,CAYvD;AAED,4DAA4D;AAC5D,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,GAAE;IACP,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,CAAC;CACrB,GACL,YAAY,EAAE,CAQhB;AAED,+EAA+E;AAC/E,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC"}