@ploaness/governance 1.1.0 → 1.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 (236) hide show
  1. package/dist/a11y-hit-target.d.ts.map +1 -1
  2. package/dist/a11y-hit-target.js +1 -21
  3. package/dist/a11y-hit-target.js.map +1 -1
  4. package/dist/a11y-incomplete.d.ts.map +1 -1
  5. package/dist/a11y-incomplete.js +1 -18
  6. package/dist/a11y-incomplete.js.map +1 -1
  7. package/dist/access-boundary.d.ts +43 -1
  8. package/dist/access-boundary.d.ts.map +1 -1
  9. package/dist/access-boundary.js +146 -5
  10. package/dist/access-boundary.js.map +1 -1
  11. package/dist/admin-view-coverage.d.ts.map +1 -1
  12. package/dist/admin-view-coverage.js +1 -17
  13. package/dist/admin-view-coverage.js.map +1 -1
  14. package/dist/asset-policy.d.ts.map +1 -1
  15. package/dist/asset-policy.js +1 -23
  16. package/dist/asset-policy.js.map +1 -1
  17. package/dist/axe-coverage.d.ts +3 -4
  18. package/dist/axe-coverage.d.ts.map +1 -1
  19. package/dist/axe-coverage.js +18 -51
  20. package/dist/axe-coverage.js.map +1 -1
  21. package/dist/blocklist-entries.d.ts +36 -0
  22. package/dist/blocklist-entries.d.ts.map +1 -0
  23. package/dist/blocklist-entries.js +338 -0
  24. package/dist/blocklist-entries.js.map +1 -0
  25. package/dist/blocklist.d.ts +91 -0
  26. package/dist/blocklist.d.ts.map +1 -0
  27. package/dist/blocklist.js +187 -0
  28. package/dist/blocklist.js.map +1 -0
  29. package/dist/checkov-check.d.ts +9 -0
  30. package/dist/checkov-check.d.ts.map +1 -0
  31. package/dist/checkov-check.js +4 -0
  32. package/dist/checkov-check.js.map +1 -0
  33. package/dist/checkov-checks-aws.d.ts +4 -0
  34. package/dist/checkov-checks-aws.d.ts.map +1 -0
  35. package/dist/checkov-checks-aws.js +93 -0
  36. package/dist/checkov-checks-aws.js.map +1 -0
  37. package/dist/checkov-checks-azure.d.ts +4 -0
  38. package/dist/checkov-checks-azure.d.ts.map +1 -0
  39. package/dist/checkov-checks-azure.js +32 -0
  40. package/dist/checkov-checks-azure.js.map +1 -0
  41. package/dist/checkov-checks-google.d.ts +6 -0
  42. package/dist/checkov-checks-google.d.ts.map +1 -0
  43. package/dist/checkov-checks-google.js +53 -0
  44. package/dist/checkov-checks-google.js.map +1 -0
  45. package/dist/checkov-policy.d.ts +63 -0
  46. package/dist/checkov-policy.d.ts.map +1 -0
  47. package/dist/checkov-policy.js +105 -0
  48. package/dist/checkov-policy.js.map +1 -0
  49. package/dist/container-failure.d.ts.map +1 -1
  50. package/dist/container-failure.js +1 -18
  51. package/dist/container-failure.js.map +1 -1
  52. package/dist/container-files.d.ts +16 -0
  53. package/dist/container-files.d.ts.map +1 -1
  54. package/dist/container-files.js +23 -8
  55. package/dist/container-files.js.map +1 -1
  56. package/dist/container-images.d.ts +43 -0
  57. package/dist/container-images.d.ts.map +1 -0
  58. package/dist/container-images.js +157 -0
  59. package/dist/container-images.js.map +1 -0
  60. package/dist/dependency-freshness.d.ts +8 -0
  61. package/dist/dependency-freshness.d.ts.map +1 -1
  62. package/dist/dependency-freshness.js +2 -18
  63. package/dist/dependency-freshness.js.map +1 -1
  64. package/dist/doc-blocks.d.ts.map +1 -1
  65. package/dist/doc-blocks.js +1 -13
  66. package/dist/doc-blocks.js.map +1 -1
  67. package/dist/editorconfig-policy.d.ts +7 -0
  68. package/dist/editorconfig-policy.d.ts.map +1 -1
  69. package/dist/editorconfig-policy.js +19 -12
  70. package/dist/editorconfig-policy.js.map +1 -1
  71. package/dist/environment-coherence.d.ts +59 -5
  72. package/dist/environment-coherence.d.ts.map +1 -1
  73. package/dist/environment-coherence.js +107 -27
  74. package/dist/environment-coherence.js.map +1 -1
  75. package/dist/environment-files.d.ts.map +1 -1
  76. package/dist/environment-files.js +1 -19
  77. package/dist/environment-files.js.map +1 -1
  78. package/dist/file-roles.d.ts +7 -2
  79. package/dist/file-roles.d.ts.map +1 -1
  80. package/dist/file-roles.js +10 -9
  81. package/dist/file-roles.js.map +1 -1
  82. package/dist/freshness-repair.d.ts +82 -0
  83. package/dist/freshness-repair.d.ts.map +1 -0
  84. package/dist/freshness-repair.js +91 -0
  85. package/dist/freshness-repair.js.map +1 -0
  86. package/dist/generated-denial.d.ts.map +1 -1
  87. package/dist/generated-denial.js +1 -9
  88. package/dist/generated-denial.js.map +1 -1
  89. package/dist/generated-drift.d.ts.map +1 -1
  90. package/dist/generated-drift.js +1 -12
  91. package/dist/generated-drift.js.map +1 -1
  92. package/dist/harness-package.d.ts +13 -0
  93. package/dist/harness-package.d.ts.map +1 -0
  94. package/dist/harness-package.js +20 -0
  95. package/dist/harness-package.js.map +1 -0
  96. package/dist/history-policy.d.ts.map +1 -1
  97. package/dist/history-policy.js +1 -7
  98. package/dist/history-policy.js.map +1 -1
  99. package/dist/image-assets.d.ts.map +1 -1
  100. package/dist/image-assets.js +1 -10
  101. package/dist/image-assets.js.map +1 -1
  102. package/dist/index.d.ts +20 -0
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +20 -0
  105. package/dist/index.js.map +1 -1
  106. package/dist/install-policy.d.ts +21 -0
  107. package/dist/install-policy.d.ts.map +1 -1
  108. package/dist/install-policy.js +53 -1
  109. package/dist/install-policy.js.map +1 -1
  110. package/dist/jsx-accessibility-scope.d.ts +17 -0
  111. package/dist/jsx-accessibility-scope.d.ts.map +1 -0
  112. package/dist/jsx-accessibility-scope.js +36 -0
  113. package/dist/jsx-accessibility-scope.js.map +1 -0
  114. package/dist/jsx-accessibility.d.ts +13 -0
  115. package/dist/jsx-accessibility.d.ts.map +1 -0
  116. package/dist/jsx-accessibility.js +188 -0
  117. package/dist/jsx-accessibility.js.map +1 -0
  118. package/dist/network-policy.d.ts.map +1 -1
  119. package/dist/network-policy.js +1 -12
  120. package/dist/network-policy.js.map +1 -1
  121. package/dist/oxlint-policy.d.ts +16 -0
  122. package/dist/oxlint-policy.d.ts.map +1 -0
  123. package/dist/oxlint-policy.js +28 -0
  124. package/dist/oxlint-policy.js.map +1 -0
  125. package/dist/oxlint-report.d.ts +29 -0
  126. package/dist/oxlint-report.d.ts.map +1 -0
  127. package/dist/oxlint-report.js +84 -0
  128. package/dist/oxlint-report.js.map +1 -0
  129. package/dist/oxlint-scope.d.ts +13 -0
  130. package/dist/oxlint-scope.d.ts.map +1 -0
  131. package/dist/oxlint-scope.js +46 -0
  132. package/dist/oxlint-scope.js.map +1 -0
  133. package/dist/oxlint-suppressions.d.ts +17 -0
  134. package/dist/oxlint-suppressions.d.ts.map +1 -0
  135. package/dist/oxlint-suppressions.js +72 -0
  136. package/dist/oxlint-suppressions.js.map +1 -0
  137. package/dist/paired-assets.d.ts.map +1 -1
  138. package/dist/paired-assets.js.map +1 -1
  139. package/dist/payload-access.d.ts +6 -0
  140. package/dist/payload-access.d.ts.map +1 -1
  141. package/dist/payload-access.js +166 -9
  142. package/dist/payload-access.js.map +1 -1
  143. package/dist/payload-bootstrap.d.ts +52 -0
  144. package/dist/payload-bootstrap.d.ts.map +1 -0
  145. package/dist/payload-bootstrap.js +195 -0
  146. package/dist/payload-bootstrap.js.map +1 -0
  147. package/dist/payload-configs.d.ts +0 -1
  148. package/dist/payload-configs.d.ts.map +1 -1
  149. package/dist/payload-configs.js +36 -17
  150. package/dist/payload-configs.js.map +1 -1
  151. package/dist/payload-database.d.ts +80 -0
  152. package/dist/payload-database.d.ts.map +1 -0
  153. package/dist/payload-database.js +164 -0
  154. package/dist/payload-database.js.map +1 -0
  155. package/dist/payload-defaults.d.ts +128 -0
  156. package/dist/payload-defaults.d.ts.map +1 -0
  157. package/dist/payload-defaults.js +295 -0
  158. package/dist/payload-defaults.js.map +1 -0
  159. package/dist/payload-policy.d.ts +21 -0
  160. package/dist/payload-policy.d.ts.map +1 -1
  161. package/dist/payload-policy.js +92 -43
  162. package/dist/payload-policy.js.map +1 -1
  163. package/dist/relationship-cleanup.d.ts.map +1 -1
  164. package/dist/relationship-cleanup.js +16 -16
  165. package/dist/relationship-cleanup.js.map +1 -1
  166. package/dist/release-age.d.ts.map +1 -1
  167. package/dist/release-age.js +1 -16
  168. package/dist/release-age.js.map +1 -1
  169. package/dist/request-limits.d.ts.map +1 -1
  170. package/dist/request-limits.js +1 -11
  171. package/dist/request-limits.js.map +1 -1
  172. package/dist/route-map.d.ts.map +1 -1
  173. package/dist/route-map.js +1 -16
  174. package/dist/route-map.js.map +1 -1
  175. package/dist/run-plan.d.ts.map +1 -1
  176. package/dist/run-plan.js +1 -19
  177. package/dist/run-plan.js.map +1 -1
  178. package/dist/secret-policy.d.ts.map +1 -1
  179. package/dist/secret-policy.js +1 -11
  180. package/dist/secret-policy.js.map +1 -1
  181. package/dist/settings-layering.d.ts +8 -30
  182. package/dist/settings-layering.d.ts.map +1 -1
  183. package/dist/settings-layering.js +19 -48
  184. package/dist/settings-layering.js.map +1 -1
  185. package/dist/settings.d.ts +9 -2
  186. package/dist/settings.d.ts.map +1 -1
  187. package/dist/settings.js.map +1 -1
  188. package/dist/shell-files.d.ts +45 -0
  189. package/dist/shell-files.d.ts.map +1 -0
  190. package/dist/shell-files.js +105 -0
  191. package/dist/shell-files.js.map +1 -0
  192. package/dist/source-security.d.ts +10 -0
  193. package/dist/source-security.d.ts.map +1 -1
  194. package/dist/source-security.js +88 -1
  195. package/dist/source-security.js.map +1 -1
  196. package/dist/source-text.d.ts +2 -0
  197. package/dist/source-text.d.ts.map +1 -1
  198. package/dist/source-text.js +7 -16
  199. package/dist/source-text.js.map +1 -1
  200. package/dist/terraform-files.d.ts +29 -0
  201. package/dist/terraform-files.d.ts.map +1 -0
  202. package/dist/terraform-files.js +50 -0
  203. package/dist/terraform-files.js.map +1 -0
  204. package/dist/terraform-policy.d.ts +13 -0
  205. package/dist/terraform-policy.d.ts.map +1 -0
  206. package/dist/terraform-policy.js +261 -0
  207. package/dist/terraform-policy.js.map +1 -0
  208. package/dist/terraform-providers.d.ts +28 -0
  209. package/dist/terraform-providers.d.ts.map +1 -0
  210. package/dist/terraform-providers.js +68 -0
  211. package/dist/terraform-providers.js.map +1 -0
  212. package/dist/toolchain-pins.d.ts +1 -1
  213. package/dist/toolchain-pins.d.ts.map +1 -1
  214. package/dist/toolchain-pins.js +11 -21
  215. package/dist/toolchain-pins.js.map +1 -1
  216. package/dist/version-policy.d.ts +7 -8
  217. package/dist/version-policy.d.ts.map +1 -1
  218. package/dist/version-policy.js +15 -26
  219. package/dist/version-policy.js.map +1 -1
  220. package/dist/vulnerability-policy.d.ts.map +1 -1
  221. package/dist/vulnerability-policy.js +1 -11
  222. package/dist/vulnerability-policy.js.map +1 -1
  223. package/dist/wiring-policy.d.ts.map +1 -1
  224. package/dist/wiring-policy.js +4 -1
  225. package/dist/wiring-policy.js.map +1 -1
  226. package/dist/wiring-violation.d.ts.map +1 -1
  227. package/dist/wiring-violation.js +1 -6
  228. package/dist/wiring-violation.js.map +1 -1
  229. package/dist/workspace-policy.d.ts.map +1 -1
  230. package/dist/workspace-policy.js +3 -9
  231. package/dist/workspace-policy.js.map +1 -1
  232. package/dist/yaml-blocks.d.ts +10 -0
  233. package/dist/yaml-blocks.d.ts.map +1 -1
  234. package/dist/yaml-blocks.js +20 -0
  235. package/dist/yaml-blocks.js.map +1 -1
  236. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"a11y-hit-target.d.ts","sourceRoot":"","sources":["../src/a11y-hit-target.ts"],"names":[],"mappings":"AAsBA,qFAAqF;AACrF,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,uCAAuC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,qDAAqD;IACrD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,gDAAgD;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;CAClC;AAED,yFAAyF;AACzF,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,iBAAiB,GAAG,UAAU,CAAA;AAE3E,qEAAqE;AACrE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAyED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,cAAc,KAAG,uBAkBzD,CAAA"}
1
+ {"version":3,"file":"a11y-hit-target.d.ts","sourceRoot":"","sources":["../src/a11y-hit-target.ts"],"names":[],"mappings":"AAEA,qFAAqF;AACrF,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,uCAAuC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,qDAAqD;IACrD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,gDAAgD;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;CAClC;AAED,yFAAyF;AACzF,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,iBAAiB,GAAG,UAAU,CAAA;AAE3E,qEAAqE;AACrE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAyED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,cAAc,KAAG,uBAkBzD,CAAA"}
@@ -1,24 +1,4 @@
1
- // Whether a control can be hovered, and what it means when it cannot.
2
- //
3
- // The shipped accessibility sweep hovers every control in the site chrome to measure hover contrast.
4
- // A skip link hidden with `clip-path: inset(50%)` - the standard accessible pattern - has no hit
5
- // target, because a clip removes an element from hit testing as well as from painting. Playwright
6
- // therefore retried the hover until the whole test timed out, and reported `<header> intercepts
7
- // pointer events`: a message that blames the ancestor the browser found instead, and sends the reader
8
- // to weaken a skip link that was correct.
9
- //
10
- // The repair cannot be "catch the failure and move on". A VISIBLE control that intercepts pointer
11
- // events is a real page defect, and swallowing both cases would trade a misleading failure for no
12
- // failure at all. So this decides between them, and the two answers differ:
13
- //
14
- // - visually hidden: skip the hover pass and say why. Nothing is lost, because hover contrast is a
15
- // measurement of painted pixels and this element paints none. The focus pass still runs, which is
16
- // the state that actually matters for a skip link.
17
- // - obscured: something is on top of a control that does paint. That is the defect the sweep is for,
18
- // and it should be reported as such rather than as a timeout.
19
- //
20
- // The classification is deliberately conservative: anything it cannot place is hoverable, so an
21
- // undecided case runs the check rather than skipping it.
1
+ // Classify whether a control has painted pixels and a pointer target before a hover contrast scan.
22
2
  // The legacy visually-hidden pattern draws a 1px box and clips it away, so its box has area and its
23
3
  // paint does not. Anything at or under this in either dimension is that pattern rather than a control.
24
4
  const HIDDEN_BOX_LIMIT = 1;
@@ -1 +1 @@
1
- {"version":3,"file":"a11y-hit-target.js","sourceRoot":"","sources":["../src/a11y-hit-target.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"a11y-hit-target.js","sourceRoot":"","sources":["../src/a11y-hit-target.ts"],"names":[],"mappings":"AAAA,mGAAmG;AA8BnG,oGAAoG;AACpG,uGAAuG;AACvG,MAAM,gBAAgB,GAAW,CAAC,CAAA;AAElC,kGAAkG;AAClG,qGAAqG;AACrG,uGAAuG;AACvG,mGAAmG;AACnG,MAAM,WAAW,GAAW,GAAG,CAAA;AAC/B,MAAM,eAAe,GAAW,oBAAoB,CAAA;AACpD,6FAA6F;AAC7F,MAAM,YAAY,GAAW,mBAAmB,CAAA;AAEhD,MAAM,OAAO,GAAW,GAAG,CAAA;AAE3B,sGAAsG;AACtG,sGAAsG;AACtG,2CAA2C;AAC3C,MAAM,YAAY,GAAG,CAAC,KAAa,EAAU,EAAE,CAC7C,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA;AAEhF,oGAAoG;AACpG,wEAAwE;AACxE,MAAM,kBAAkB,GAAG,CAAC,MAAyB,EAAqB,EAAE;IAC1E,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,GAAoC,MAAM,CAAA;IAC9E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,KAAK,GAAW,MAAM,IAAI,KAAK,CAAA;IACrC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,KAAK,CAAC,CAAA;AACxD,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAW,EAAE;IACjD,MAAM,MAAM,GAAsB,kBAAkB,CAClD,QAAQ;SACL,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,KAAK,CAAC,QAAQ,CAAC;SACf,MAAM,CAAC,CAAC,KAAa,EAAW,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SACpD,GAAG,CAAC,CAAC,KAAa,EAAU,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CACvD,CAAA;IACD,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,GAAoC,MAAM,CAAA;IAC1E,IAAI,GAAG,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3F,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,GAAG,GAAG,MAAM,IAAI,WAAW,IAAI,IAAI,GAAG,KAAK,IAAI,WAAW,CAAA;AACnE,CAAC,CAAA;AAED,kGAAkG;AAClG,0EAA0E;AAC1E,MAAM,iBAAiB,GAAW,iDAAiD,CAAA;AAEnF,iGAAiG;AACjG,oFAAoF;AACpF,MAAM,UAAU,GACd,gFAAgF,CAAA;AAElF,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAW,EAAE;IACpD,MAAM,UAAU,GAAW,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACxD,MAAM,KAAK,GAA2B,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACtE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAC3F,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;AAEzF,MAAM,gBAAgB,GAAG,CAAC,KAAqB,EAAW,EAAE,CAC1D,KAAK,CAAC,KAAK,IAAI,CAAC;IAChB,KAAK,CAAC,MAAM,IAAI,CAAC;IACjB,CAAC,KAAK,CAAC,KAAK,IAAI,gBAAgB,IAAI,KAAK,CAAC,MAAM,IAAI,gBAAgB,CAAC;IACrE,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC/B,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAEzB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAqB,EAA2B,EAAE;IAClF,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,kDAAkD,EAAE,CAAA;IAC7F,CAAC;IACD,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,OAAO,EAAE,iBAAiB;YAC1B,MAAM,EACJ,2FAA2F;gBAC3F,+EAA+E;SAClF,CAAA;IACH,CAAC;IACD,OAAO;QACL,OAAO,EAAE,UAAU;QACnB,MAAM,EACJ,yFAAyF;YACzF,iEAAiE;KACpE,CAAA;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"a11y-incomplete.d.ts","sourceRoot":"","sources":["../src/a11y-incomplete.ts"],"names":[],"mappings":"AAoBA;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAAmB,CAAA;AAuDzE;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,GAAI,YAAY,OAAO,KAAG,SAAS,MAAM,EAGpE,CAAA"}
1
+ {"version":3,"file":"a11y-incomplete.d.ts","sourceRoot":"","sources":["../src/a11y-incomplete.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAAmB,CAAA;AAuDzE;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,GAAI,YAAY,OAAO,KAAG,SAAS,MAAM,EAGpE,CAAA"}
@@ -1,21 +1,4 @@
1
- // What to do with the axe bucket the shipped sweep used to discard.
2
- //
3
- // axe returns three buckets, not two: `violations`, `passes`, and `incomplete` - the last meaning "a
4
- // check ran and could not decide". The accessibility sweep asserted `violations` alone, which reads as
5
- // the obvious thing to write and silently excluded the single worst defect the sweep exists to catch.
6
- //
7
- // An exactly equal foreground and background is filed as incomplete rather than as a violation,
8
- // because axe reads identical colours as text hidden on purpose and refers the question to a human.
9
- // So a control drawn in its own background colour - contrast ratio 1:1, invisible to every reader -
10
- // passed a gate built to measure contrast. A project confirmed it by mutation: removing the colour fix
11
- // from the page left the assertion green.
12
- //
13
- // The answer is narrow on purpose. A blanket "incomplete must be empty" would be wrong for a rule no
14
- // project can edit: text over a photograph, a gradient, or a partly transparent layer lands in this
15
- // bucket legitimately, and axe defers there because the question genuinely needs a human. `equalRatio`
16
- // is the one key that needs none - two identical colours cannot be a judgement call - so it is the one
17
- // key that fails. The list is a floor to widen when another key turns out to be as unambiguous, not a
18
- // ceiling.
1
+ // Promote only mechanically decidable axe incomplete results to failures; retain cases requiring visual judgment.
19
2
  import { asRecord, asText, isArray } from './json-shapes.js';
20
3
  /**
21
4
  * The axe `incomplete` message keys that describe a defect rather than a question.
@@ -1 +1 @@
1
- {"version":3,"file":"a11y-incomplete.js","sourceRoot":"","sources":["../src/a11y-incomplete.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"a11y-incomplete.js","sourceRoot":"","sources":["../src/a11y-incomplete.ts"],"names":[],"mappings":"AAAA,kHAAkH;AAClH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE5D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAsB,CAAC,YAAY,CAAC,CAAA;AAEzE,sGAAsG;AACtG,uGAAuG;AACvG,8EAA8E;AAC9E,MAAM,UAAU,GAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;AAE5D,qGAAqG;AACrG,qGAAqG;AACrG,MAAM,gBAAgB,GAAW,OAAO,CAAA;AAExC,MAAM,QAAQ,GAAG,CAAC,IAAa,EAAU,EAAE;IACzC,MAAM,MAAM,GAAY,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;IAChD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,OAAO,mBAAmB,CAAA;IAC5B,CAAC;IACD,MAAM,KAAK,GAAsB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAa,EAAU,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;IACpF,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;AAChF,CAAC,CAAA;AAED,MAAM,QAAQ,GAAG,CAAC,IAAa,EAAsB,EAAE,CACrD,UAAU,CAAC,OAAO,CAAC,CAAC,GAAW,EAAsB,EAAE;IACrD,MAAM,MAAM,GAAY,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;IAC3C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;AACtC,CAAC,CAAC,CAAA;AAEJ,iGAAiG;AACjG,oGAAoG;AACpG,oBAAoB;AACpB,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,IAAa,EAAE,KAAc,EAAU,EAAE;IAC9E,MAAM,OAAO,GAAW,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;IAC1D,MAAM,MAAM,GAAW,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAA;IAC/E,OAAO,GAAG,MAAM,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAA;AACpD,CAAC,CAAA;AAED,sGAAsG;AACtG,gFAAgF;AAChF,MAAM,YAAY,GAAG,CAAC,KAAc,EAAU,EAAE;IAC9C,MAAM,IAAI,GAA4B,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IACvE,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;AACnC,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,IAAa,EAAqB,EAAE,CAC1E,QAAQ,CAAC,IAAI,CAAC;KACX,MAAM,CAAC,CAAC,KAAc,EAAW,EAAE,CAAC,wBAAwB,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;KAC3F,GAAG,CAAC,CAAC,KAAc,EAAU,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;AAExE,MAAM,aAAa,GAAG,CAAC,MAAe,EAAqB,EAAE;IAC3D,MAAM,KAAK,GAAY,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;IAChD,MAAM,MAAM,GAAW,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACrD,OAAO,OAAO,CAAC,KAAK,CAAC;QACnB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAa,EAAqB,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnF,CAAC,CAAC,EAAE,CAAA;AACR,CAAC,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,UAAmB,EAAqB,EAAE,CAC/E,OAAO,CAAC,UAAU,CAAC;IACjB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAe,EAAqB,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACnF,CAAC,CAAC,EAAE,CAAA"}
@@ -38,6 +38,15 @@ export interface Granted {
38
38
  * A write is never a default a project should be able to reach by accident: Payload grants none of these
39
39
  * to an anonymous caller unless the project's own rule says so. `read` is judged too, but it is the one
40
40
  * a public site legitimately grants, which is what `publicAccess` exists to record.
41
+ *
42
+ * `readVersions` and `unlock` are judged for the reason `payload-defaults` demands they be decided at
43
+ * all. A version is the whole document, so a read narrowed to an audience is undone by asking for a
44
+ * version instead - and `readVersions: theSameHelperAsRead` reads as obviously right while handing a
45
+ * stranger everything the helper's filter was written to keep back. `unlock` clears the lockout an
46
+ * attempt cap just set. Payload reports both beside the four, and both were passing unlooked-at.
47
+ *
48
+ * Composed from the lists `payload-defaults.ts` already declares rather than restated here, so the two
49
+ * halves of the harness cannot drift into disagreeing about what an operation is called.
41
50
  */
42
51
  export declare const JUDGED_OPERATIONS: readonly string[];
43
52
  /** Whether Payload reported this operation as permitted, in either of the two shapes it sends. */
@@ -46,10 +55,43 @@ export declare const isPermitted: (permission: ReportedFields | ReportedPermissi
46
55
  export declare const grantedPermissions: (report: AccessReport) => readonly Granted[];
47
56
  /** How one grant is named, both in a report and in the `publicAccess` entry that would declare it. */
48
57
  export declare const describeGrant: (granted: Granted) => string;
58
+ /** The field paths an entity reports but stores nothing behind, keyed by the entity's slug. */
59
+ export type DatalessFields = Readonly<Record<string, readonly string[]>>;
60
+ /**
61
+ * Every field path a built Payload configuration reports but keeps no data behind.
62
+ *
63
+ * Read through the untyped accessors rather than through Payload's types, because this package depends
64
+ * on nothing: what arrives is the configuration Payload booted, and what is read of it is the same four
65
+ * keys the response is built from.
66
+ * @param config the built Payload configuration, as its module's default export.
67
+ * @returns the dataless paths of each entity that has any, keyed by slug.
68
+ */
69
+ export declare const datalessFieldsIn: (config: unknown) => DatalessFields;
49
70
  /**
50
71
  * The grants the running application makes to a stranger that the project has not recorded. Empty is
51
72
  * the only passing answer: a project that declares nothing is judged most strictly, and a declaration
52
73
  * narrows nothing else.
74
+ * @param report the body of `/api/access` for an anonymous caller.
75
+ * @param declared the project's `publicAccess` entries.
76
+ * @param dataless the field paths the configuration reports but stores nothing behind, from
77
+ * `datalessFieldsIn`. Defaulted to none, which judges every reported path and so errs strictly.
78
+ * @returns one finding per undeclared grant, in report order.
79
+ */
80
+ export declare const undeclaredGrants: (report: AccessReport, declared: readonly PublicAccess[], dataless?: DatalessFields) => readonly string[];
81
+ /**
82
+ * Every `publicAccess` declaration the running application does not bear out: an entity and operation
83
+ * it grants nobody, or a field path under a granted operation that no reported field matches.
84
+ *
85
+ * The mirror of `undeclaredGrants`, and the access-boundary twin of an exclusion that excludes nothing:
86
+ * a declaration matching no grant records a decision with no effect, outlives the field it was written
87
+ * for, and covers that field the day it is exposed again without anyone being asked. A `.**` subtree
88
+ * counts as borne out while the group or anything beneath it is granted, which keeps the trade that
89
+ * form makes; a subtree under which nothing is granted is a misspelling like any other.
90
+ * @param report the body of `/api/access` for an anonymous caller.
91
+ * @param declared the project's `publicAccess` entries.
92
+ * @param dataless the field paths the configuration reports but stores nothing behind, from
93
+ * `datalessFieldsIn`. A declaration naming one is therefore reported stale and can be removed.
94
+ * @returns one finding per stale entry or field, in declaration order.
53
95
  */
54
- export declare const undeclaredGrants: (report: AccessReport, declared: readonly PublicAccess[]) => readonly string[];
96
+ export declare const staleDeclarations: (report: AccessReport, declared: readonly PublicAccess[], dataless?: DatalessFields) => readonly string[];
55
97
  //# sourceMappingURL=access-boundary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"access-boundary.d.ts","sourceRoot":"","sources":["../src/access-boundary.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAC1B,OAAO,GACP;IAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAE/D;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;AAE/E;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAA;IAChC,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,kBAAkB,GAAG,SAAS,CAAA;CAC9E;AAED,sFAAsF;AACtF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;CAC5D;AAED,kGAAkG;AAClG,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAA2C,CAAA;AAO1F,kGAAkG;AAClG,eAAO,MAAM,WAAW,GACtB,YAAY,cAAc,GAAG,kBAAkB,GAAG,SAAS,KAC1D,OASF,CAAA;AA0DD,sFAAsF;AACtF,eAAO,MAAM,kBAAkB,GAAI,QAAQ,YAAY,KAAG,SAAS,OAAO,EAGzE,CAAA;AAED,sGAAsG;AACtG,eAAO,MAAM,aAAa,GAAI,SAAS,OAAO,KAAG,MAG8B,CAAA;AAiB/E;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,YAAY,EACpB,UAAU,SAAS,YAAY,EAAE,KAChC,SAAS,MAAM,EAG4C,CAAA"}
1
+ {"version":3,"file":"access-boundary.d.ts","sourceRoot":"","sources":["../src/access-boundary.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAC1B,OAAO,GACP;IAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAE/D;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;AAE/E;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAA;IAChC,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,kBAAkB,GAAG,SAAS,CAAA;CAC9E;AAED,sFAAsF;AACtF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;CAC5D;AAED,kGAAkG;AAClG,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAI9C,CAAA;AAOD,kGAAkG;AAClG,eAAO,MAAM,WAAW,GACtB,YAAY,cAAc,GAAG,kBAAkB,GAAG,SAAS,KAC1D,OASF,CAAA;AA0DD,sFAAsF;AACtF,eAAO,MAAM,kBAAkB,GAAI,QAAQ,YAAY,KAAG,SAAS,OAAO,EAGzE,CAAA;AAED,sGAAsG;AACtG,eAAO,MAAM,aAAa,GAAI,SAAS,OAAO,KAAG,MAG8B,CAAA;AAE/E,+FAA+F;AAC/F,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAA;AA4ExE;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,OAAO,KAAG,cAGjD,CAAA;AAyCF;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,YAAY,EACpB,UAAU,SAAS,YAAY,EAAE,EACjC,WAAU,cAAmB,KAC5B,SAAS,MAAM,EAG4C,CAAA;AA0B9D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,YAAY,EACpB,UAAU,SAAS,YAAY,EAAE,EACjC,WAAU,cAAmB,KAC5B,SAAS,MAAM,EAiBjB,CAAA"}
@@ -1,9 +1,25 @@
1
+ // Compare Payload anonymous grants with explicit entity and field declarations, including stale exceptions.
2
+ import { isArray, readKey } from './json-shapes.js';
3
+ import { COLLECTION_OPERATIONS, READ_VERSIONS_OPERATION, UNLOCK_OPERATION, } from './payload-defaults.js';
1
4
  /**
2
5
  * A write is never a default a project should be able to reach by accident: Payload grants none of these
3
6
  * to an anonymous caller unless the project's own rule says so. `read` is judged too, but it is the one
4
7
  * a public site legitimately grants, which is what `publicAccess` exists to record.
8
+ *
9
+ * `readVersions` and `unlock` are judged for the reason `payload-defaults` demands they be decided at
10
+ * all. A version is the whole document, so a read narrowed to an audience is undone by asking for a
11
+ * version instead - and `readVersions: theSameHelperAsRead` reads as obviously right while handing a
12
+ * stranger everything the helper's filter was written to keep back. `unlock` clears the lockout an
13
+ * attempt cap just set. Payload reports both beside the four, and both were passing unlooked-at.
14
+ *
15
+ * Composed from the lists `payload-defaults.ts` already declares rather than restated here, so the two
16
+ * halves of the harness cannot drift into disagreeing about what an operation is called.
5
17
  */
6
- export const JUDGED_OPERATIONS = ['create', 'read', 'update', 'delete'];
18
+ export const JUDGED_OPERATIONS = [
19
+ ...COLLECTION_OPERATIONS,
20
+ READ_VERSIONS_OPERATION,
21
+ UNLOCK_OPERATION,
22
+ ];
7
23
  /** The path standing in for a `fields` map Payload collapsed, which grants every field at once. */
8
24
  const EVERY_FIELD = '*';
9
25
  const PATH_SEPARATOR = '.';
@@ -58,11 +74,90 @@ export const grantedPermissions = (report) => [
58
74
  export const describeGrant = (granted) => granted.field === undefined
59
75
  ? `${granted.entity}.${granted.operation}`
60
76
  : `${granted.entity}.${granted.operation}${PATH_SEPARATOR}${granted.field}`;
77
+ /** The field type Payload renders in the panel and keeps no column for. */
78
+ const UI_FIELD_TYPE = 'ui';
79
+ // A tab set is a container whose children live one level down; each tab hoists or adds a segment of its
80
+ // own, which is why it is walked apart from an ordinary named field.
81
+ const TABS_FIELD_TYPE = 'tabs';
82
+ // Blocks are reported as a map of their own, keyed by block slug, and `fieldPathsFor` never descends
83
+ // into one. Descending here would compose paths the report never sends, which match nothing.
84
+ const BLOCKS_FIELD_TYPE = 'blocks';
85
+ /** A field's or tab's own name, or nothing when it is presentational and hoists its children. */
86
+ const nameOf = (subject) => {
87
+ const name = readKey(subject, 'name');
88
+ return typeof name === 'string' && name.length > 0 ? name : undefined;
89
+ };
90
+ // A named container adds its segment; an unnamed one - a row, a collapsible, an unnamed group or tab -
91
+ // stores nothing of its own, and Payload reports its children at the parent's level.
92
+ const prefixUnder = (prefix, name) => name === undefined ? prefix : `${prefix}${name}${PATH_SEPARATOR}`;
93
+ // Stated as the lists to descend into rather than by recursing here, so the walk below recurses into
94
+ // itself alone. A tab set contributes one list per tab, each hoisting or adding its own segment; a UI
95
+ // field and a block set contribute none; everything else contributes its own `fields`, which is absent
96
+ // on a leaf and read as an empty list.
97
+ const childFieldsOf = (field, prefix) => {
98
+ const type = readKey(field, 'type');
99
+ if (type === UI_FIELD_TYPE || type === BLOCKS_FIELD_TYPE) {
100
+ return [];
101
+ }
102
+ if (type === TABS_FIELD_TYPE) {
103
+ const tabs = readKey(field, 'tabs');
104
+ return (isArray(tabs) ? tabs : []).map((tab) => ({
105
+ fields: readKey(tab, 'fields'),
106
+ prefix: prefixUnder(prefix, nameOf(tab)),
107
+ }));
108
+ }
109
+ return [{ fields: readKey(field, 'fields'), prefix: prefixUnder(prefix, nameOf(field)) }];
110
+ };
111
+ // An unnamed UI field is reported by nothing, so it names no path to drop.
112
+ const datalessPathOf = (field, prefix) => {
113
+ const name = nameOf(field);
114
+ return name !== undefined && readKey(field, 'type') === UI_FIELD_TYPE ? [`${prefix}${name}`] : [];
115
+ };
116
+ const datalessInFields = (fields, prefix) => (isArray(fields) ? fields : []).flatMap((field) => [
117
+ ...datalessPathOf(field, prefix),
118
+ ...childFieldsOf(field, prefix).flatMap((child) => datalessInFields(child.fields, child.prefix)),
119
+ ]);
120
+ const datalessInEntities = (entities) => Object.fromEntries((isArray(entities) ? entities : []).flatMap((entity) => {
121
+ const slug = readKey(entity, 'slug');
122
+ const paths = datalessInFields(readKey(entity, 'fields'), '');
123
+ return typeof slug !== 'string' || paths.length === 0 ? [] : [[slug, paths]];
124
+ }));
125
+ /**
126
+ * Every field path a built Payload configuration reports but keeps no data behind.
127
+ *
128
+ * Read through the untyped accessors rather than through Payload's types, because this package depends
129
+ * on nothing: what arrives is the configuration Payload booted, and what is read of it is the same four
130
+ * keys the response is built from.
131
+ * @param config the built Payload configuration, as its module's default export.
132
+ * @returns the dataless paths of each entity that has any, keyed by slug.
133
+ */
134
+ export const datalessFieldsIn = (config) => ({
135
+ ...datalessInEntities(readKey(config, 'collections')),
136
+ ...datalessInEntities(readKey(config, 'globals')),
137
+ });
138
+ const isDataless = (granted, dataless) => granted.field !== undefined && (dataless[granted.entity] ?? []).includes(granted.field);
139
+ /** Every permission the report grants over something the configuration actually stores. */
140
+ const dataBearingGrants = (report, dataless) => grantedPermissions(report).filter((granted) => !isDataless(granted, dataless));
61
141
  // A field is matched by name and never by a wildcard the project could write for itself. An entry
62
142
  // listing `*` covers only the grant Payload itself collapsed to `*`, where every field is open and the
63
- // declaration is therefore exact rather than blanket. Nothing here lets one declaration stand for a
64
- // field added later, which is the whole reason the field half is judged at all.
65
- const coversField = (entry, field) => (entry.fields ?? []).includes(field);
143
+ // declaration is therefore exact rather than blanket.
144
+ //
145
+ // The ONE pattern a project may write is a trailing `.**` on a non-empty, star-free prefix: `sizes.**`
146
+ // names the group and everything beneath it - `sizes`, `sizes.thumbnail.url`, and a `sizes.*` Payload
147
+ // collapsed. An upload collection with eight renditions reports fifty-seven paths under `sizes`, and a
148
+ // list that long is a list nobody rereads, which defeats the declaration it exists to be. The trade is
149
+ // stated rather than hidden: a field added under that group later is covered by the same declaration.
150
+ // Every other spelling - `**` alone, `**` mid-path, `*` under a prefix - is a literal name, and a
151
+ // literal Payload never reports covers nothing, which fails in the safe direction. A top-level field
152
+ // therefore still has to be named one by one.
153
+ const SUBTREE_DECLARATION = /^([^*]+)\.\*\*$/;
154
+ const coversPath = (declared, field) => {
155
+ const prefix = SUBTREE_DECLARATION.exec(declared)?.[1];
156
+ return prefix === undefined
157
+ ? declared === field
158
+ : field === prefix || field.startsWith(`${prefix}${PATH_SEPARATOR}`);
159
+ };
160
+ const coversField = (entry, field) => (entry.fields ?? []).some((declared) => coversPath(declared, field));
66
161
  const isDeclared = (granted, declared) => declared.some((entry) => {
67
162
  if (entry.entity !== granted.entity || entry.operation !== granted.operation) {
68
163
  return false;
@@ -73,8 +168,54 @@ const isDeclared = (granted, declared) => declared.some((entry) => {
73
168
  * The grants the running application makes to a stranger that the project has not recorded. Empty is
74
169
  * the only passing answer: a project that declares nothing is judged most strictly, and a declaration
75
170
  * narrows nothing else.
171
+ * @param report the body of `/api/access` for an anonymous caller.
172
+ * @param declared the project's `publicAccess` entries.
173
+ * @param dataless the field paths the configuration reports but stores nothing behind, from
174
+ * `datalessFieldsIn`. Defaulted to none, which judges every reported path and so errs strictly.
175
+ * @returns one finding per undeclared grant, in report order.
76
176
  */
77
- export const undeclaredGrants = (report, declared) => grantedPermissions(report)
177
+ export const undeclaredGrants = (report, declared, dataless = {}) => dataBearingGrants(report, dataless)
78
178
  .filter((granted) => !isDeclared(granted, declared))
79
179
  .map((granted) => describeGrant(granted));
180
+ const isGranted = (entry, granted) => granted.some((grant) => grant.entity === entry.entity && grant.operation === entry.operation);
181
+ const isCovering = (entry, declared, granted) => granted.some((grant) => grant.entity === entry.entity &&
182
+ grant.operation === entry.operation &&
183
+ grant.field !== undefined &&
184
+ coversPath(declared, grant.field));
185
+ const describeDeclaration = (entry, field) => describeGrant({
186
+ entity: entry.entity,
187
+ operation: entry.operation,
188
+ ...(field !== undefined && { field }),
189
+ });
190
+ const NO_MATCHING_GRANT = 'covers no grant the application makes';
191
+ /**
192
+ * Every `publicAccess` declaration the running application does not bear out: an entity and operation
193
+ * it grants nobody, or a field path under a granted operation that no reported field matches.
194
+ *
195
+ * The mirror of `undeclaredGrants`, and the access-boundary twin of an exclusion that excludes nothing:
196
+ * a declaration matching no grant records a decision with no effect, outlives the field it was written
197
+ * for, and covers that field the day it is exposed again without anyone being asked. A `.**` subtree
198
+ * counts as borne out while the group or anything beneath it is granted, which keeps the trade that
199
+ * form makes; a subtree under which nothing is granted is a misspelling like any other.
200
+ * @param report the body of `/api/access` for an anonymous caller.
201
+ * @param declared the project's `publicAccess` entries.
202
+ * @param dataless the field paths the configuration reports but stores nothing behind, from
203
+ * `datalessFieldsIn`. A declaration naming one is therefore reported stale and can be removed.
204
+ * @returns one finding per stale entry or field, in declaration order.
205
+ */
206
+ export const staleDeclarations = (report, declared, dataless = {}) => {
207
+ const granted = dataBearingGrants(report, dataless);
208
+ return declared.flatMap((entry) => {
209
+ if (!isGranted(entry, granted)) {
210
+ return [
211
+ `publicAccess entry "${describeDeclaration(entry)}" ${NO_MATCHING_GRANT}; the access rule ` +
212
+ 'was closed or the entity renamed, so remove the entry',
213
+ ];
214
+ }
215
+ return (entry.fields ?? [])
216
+ .filter((field) => !isCovering(entry, field, granted))
217
+ .map((field) => `publicAccess entry "${describeDeclaration(entry, field)}" ${NO_MATCHING_GRANT}; the field ` +
218
+ 'was renamed, hidden or misspelt, so correct or remove it');
219
+ });
220
+ };
80
221
  //# sourceMappingURL=access-boundary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"access-boundary.js","sourceRoot":"","sources":["../src/access-boundary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"access-boundary.js","sourceRoot":"","sources":["../src/access-boundary.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"admin-view-coverage.d.ts","sourceRoot":"","sources":["../src/admin-view-coverage.ts"],"names":[],"mappings":"AAiBA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAG3D,sFAAsF;AACtF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAsCD;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,KAAG,SAAS,iBAAiB,EAejF,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAClC,OAAO,SAAS,iBAAiB,EAAE,EACnC,OAAO,SAAS,UAAU,EAAE,EAC5B,WAAW,SAAS,UAAU,EAAE,KAC/B,SAAS,gBAAgB,EA6BxB,CAAA"}
1
+ {"version":3,"file":"admin-view-coverage.d.ts","sourceRoot":"","sources":["../src/admin-view-coverage.ts"],"names":[],"mappings":"AACA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAG3D,sFAAsF;AACtF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAsCD;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,KAAG,SAAS,iBAAiB,EAejF,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAClC,OAAO,SAAS,iBAAiB,EAAE,EACnC,OAAO,SAAS,UAAU,EAAE,EAC5B,WAAW,SAAS,UAAU,EAAE,KAC/B,SAAS,gBAAgB,EA6BxB,CAAA"}
@@ -1,20 +1,4 @@
1
- // Custom admin views, and the accessibility hole they sit in.
2
- //
3
- // The pinned sweep skips `/admin` unconditionally, and correctly: the panel is Payload's markup rather
4
- // than the project's, and the crawl carries no credential to sign in with. A CUSTOM admin view is the
5
- // one thing inside that exemption the project wrote itself, and nothing else in the harness will ever
6
- // look at it. `jsx-a11y` reads the source, so it cannot see contrast, focus order, or a landmark whose
7
- // role depends on where the framework's template put the markup - and that last one is not
8
- // hypothetical: a bare `header` in a custom view becomes a second `banner` beside the panel's own,
9
- // which is invisible until something renders it.
10
- //
11
- // ploaness cannot do the scanning. It cannot sign in, it does not know which container belongs to the
12
- // project rather than to Payload, and a scan of the whole panel would report defects in components
13
- // nobody working in that project can repair. What it can do is refuse to let the view go unlooked at.
14
- // The configuration says a custom view exists; a spec has to say something scans it.
15
- //
16
- // This is the same shape as the anonymous-grant rule: the framework will happily leave a decision
17
- // unmade, so the project is required to have made it somewhere a check can see.
1
+ // Require static test evidence for authored admin views excluded from the anonymous crawl.
18
2
  import { containsRoute, reachesAxe } from './axe-coverage.js';
19
3
  import { balancedArguments, lineOf, stripComments } from './source-text.js';
20
4
  // `components` then `views`, each read as the block it opens rather than as text found anywhere in the
@@ -1 +1 @@
1
- {"version":3,"file":"admin-view-coverage.js","sourceRoot":"","sources":["../src/admin-view-coverage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-view-coverage.js","sourceRoot":"","sources":["../src/admin-view-coverage.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"asset-policy.d.ts","sourceRoot":"","sources":["../src/asset-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asset-policy.d.ts","sourceRoot":"","sources":["../src/asset-policy.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,4 @@
1
- // Managed-file policy. Some configuration is read
2
- // from the working tree by tools ploaness does not run (git, editors, coding agents), so it cannot live
3
- // inside the package and be resolved through node_modules the way an ESLint or Biome config can. Those
4
- // files are materialised into the consumer tree by `ploaness sync` and policed here.
5
- //
6
- // Five dispositions:
7
- // PINNED - ploaness owns the content; the file must exist and match byte for byte.
8
- // SEED - ploaness writes it once when absent; the project owns it thereafter and may edit it.
9
- // FORBIDDEN - the path must not exist, because ploaness supplies that configuration itself and a
10
- // working-tree copy would silently shadow or contradict it.
11
- // SECTION - ploaness owns a marked block at the top of the file; the project owns everything below
12
- // it. Neither PINNED nor SEED fits a file both parties must write: pinning it would forbid
13
- // the project its own agent instructions, and seeding it would let the contract statement
14
- // drift the moment ploaness changed.
15
- // REFERENCE - the path need not exist, but if it does it carries nothing but a pointer at AGENTS.md.
16
- // This is for the entry-point file a coding agent other than Claude reads. PINNED cannot
17
- // express it: pinning would force a project to carry an entry point for a tool it does
18
- // not use, and FORBIDDEN would bar it from using that tool at all. What the rule refuses
19
- // is a second set of instructions - the standard says the root instruction file holds the
20
- // rules and a tool-specific one only points at it, so two agents cannot be told two
21
- // different things. The form of the pointer is the tool's own: `@AGENTS.md` is Claude's
22
- // import syntax and means nothing to Cursor, so the check reads for the NAME rather than
23
- // demanding one spelling and forcing a file the tool cannot act on.
1
+ // Manage files that tools read from the working tree, where installed package configuration cannot reach them.
24
2
  const DISPOSITIONS = new Set([
25
3
  'PINNED',
26
4
  'SEED',
@@ -1 +1 @@
1
- {"version":3,"file":"asset-policy.js","sourceRoot":"","sources":["../src/asset-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asset-policy.js","sourceRoot":"","sources":["../src/asset-policy.ts"],"names":[],"mappings":"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"}
@@ -30,12 +30,11 @@ export declare const containsBuiltRoute: (source: string, prefix: string) => boo
30
30
  /**
31
31
  * Whether a specification scans with axe, directly or through a helper it imports.
32
32
  *
33
- * One hop, deliberately. A spec that scans through a helper is the ordinary arrangement and has to be
34
- * recognised; a chain deeper than that is a project hiding its own scan from itself, and following it
35
- * would trade a rule anyone can predict for one nobody can.
33
+ * This is static source evidence through at most one helper import. It does not establish execution;
34
+ * the end-to-end suite must run the scan.
36
35
  * @param spec the specification being judged.
37
36
  * @param everyFile every file it may import a scan from, the specifications included.
38
- * @returns true when running that spec reaches axe.
37
+ * @returns true when the source names axe directly or through an imported helper.
39
38
  */
40
39
  export declare const reachesAxe: (spec: SpecSource, everyFile: readonly SpecSource[]) => boolean;
41
40
  //# sourceMappingURL=axe-coverage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"axe-coverage.d.ts","sourceRoot":"","sources":["../src/axe-coverage.ts"],"names":[],"mappings":"AAgBA,uFAAuF;AACvF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AA0CD;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,KAAG,OACmB,CAAA;AAEjF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,EAAE,QAAQ,MAAM,KAAG,OACD,CAAA;AA4BnE;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,UAAU,EAAE,WAAW,SAAS,UAAU,EAAE,KAAG,OAI7E,CAAA"}
1
+ {"version":3,"file":"axe-coverage.d.ts","sourceRoot":"","sources":["../src/axe-coverage.ts"],"names":[],"mappings":"AAGA,uFAAuF;AACvF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAoBD;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,KAAG,OACmB,CAAA;AAEjF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,EAAE,QAAQ,MAAM,KAAG,OACD,CAAA;AAgCnE;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,UAAU,EAAE,WAAW,SAAS,UAAU,EAAE,KAAG,OAI7E,CAAA"}