@blamejs/blamejs-shop 0.5.12 → 0.5.13

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 (521) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/lib/asset-manifest.json +1 -1
  3. package/lib/vendor/MANIFEST.json +632 -416
  4. package/lib/vendor/blamejs/.clusterfuzzlite/Dockerfile +21 -10
  5. package/lib/vendor/blamejs/.clusterfuzzlite/build.sh +30 -9
  6. package/lib/vendor/blamejs/.github/dependabot.yml +8 -0
  7. package/lib/vendor/blamejs/.github/workflows/actions-lint.yml +3 -3
  8. package/lib/vendor/blamejs/.github/workflows/cflite_batch.yml +7 -2
  9. package/lib/vendor/blamejs/.github/workflows/cflite_pr.yml +7 -2
  10. package/lib/vendor/blamejs/.github/workflows/ci.yml +21 -21
  11. package/lib/vendor/blamejs/.github/workflows/codeql.yml +3 -3
  12. package/lib/vendor/blamejs/.github/workflows/npm-publish.yml +4 -4
  13. package/lib/vendor/blamejs/.github/workflows/release-container.yml +7 -7
  14. package/lib/vendor/blamejs/.github/workflows/scorecard.yml +3 -3
  15. package/lib/vendor/blamejs/.github/workflows/sha-to-tag-verify.yml +1 -1
  16. package/lib/vendor/blamejs/.gitignore +2 -0
  17. package/lib/vendor/blamejs/CHANGELOG.md +122 -0
  18. package/lib/vendor/blamejs/NOTICE +26 -1
  19. package/lib/vendor/blamejs/SECURITY.md +1 -1
  20. package/lib/vendor/blamejs/api-snapshot.json +207 -5
  21. package/lib/vendor/blamejs/docker/keycloak/realm-blamejs-test.json +29 -0
  22. package/lib/vendor/blamejs/examples/wiki/DEPLOY.md +1 -0
  23. package/lib/vendor/blamejs/examples/wiki/lib/build-app.js +31 -0
  24. package/lib/vendor/blamejs/examples/wiki/lib/source-comment-block-validator.js +109 -0
  25. package/lib/vendor/blamejs/examples/wiki/nginx.conf +106 -0
  26. package/lib/vendor/blamejs/examples/wiki/package-lock.json +1 -1
  27. package/lib/vendor/blamejs/examples/wiki/test/e2e.js +92 -0
  28. package/lib/vendor/blamejs/fuzz/asn1-der.fuzz.js +28 -0
  29. package/lib/vendor/blamejs/fuzz/cms-codec.fuzz.js +17 -0
  30. package/lib/vendor/blamejs/fuzz/link-header.fuzz.js +18 -0
  31. package/lib/vendor/blamejs/index.js +6 -0
  32. package/lib/vendor/blamejs/lib/a2a.js +4 -4
  33. package/lib/vendor/blamejs/lib/agent-idempotency.js +18 -2
  34. package/lib/vendor/blamejs/lib/agent-saga.js +36 -8
  35. package/lib/vendor/blamejs/lib/agent-snapshot.js +63 -6
  36. package/lib/vendor/blamejs/lib/app-shutdown.js +23 -20
  37. package/lib/vendor/blamejs/lib/archive-read.js +8 -0
  38. package/lib/vendor/blamejs/lib/archive-tar.js +12 -2
  39. package/lib/vendor/blamejs/lib/arg-parser.js +49 -5
  40. package/lib/vendor/blamejs/lib/asn1-der.js +12 -0
  41. package/lib/vendor/blamejs/lib/audit-sign.js +47 -1
  42. package/lib/vendor/blamejs/lib/audit.js +71 -8
  43. package/lib/vendor/blamejs/lib/auth/ciba.js +14 -2
  44. package/lib/vendor/blamejs/lib/auth/fido-mds3.js +58 -47
  45. package/lib/vendor/blamejs/lib/auth/jwt.js +34 -0
  46. package/lib/vendor/blamejs/lib/auth/oauth.js +90 -13
  47. package/lib/vendor/blamejs/lib/auth/oid4vci.js +20 -17
  48. package/lib/vendor/blamejs/lib/auth/openid-federation.js +214 -23
  49. package/lib/vendor/blamejs/lib/auth/saml.js +38 -20
  50. package/lib/vendor/blamejs/lib/auth/sd-jwt-vc.js +10 -4
  51. package/lib/vendor/blamejs/lib/backup/bundle.js +13 -3
  52. package/lib/vendor/blamejs/lib/backup/index.js +16 -5
  53. package/lib/vendor/blamejs/lib/backup/manifest.js +18 -5
  54. package/lib/vendor/blamejs/lib/base32.js +21 -0
  55. package/lib/vendor/blamejs/lib/break-glass.js +19 -10
  56. package/lib/vendor/blamejs/lib/bundler.js +5 -1
  57. package/lib/vendor/blamejs/lib/cache-status.js +3 -7
  58. package/lib/vendor/blamejs/lib/calendar.js +21 -1
  59. package/lib/vendor/blamejs/lib/cbor.js +12 -1
  60. package/lib/vendor/blamejs/lib/cert.js +29 -11
  61. package/lib/vendor/blamejs/lib/cli.js +94 -24
  62. package/lib/vendor/blamejs/lib/cloud-events.js +2 -2
  63. package/lib/vendor/blamejs/lib/cluster-provider-db.js +13 -3
  64. package/lib/vendor/blamejs/lib/codepoint-class.js +85 -0
  65. package/lib/vendor/blamejs/lib/compliance-ai-act-prohibited.js +8 -4
  66. package/lib/vendor/blamejs/lib/compliance-ai-act-transparency.js +19 -4
  67. package/lib/vendor/blamejs/lib/compliance-ai-act.js +6 -8
  68. package/lib/vendor/blamejs/lib/content-credentials.js +1 -1
  69. package/lib/vendor/blamejs/lib/content-digest.js +2 -1
  70. package/lib/vendor/blamejs/lib/cookies.js +13 -3
  71. package/lib/vendor/blamejs/lib/cose.js +31 -16
  72. package/lib/vendor/blamejs/lib/crypto-field.js +32 -0
  73. package/lib/vendor/blamejs/lib/crypto-oprf.js +11 -2
  74. package/lib/vendor/blamejs/lib/crypto-xwing.js +22 -4
  75. package/lib/vendor/blamejs/lib/crypto.js +314 -19
  76. package/lib/vendor/blamejs/lib/csp.js +11 -3
  77. package/lib/vendor/blamejs/lib/daemon.js +270 -24
  78. package/lib/vendor/blamejs/lib/dark-patterns.js +5 -2
  79. package/lib/vendor/blamejs/lib/db-declare-view.js +2 -2
  80. package/lib/vendor/blamejs/lib/db-query.js +34 -7
  81. package/lib/vendor/blamejs/lib/db.js +18 -6
  82. package/lib/vendor/blamejs/lib/dbsc.js +17 -0
  83. package/lib/vendor/blamejs/lib/dev.js +21 -2
  84. package/lib/vendor/blamejs/lib/dsr.js +157 -102
  85. package/lib/vendor/blamejs/lib/external-db.js +41 -2
  86. package/lib/vendor/blamejs/lib/file-upload.js +25 -7
  87. package/lib/vendor/blamejs/lib/flag-providers.js +27 -15
  88. package/lib/vendor/blamejs/lib/forms.js +113 -27
  89. package/lib/vendor/blamejs/lib/gate-contract.js +23 -10
  90. package/lib/vendor/blamejs/lib/gdpr-ropa.js +8 -1
  91. package/lib/vendor/blamejs/lib/guard-agent-registry.js +1 -1
  92. package/lib/vendor/blamejs/lib/guard-archive.js +2 -2
  93. package/lib/vendor/blamejs/lib/guard-cidr.js +27 -1
  94. package/lib/vendor/blamejs/lib/guard-graphql.js +30 -11
  95. package/lib/vendor/blamejs/lib/guard-html.js +26 -53
  96. package/lib/vendor/blamejs/lib/guard-image.js +24 -5
  97. package/lib/vendor/blamejs/lib/guard-imap-command.js +10 -2
  98. package/lib/vendor/blamejs/lib/guard-jmap.js +19 -3
  99. package/lib/vendor/blamejs/lib/guard-jwt.js +18 -2
  100. package/lib/vendor/blamejs/lib/guard-list-unsubscribe.js +2 -2
  101. package/lib/vendor/blamejs/lib/guard-managesieve-command.js +10 -2
  102. package/lib/vendor/blamejs/lib/guard-markdown.js +11 -24
  103. package/lib/vendor/blamejs/lib/guard-pdf.js +18 -2
  104. package/lib/vendor/blamejs/lib/guard-pop3-command.js +10 -2
  105. package/lib/vendor/blamejs/lib/guard-regex.js +8 -5
  106. package/lib/vendor/blamejs/lib/guard-svg.js +31 -32
  107. package/lib/vendor/blamejs/lib/guard-time.js +1 -1
  108. package/lib/vendor/blamejs/lib/guard-uuid.js +2 -2
  109. package/lib/vendor/blamejs/lib/html-balance.js +3 -3
  110. package/lib/vendor/blamejs/lib/http-client-cache.js +82 -4
  111. package/lib/vendor/blamejs/lib/http-client-cookie-jar.js +16 -1
  112. package/lib/vendor/blamejs/lib/http-client.js +39 -7
  113. package/lib/vendor/blamejs/lib/http-message-signature.js +35 -1
  114. package/lib/vendor/blamejs/lib/i18n-messageformat.js +31 -6
  115. package/lib/vendor/blamejs/lib/i18n.js +35 -21
  116. package/lib/vendor/blamejs/lib/incident-report.js +8 -1
  117. package/lib/vendor/blamejs/lib/ip-utils.js +11 -1
  118. package/lib/vendor/blamejs/lib/json-path.js +23 -1
  119. package/lib/vendor/blamejs/lib/jwk.js +20 -3
  120. package/lib/vendor/blamejs/lib/link-header.js +2 -1
  121. package/lib/vendor/blamejs/lib/log-stream-otlp-grpc.js +5 -1
  122. package/lib/vendor/blamejs/lib/log-stream-otlp.js +5 -1
  123. package/lib/vendor/blamejs/lib/log-stream.js +8 -3
  124. package/lib/vendor/blamejs/lib/mail-auth.js +123 -22
  125. package/lib/vendor/blamejs/lib/mail-bimi.js +1 -1
  126. package/lib/vendor/blamejs/lib/mail-bounce.js +8 -0
  127. package/lib/vendor/blamejs/lib/mail-crypto-pgp.js +46 -10
  128. package/lib/vendor/blamejs/lib/mail-dav.js +22 -3
  129. package/lib/vendor/blamejs/lib/mail-dkim.js +96 -30
  130. package/lib/vendor/blamejs/lib/mail-helo.js +6 -1
  131. package/lib/vendor/blamejs/lib/mail-scan.js +23 -16
  132. package/lib/vendor/blamejs/lib/mail-send-deliver.js +34 -8
  133. package/lib/vendor/blamejs/lib/mail-server-imap.js +3 -4
  134. package/lib/vendor/blamejs/lib/mail-server-managesieve.js +7 -11
  135. package/lib/vendor/blamejs/lib/mail-server-mx.js +93 -7
  136. package/lib/vendor/blamejs/lib/mail-server-registry.js +8 -2
  137. package/lib/vendor/blamejs/lib/mail.js +15 -5
  138. package/lib/vendor/blamejs/lib/metrics.js +268 -63
  139. package/lib/vendor/blamejs/lib/middleware/age-gate.js +7 -1
  140. package/lib/vendor/blamejs/lib/middleware/asyncapi-serve.js +1 -1
  141. package/lib/vendor/blamejs/lib/middleware/body-parser.js +19 -4
  142. package/lib/vendor/blamejs/lib/middleware/bot-guard.js +5 -9
  143. package/lib/vendor/blamejs/lib/middleware/csp-report.js +40 -8
  144. package/lib/vendor/blamejs/lib/middleware/csrf-protect.js +24 -10
  145. package/lib/vendor/blamejs/lib/middleware/dpop.js +10 -5
  146. package/lib/vendor/blamejs/lib/middleware/index.js +6 -1
  147. package/lib/vendor/blamejs/lib/middleware/nel.js +1 -1
  148. package/lib/vendor/blamejs/lib/middleware/openapi-serve.js +1 -1
  149. package/lib/vendor/blamejs/lib/middleware/rate-limit.js +12 -1
  150. package/lib/vendor/blamejs/lib/middleware/require-bound-key.js +1 -1
  151. package/lib/vendor/blamejs/lib/middleware/scim-server.js +1 -1
  152. package/lib/vendor/blamejs/lib/middleware/tus-upload.js +6 -2
  153. package/lib/vendor/blamejs/lib/mtls-ca.js +18 -2
  154. package/lib/vendor/blamejs/lib/network-dns-resolver.js +11 -1
  155. package/lib/vendor/blamejs/lib/network-dns.js +21 -2
  156. package/lib/vendor/blamejs/lib/network-tls.js +69 -7
  157. package/lib/vendor/blamejs/lib/nonce-store.js +9 -1
  158. package/lib/vendor/blamejs/lib/object-store/gcs.js +7 -0
  159. package/lib/vendor/blamejs/lib/object-store/sigv4.js +31 -0
  160. package/lib/vendor/blamejs/lib/observability-otlp-exporter.js +1 -1
  161. package/lib/vendor/blamejs/lib/outbox.js +1 -1
  162. package/lib/vendor/blamejs/lib/parsers/safe-ini.js +9 -1
  163. package/lib/vendor/blamejs/lib/parsers/safe-toml.js +10 -1
  164. package/lib/vendor/blamejs/lib/permissions.js +6 -3
  165. package/lib/vendor/blamejs/lib/pid-probe.js +55 -0
  166. package/lib/vendor/blamejs/lib/pqc-agent.js +8 -1
  167. package/lib/vendor/blamejs/lib/pqc-software.js +3 -3
  168. package/lib/vendor/blamejs/lib/pubsub.js +20 -9
  169. package/lib/vendor/blamejs/lib/queue-local.js +8 -1
  170. package/lib/vendor/blamejs/lib/queue-redis.js +5 -0
  171. package/lib/vendor/blamejs/lib/redact.js +54 -0
  172. package/lib/vendor/blamejs/lib/restore-bundle.js +10 -2
  173. package/lib/vendor/blamejs/lib/restore.js +19 -0
  174. package/lib/vendor/blamejs/lib/retention.js +12 -4
  175. package/lib/vendor/blamejs/lib/router.js +60 -6
  176. package/lib/vendor/blamejs/lib/safe-buffer.js +69 -0
  177. package/lib/vendor/blamejs/lib/safe-decompress.js +8 -2
  178. package/lib/vendor/blamejs/lib/safe-dns.js +25 -20
  179. package/lib/vendor/blamejs/lib/safe-ical.js +7 -3
  180. package/lib/vendor/blamejs/lib/safe-mime.js +12 -1
  181. package/lib/vendor/blamejs/lib/safe-object.js +80 -0
  182. package/lib/vendor/blamejs/lib/safe-path.js +52 -4
  183. package/lib/vendor/blamejs/lib/safe-redirect.js +10 -2
  184. package/lib/vendor/blamejs/lib/safe-schema.js +4 -1
  185. package/lib/vendor/blamejs/lib/safe-sieve.js +33 -1
  186. package/lib/vendor/blamejs/lib/safe-sql.js +88 -0
  187. package/lib/vendor/blamejs/lib/safe-vcard.js +7 -3
  188. package/lib/vendor/blamejs/lib/scheduler.js +8 -1
  189. package/lib/vendor/blamejs/lib/security-assert.js +6 -6
  190. package/lib/vendor/blamejs/lib/self-update-standalone-verifier.js +74 -27
  191. package/lib/vendor/blamejs/lib/self-update.js +517 -87
  192. package/lib/vendor/blamejs/lib/server-timing.js +2 -4
  193. package/lib/vendor/blamejs/lib/session.js +34 -12
  194. package/lib/vendor/blamejs/lib/sql.js +15 -1
  195. package/lib/vendor/blamejs/lib/ssrf-guard.js +52 -0
  196. package/lib/vendor/blamejs/lib/static.js +55 -13
  197. package/lib/vendor/blamejs/lib/storage.js +8 -2
  198. package/lib/vendor/blamejs/lib/subject.js +6 -1
  199. package/lib/vendor/blamejs/lib/tenant-quota.js +52 -13
  200. package/lib/vendor/blamejs/lib/tls-exporter.js +3 -3
  201. package/lib/vendor/blamejs/lib/tsa.js +34 -13
  202. package/lib/vendor/blamejs/lib/uri-template.js +8 -1
  203. package/lib/vendor/blamejs/lib/vault/index.js +13 -0
  204. package/lib/vendor/blamejs/lib/vc.js +44 -5
  205. package/lib/vendor/blamejs/lib/vendor/MANIFEST.json +26 -26
  206. package/lib/vendor/blamejs/lib/vendor/noble-ciphers.cjs +792 -1
  207. package/lib/vendor/blamejs/lib/vendor/noble-curves.cjs +3443 -1
  208. package/lib/vendor/blamejs/lib/vendor/noble-post-quantum.cjs +2737 -1
  209. package/lib/vendor/blamejs/lib/vendor/pki.cjs +39550 -13
  210. package/lib/vendor/blamejs/lib/vendor/public-suffix-list.dat +55 -53
  211. package/lib/vendor/blamejs/lib/vendor/public-suffix-list.data.js +5551 -5554
  212. package/lib/vendor/blamejs/lib/vendor/simplewebauthn-server.cjs +22459 -32
  213. package/lib/vendor/blamejs/lib/watcher.js +89 -17
  214. package/lib/vendor/blamejs/lib/webhook-dispatcher.js +25 -3
  215. package/lib/vendor/blamejs/lib/webhook.js +12 -2
  216. package/lib/vendor/blamejs/lib/ws-client.js +32 -1
  217. package/lib/vendor/blamejs/lib/xml-c14n.js +29 -1
  218. package/lib/vendor/blamejs/oss-fuzz/projects/blamejs/Dockerfile +1 -1
  219. package/lib/vendor/blamejs/package-lock.json +2 -2
  220. package/lib/vendor/blamejs/package.json +1 -1
  221. package/lib/vendor/blamejs/release-notes/v0.16.x.json +1462 -0
  222. package/lib/vendor/blamejs/release-notes/v0.17.0.json +31 -0
  223. package/lib/vendor/blamejs/release-notes/v0.17.1.json +31 -0
  224. package/lib/vendor/blamejs/release-notes/v0.17.10.json +30 -0
  225. package/lib/vendor/blamejs/release-notes/v0.17.11.json +22 -0
  226. package/lib/vendor/blamejs/release-notes/v0.17.12.json +18 -0
  227. package/lib/vendor/blamejs/release-notes/v0.17.13.json +77 -0
  228. package/lib/vendor/blamejs/release-notes/v0.17.14.json +40 -0
  229. package/lib/vendor/blamejs/release-notes/v0.17.15.json +18 -0
  230. package/lib/vendor/blamejs/release-notes/v0.17.16.json +27 -0
  231. package/lib/vendor/blamejs/release-notes/v0.17.17.json +31 -0
  232. package/lib/vendor/blamejs/release-notes/v0.17.18.json +18 -0
  233. package/lib/vendor/blamejs/release-notes/v0.17.19.json +18 -0
  234. package/lib/vendor/blamejs/release-notes/v0.17.2.json +26 -0
  235. package/lib/vendor/blamejs/release-notes/v0.17.20.json +43 -0
  236. package/lib/vendor/blamejs/release-notes/v0.17.21.json +26 -0
  237. package/lib/vendor/blamejs/release-notes/v0.17.22.json +18 -0
  238. package/lib/vendor/blamejs/release-notes/v0.17.3.json +43 -0
  239. package/lib/vendor/blamejs/release-notes/v0.17.4.json +35 -0
  240. package/lib/vendor/blamejs/release-notes/v0.17.5.json +26 -0
  241. package/lib/vendor/blamejs/release-notes/v0.17.6.json +26 -0
  242. package/lib/vendor/blamejs/release-notes/v0.17.7.json +35 -0
  243. package/lib/vendor/blamejs/release-notes/v0.17.8.json +22 -0
  244. package/lib/vendor/blamejs/release-notes/v0.17.9.json +26 -0
  245. package/lib/vendor/blamejs/scripts/validate-source-comment-blocks.js +4 -0
  246. package/lib/vendor/blamejs/scripts/vendor-update.sh +293 -9
  247. package/lib/vendor/blamejs/socket.yml +94 -0
  248. package/lib/vendor/blamejs/test/00-primitives.js +605 -0
  249. package/lib/vendor/blamejs/test/helpers/drivers.js +12 -9
  250. package/lib/vendor/blamejs/test/integration/audit-stack-mysql.test.js +90 -1
  251. package/lib/vendor/blamejs/test/integration/audit-stack-postgres.test.js +122 -1
  252. package/lib/vendor/blamejs/test/integration/data-layer-mysql.test.js +30 -0
  253. package/lib/vendor/blamejs/test/integration/data-layer-pg.test.js +29 -0
  254. package/lib/vendor/blamejs/test/integration/dsr-cluster-mysql.test.js +479 -0
  255. package/lib/vendor/blamejs/test/integration/dsr-cluster-pg.test.js +487 -0
  256. package/lib/vendor/blamejs/test/integration/federation-auth.test.js +313 -5
  257. package/lib/vendor/blamejs/test/integration/mail-dkim.test.js +80 -0
  258. package/lib/vendor/blamejs/test/integration/openid-federation-chain.test.js +275 -0
  259. package/lib/vendor/blamejs/test/integration/webhook-dispatcher-pg.test.js +96 -0
  260. package/lib/vendor/blamejs/test/layer-0-primitives/a2a-tasks.test.js +401 -0
  261. package/lib/vendor/blamejs/test/layer-0-primitives/acme.test.js +1649 -2
  262. package/lib/vendor/blamejs/test/layer-0-primitives/age-gate.test.js +33 -0
  263. package/lib/vendor/blamejs/test/layer-0-primitives/agent-idempotency.test.js +0 -0
  264. package/lib/vendor/blamejs/test/layer-0-primitives/agent-saga.test.js +60 -0
  265. package/lib/vendor/blamejs/test/layer-0-primitives/agent-snapshot.test.js +524 -0
  266. package/lib/vendor/blamejs/test/layer-0-primitives/api-encrypt.test.js +891 -0
  267. package/lib/vendor/blamejs/test/layer-0-primitives/app-shutdown.test.js +128 -1
  268. package/lib/vendor/blamejs/test/layer-0-primitives/archive-adapters.test.js +271 -0
  269. package/lib/vendor/blamejs/test/layer-0-primitives/archive-read.test.js +628 -1
  270. package/lib/vendor/blamejs/test/layer-0-primitives/archive-tar-read.test.js +0 -0
  271. package/lib/vendor/blamejs/test/layer-0-primitives/archive-wrap.test.js +227 -0
  272. package/lib/vendor/blamejs/test/layer-0-primitives/arg-parser.test.js +15 -0
  273. package/lib/vendor/blamejs/test/layer-0-primitives/asn1-der.test.js +73 -0
  274. package/lib/vendor/blamejs/test/layer-0-primitives/atomic-file.test.js +114 -0
  275. package/lib/vendor/blamejs/test/layer-0-primitives/audit-sign-anchor.test.js +141 -0
  276. package/lib/vendor/blamejs/test/layer-0-primitives/audit-tools.test.js +624 -0
  277. package/lib/vendor/blamejs/test/layer-0-primitives/audit.test.js +769 -0
  278. package/lib/vendor/blamejs/test/layer-0-primitives/auth-jwt-defenses.test.js +436 -0
  279. package/lib/vendor/blamejs/test/layer-0-primitives/auth-oauth.test.js +1697 -0
  280. package/lib/vendor/blamejs/test/layer-0-primitives/auth-oid4vp.test.js +495 -0
  281. package/lib/vendor/blamejs/test/layer-0-primitives/auth-password.test.js +500 -0
  282. package/lib/vendor/blamejs/test/layer-0-primitives/auth-saml.test.js +1809 -0
  283. package/lib/vendor/blamejs/test/layer-0-primitives/auth-status-list.test.js +243 -1
  284. package/lib/vendor/blamejs/test/layer-0-primitives/backup-index.test.js +2226 -0
  285. package/lib/vendor/blamejs/test/layer-0-primitives/backup-manifest-signature.test.js +183 -0
  286. package/lib/vendor/blamejs/test/layer-0-primitives/base32.test.js +105 -0
  287. package/lib/vendor/blamejs/test/layer-0-primitives/break-glass.test.js +693 -0
  288. package/lib/vendor/blamejs/test/layer-0-primitives/cache.test.js +603 -0
  289. package/lib/vendor/blamejs/test/layer-0-primitives/calendar.test.js +557 -0
  290. package/lib/vendor/blamejs/test/layer-0-primitives/case-insensitive-security-token-guard.test.js +214 -0
  291. package/lib/vendor/blamejs/test/layer-0-primitives/cbor.test.js +25 -0
  292. package/lib/vendor/blamejs/test/layer-0-primitives/cert.test.js +843 -6
  293. package/lib/vendor/blamejs/test/layer-0-primitives/ciba-authreqid-binding.test.js +77 -2
  294. package/lib/vendor/blamejs/test/layer-0-primitives/ciba.test.js +866 -0
  295. package/lib/vendor/blamejs/test/layer-0-primitives/clear-site-data.test.js +18 -0
  296. package/lib/vendor/blamejs/test/layer-0-primitives/cli-erase.test.js +19 -0
  297. package/lib/vendor/blamejs/test/layer-0-primitives/cli.test.js +2790 -0
  298. package/lib/vendor/blamejs/test/layer-0-primitives/cluster-lease-renewal-ttl.test.js +114 -0
  299. package/lib/vendor/blamejs/test/layer-0-primitives/cluster.test.js +1032 -0
  300. package/lib/vendor/blamejs/test/layer-0-primitives/cms-codec.test.js +575 -0
  301. package/lib/vendor/blamejs/test/layer-0-primitives/codebase-patterns.test.js +739 -1
  302. package/lib/vendor/blamejs/test/layer-0-primitives/codepoint-class.test.js +8 -0
  303. package/lib/vendor/blamejs/test/layer-0-primitives/compliance-ai-act.test.js +194 -0
  304. package/lib/vendor/blamejs/test/layer-0-primitives/compliance-lifecycle-proto-key.test.js +104 -0
  305. package/lib/vendor/blamejs/test/layer-0-primitives/compliance-sanctions.test.js +254 -0
  306. package/lib/vendor/blamejs/test/layer-0-primitives/content-credentials.test.js +613 -3
  307. package/lib/vendor/blamejs/test/layer-0-primitives/cookies.test.js +140 -0
  308. package/lib/vendor/blamejs/test/layer-0-primitives/cose.test.js +407 -0
  309. package/lib/vendor/blamejs/test/layer-0-primitives/crypto-adversarial.test.js +352 -0
  310. package/lib/vendor/blamejs/test/layer-0-primitives/crypto-field-derived-hash.test.js +32 -0
  311. package/lib/vendor/blamejs/test/layer-0-primitives/crypto-field.test.js +575 -0
  312. package/lib/vendor/blamejs/test/layer-0-primitives/crypto-hash-files-parallel.test.js +10 -0
  313. package/lib/vendor/blamejs/test/layer-0-primitives/crypto-hash-stream.test.js +24 -0
  314. package/lib/vendor/blamejs/test/layer-0-primitives/crypto-oprf.test.js +17 -0
  315. package/lib/vendor/blamejs/test/layer-0-primitives/crypto-spki-pin.test.js +183 -0
  316. package/lib/vendor/blamejs/test/layer-0-primitives/crypto-xwing.test.js +48 -0
  317. package/lib/vendor/blamejs/test/layer-0-primitives/crypto.test.js +345 -0
  318. package/lib/vendor/blamejs/test/layer-0-primitives/csp-report.test.js +58 -0
  319. package/lib/vendor/blamejs/test/layer-0-primitives/csv.test.js +48 -0
  320. package/lib/vendor/blamejs/test/layer-0-primitives/daemon.test.js +459 -1
  321. package/lib/vendor/blamejs/test/layer-0-primitives/dark-patterns.test.js +19 -0
  322. package/lib/vendor/blamejs/test/layer-0-primitives/db-query.test.js +1019 -0
  323. package/lib/vendor/blamejs/test/layer-0-primitives/db-raw-residency-gate.test.js +77 -0
  324. package/lib/vendor/blamejs/test/layer-0-primitives/db.test.js +1621 -0
  325. package/lib/vendor/blamejs/test/layer-0-primitives/ddl-change-control.test.js +462 -3
  326. package/lib/vendor/blamejs/test/layer-0-primitives/dnssec.test.js +323 -0
  327. package/lib/vendor/blamejs/test/layer-0-primitives/dpop-middleware-verify.test.js +562 -0
  328. package/lib/vendor/blamejs/test/layer-0-primitives/dsr.test.js +901 -1
  329. package/lib/vendor/blamejs/test/layer-0-primitives/dual-control.test.js +249 -0
  330. package/lib/vendor/blamejs/test/layer-0-primitives/external-db-migrate.test.js +561 -0
  331. package/lib/vendor/blamejs/test/layer-0-primitives/external-db.test.js +1214 -0
  332. package/lib/vendor/blamejs/test/layer-0-primitives/fal.test.js +21 -0
  333. package/lib/vendor/blamejs/test/layer-0-primitives/fedcm-dbsc.test.js +46 -20
  334. package/lib/vendor/blamejs/test/layer-0-primitives/federation-vc-suite.test.js +147 -3
  335. package/lib/vendor/blamejs/test/layer-0-primitives/fido-mds3.test.js +907 -38
  336. package/lib/vendor/blamejs/test/layer-0-primitives/file-upload-content-safety-skip-audit.test.js +29 -0
  337. package/lib/vendor/blamejs/test/layer-0-primitives/file-upload.test.js +1135 -0
  338. package/lib/vendor/blamejs/test/layer-0-primitives/flag.test.js +30 -0
  339. package/lib/vendor/blamejs/test/layer-0-primitives/forms.test.js +747 -0
  340. package/lib/vendor/blamejs/test/layer-0-primitives/gate-contract.test.js +1855 -0
  341. package/lib/vendor/blamejs/test/layer-0-primitives/gdpr-ropa.test.js +30 -0
  342. package/lib/vendor/blamejs/test/layer-0-primitives/guard-archive.test.js +86 -0
  343. package/lib/vendor/blamejs/test/layer-0-primitives/guard-auth.test.js +117 -0
  344. package/lib/vendor/blamejs/test/layer-0-primitives/guard-cidr.test.js +151 -0
  345. package/lib/vendor/blamejs/test/layer-0-primitives/guard-domain.test.js +422 -0
  346. package/lib/vendor/blamejs/test/layer-0-primitives/guard-filename.test.js +424 -0
  347. package/lib/vendor/blamejs/test/layer-0-primitives/{guard-gate-disposition-coverage.test.js → guard-gate-disposition.test.js} +1 -1
  348. package/lib/vendor/blamejs/test/layer-0-primitives/guard-graphql.test.js +340 -0
  349. package/lib/vendor/blamejs/test/layer-0-primitives/guard-html.test.js +29 -0
  350. package/lib/vendor/blamejs/test/layer-0-primitives/guard-idempotency-key.test.js +28 -0
  351. package/lib/vendor/blamejs/test/layer-0-primitives/guard-image.test.js +519 -45
  352. package/lib/vendor/blamejs/test/layer-0-primitives/guard-imap-command.test.js +0 -0
  353. package/lib/vendor/blamejs/test/layer-0-primitives/guard-jmap.test.js +51 -0
  354. package/lib/vendor/blamejs/test/layer-0-primitives/guard-jsonpath.test.js +66 -0
  355. package/lib/vendor/blamejs/test/layer-0-primitives/guard-jwt.test.js +436 -0
  356. package/lib/vendor/blamejs/test/layer-0-primitives/guard-managesieve-command.test.js +25 -0
  357. package/lib/vendor/blamejs/test/layer-0-primitives/guard-markdown.test.js +16 -0
  358. package/lib/vendor/blamejs/test/layer-0-primitives/guard-mime.test.js +86 -0
  359. package/lib/vendor/blamejs/test/layer-0-primitives/guard-oauth.test.js +140 -0
  360. package/lib/vendor/blamejs/test/layer-0-primitives/guard-pdf.test.js +80 -0
  361. package/lib/vendor/blamejs/test/layer-0-primitives/guard-pop3-command.test.js +27 -0
  362. package/lib/vendor/blamejs/test/layer-0-primitives/guard-regex.test.js +99 -0
  363. package/lib/vendor/blamejs/test/layer-0-primitives/guard-shell.test.js +76 -0
  364. package/lib/vendor/blamejs/test/layer-0-primitives/{guard-sql-coverage.test.js → guard-sql.test.js} +3 -3
  365. package/lib/vendor/blamejs/test/layer-0-primitives/guard-svg.test.js +524 -0
  366. package/lib/vendor/blamejs/test/layer-0-primitives/guard-template.test.js +71 -0
  367. package/lib/vendor/blamejs/test/layer-0-primitives/guard-time.test.js +92 -0
  368. package/lib/vendor/blamejs/test/layer-0-primitives/guard-uuid.test.js +86 -0
  369. package/lib/vendor/blamejs/test/layer-0-primitives/html-balance.test.js +38 -0
  370. package/lib/vendor/blamejs/test/layer-0-primitives/http-client-cache-authorization.test.js +347 -0
  371. package/lib/vendor/blamejs/test/layer-0-primitives/http-client-cache.test.js +908 -0
  372. package/lib/vendor/blamejs/test/layer-0-primitives/http-client.test.js +2874 -0
  373. package/lib/vendor/blamejs/test/layer-0-primitives/http-message-signature.test.js +643 -0
  374. package/lib/vendor/blamejs/test/layer-0-primitives/i18n-messageformat.test.js +38 -0
  375. package/lib/vendor/blamejs/test/layer-0-primitives/i18n.test.js +1153 -1
  376. package/lib/vendor/blamejs/test/layer-0-primitives/idempotency-key.test.js +494 -0
  377. package/lib/vendor/blamejs/test/layer-0-primitives/ip-utils.test.js +30 -0
  378. package/lib/vendor/blamejs/test/layer-0-primitives/jsdoc-example-execution.test.js +177 -0
  379. package/lib/vendor/blamejs/test/layer-0-primitives/json-path.test.js +103 -0
  380. package/lib/vendor/blamejs/test/layer-0-primitives/json-schema.test.js +214 -0
  381. package/lib/vendor/blamejs/test/layer-0-primitives/jwk.test.js +41 -0
  382. package/lib/vendor/blamejs/test/layer-0-primitives/jwt-external.test.js +276 -0
  383. package/lib/vendor/blamejs/test/layer-0-primitives/keychain.test.js +0 -0
  384. package/lib/vendor/blamejs/test/layer-0-primitives/log-stream.test.js +241 -0
  385. package/lib/vendor/blamejs/test/layer-0-primitives/log.test.js +106 -0
  386. package/lib/vendor/blamejs/test/layer-0-primitives/mail-agent.test.js +441 -0
  387. package/lib/vendor/blamejs/test/layer-0-primitives/mail-auth.test.js +2136 -4
  388. package/lib/vendor/blamejs/test/layer-0-primitives/mail-bimi.test.js +759 -12
  389. package/lib/vendor/blamejs/test/layer-0-primitives/mail-bounce.test.js +811 -1
  390. package/lib/vendor/blamejs/test/layer-0-primitives/mail-crypto-pgp-experimental.test.js +401 -3
  391. package/lib/vendor/blamejs/test/layer-0-primitives/mail-crypto-pgp.test.js +751 -8
  392. package/lib/vendor/blamejs/test/layer-0-primitives/mail-crypto-smime.test.js +864 -0
  393. package/lib/vendor/blamejs/test/layer-0-primitives/mail-crypto.test.js +110 -0
  394. package/lib/vendor/blamejs/test/layer-0-primitives/mail-dav.test.js +830 -1
  395. package/lib/vendor/blamejs/test/layer-0-primitives/mail-deploy.test.js +635 -86
  396. package/lib/vendor/blamejs/test/layer-0-primitives/mail-dkim.test.js +818 -0
  397. package/lib/vendor/blamejs/test/layer-0-primitives/mail-helo.test.js +27 -0
  398. package/lib/vendor/blamejs/test/layer-0-primitives/mail-scan.test.js +199 -0
  399. package/lib/vendor/blamejs/test/layer-0-primitives/mail-send-deliver.test.js +686 -2
  400. package/lib/vendor/blamejs/test/layer-0-primitives/mail-server-imap.test.js +778 -0
  401. package/lib/vendor/blamejs/test/layer-0-primitives/mail-server-jmap.test.js +1438 -0
  402. package/lib/vendor/blamejs/test/layer-0-primitives/mail-server-managesieve.test.js +449 -6
  403. package/lib/vendor/blamejs/test/layer-0-primitives/mail-server-mx.test.js +773 -2
  404. package/lib/vendor/blamejs/test/layer-0-primitives/mail-server-pop3.test.js +623 -3
  405. package/lib/vendor/blamejs/test/layer-0-primitives/mail-server-rate-limit.test.js +55 -0
  406. package/lib/vendor/blamejs/test/layer-0-primitives/mail-server-registry.test.js +13 -0
  407. package/lib/vendor/blamejs/test/layer-0-primitives/mail-server-submission.test.js +877 -1
  408. package/lib/vendor/blamejs/test/layer-0-primitives/mail-sieve.test.js +326 -0
  409. package/lib/vendor/blamejs/test/layer-0-primitives/mail-store-fts.test.js +55 -0
  410. package/lib/vendor/blamejs/test/layer-0-primitives/mail-store.test.js +242 -0
  411. package/lib/vendor/blamejs/test/layer-0-primitives/mail.test.js +1596 -2
  412. package/lib/vendor/blamejs/test/layer-0-primitives/mcp.test.js +440 -4
  413. package/lib/vendor/blamejs/test/layer-0-primitives/metrics-snapshot.test.js +89 -0
  414. package/lib/vendor/blamejs/test/layer-0-primitives/metrics.test.js +1230 -0
  415. package/lib/vendor/blamejs/test/layer-0-primitives/middleware-assetlinks.test.js +113 -0
  416. package/lib/vendor/blamejs/test/layer-0-primitives/middleware-body-parser.test.js +1169 -0
  417. package/lib/vendor/blamejs/test/layer-0-primitives/middleware-bot-disclose.test.js +123 -0
  418. package/lib/vendor/blamejs/test/layer-0-primitives/middleware-cookies.test.js +108 -0
  419. package/lib/vendor/blamejs/test/layer-0-primitives/middleware-gpc.test.js +121 -0
  420. package/lib/vendor/blamejs/test/layer-0-primitives/middleware-headers.test.js +163 -0
  421. package/lib/vendor/blamejs/test/layer-0-primitives/middleware-host-allowlist.test.js +154 -0
  422. package/lib/vendor/blamejs/test/layer-0-primitives/middleware-require-content-type.test.js +127 -0
  423. package/lib/vendor/blamejs/test/layer-0-primitives/{middleware-tus-upload-coverage.test.js → middleware-tus-upload.test.js} +45 -0
  424. package/lib/vendor/blamejs/test/layer-0-primitives/middleware-web-app-manifest.test.js +132 -0
  425. package/lib/vendor/blamejs/test/layer-0-primitives/mtls-ca-crl-fingerprint-only.test.js +92 -0
  426. package/lib/vendor/blamejs/test/layer-0-primitives/network-dns-resolver.test.js +65 -0
  427. package/lib/vendor/blamejs/test/layer-0-primitives/network-dns.test.js +1727 -1
  428. package/lib/vendor/blamejs/test/layer-0-primitives/network-nts.test.js +699 -0
  429. package/lib/vendor/blamejs/test/layer-0-primitives/network-smtp-policy.test.js +1181 -0
  430. package/lib/vendor/blamejs/test/layer-0-primitives/network-tls.test.js +1876 -3
  431. package/lib/vendor/blamejs/test/layer-0-primitives/network.test.js +32 -0
  432. package/lib/vendor/blamejs/test/layer-0-primitives/nonce-store-enforce-replay-nonboolean.test.js +81 -0
  433. package/lib/vendor/blamejs/test/layer-0-primitives/ntp-check.test.js +122 -0
  434. package/lib/vendor/blamejs/test/layer-0-primitives/observability-tracing.test.js +378 -0
  435. package/lib/vendor/blamejs/test/layer-0-primitives/observability.test.js +77 -0
  436. package/lib/vendor/blamejs/test/layer-0-primitives/oid4vci.test.js +1016 -0
  437. package/lib/vendor/blamejs/test/layer-0-primitives/openid-federation.test.js +946 -0
  438. package/lib/vendor/blamejs/test/layer-0-primitives/outbox.test.js +818 -0
  439. package/lib/vendor/blamejs/test/layer-0-primitives/own-property-membership-guards.test.js +109 -0
  440. package/lib/vendor/blamejs/test/layer-0-primitives/parsers-safe-toml.test.js +543 -0
  441. package/lib/vendor/blamejs/test/layer-0-primitives/{parsers-safe-yaml-coverage.test.js → parsers-safe-yaml.test.js} +2 -2
  442. package/lib/vendor/blamejs/test/layer-0-primitives/parsers-standalone.test.js +73 -0
  443. package/lib/vendor/blamejs/test/layer-0-primitives/passkey.test.js +649 -0
  444. package/lib/vendor/blamejs/test/layer-0-primitives/permissions.test.js +524 -0
  445. package/lib/vendor/blamejs/test/layer-0-primitives/pqc-agent-curve.test.js +22 -0
  446. package/lib/vendor/blamejs/test/layer-0-primitives/pubsub.test.js +295 -0
  447. package/lib/vendor/blamejs/test/layer-0-primitives/queue-flow-repeat.test.js +36 -0
  448. package/lib/vendor/blamejs/test/layer-0-primitives/queue.test.js +83 -0
  449. package/lib/vendor/blamejs/test/layer-0-primitives/rate-limit-xff-spoofing.test.js +34 -0
  450. package/lib/vendor/blamejs/test/layer-0-primitives/redact.test.js +1031 -0
  451. package/lib/vendor/blamejs/test/layer-0-primitives/request-helpers.test.js +94 -0
  452. package/lib/vendor/blamejs/test/layer-0-primitives/require-bound-key.test.js +401 -0
  453. package/lib/vendor/blamejs/test/layer-0-primitives/restore-empty-manifest-wipe.test.js +154 -0
  454. package/lib/vendor/blamejs/test/layer-0-primitives/retention.test.js +600 -0
  455. package/lib/vendor/blamejs/test/layer-0-primitives/router-host-path-injection.test.js +231 -0
  456. package/lib/vendor/blamejs/test/layer-0-primitives/router-tls0rtt.test.js +21 -0
  457. package/lib/vendor/blamejs/test/layer-0-primitives/router.test.js +1277 -0
  458. package/lib/vendor/blamejs/test/layer-0-primitives/safe-async.test.js +133 -0
  459. package/lib/vendor/blamejs/test/layer-0-primitives/safe-buffer-linear-scans.test.js +14 -0
  460. package/lib/vendor/blamejs/test/layer-0-primitives/safe-buffer.test.js +80 -0
  461. package/lib/vendor/blamejs/test/layer-0-primitives/safe-decompress.test.js +28 -0
  462. package/lib/vendor/blamejs/test/layer-0-primitives/safe-dns.test.js +245 -0
  463. package/lib/vendor/blamejs/test/layer-0-primitives/safe-ical.test.js +32 -0
  464. package/lib/vendor/blamejs/test/layer-0-primitives/safe-ini.test.js +376 -0
  465. package/lib/vendor/blamejs/test/layer-0-primitives/safe-json.test.js +175 -0
  466. package/lib/vendor/blamejs/test/layer-0-primitives/safe-mime.test.js +518 -0
  467. package/lib/vendor/blamejs/test/layer-0-primitives/safe-object.test.js +62 -0
  468. package/lib/vendor/blamejs/test/layer-0-primitives/safe-path.test.js +30 -0
  469. package/lib/vendor/blamejs/test/layer-0-primitives/safe-schema.test.js +104 -0
  470. package/lib/vendor/blamejs/test/layer-0-primitives/safe-sql.test.js +142 -0
  471. package/lib/vendor/blamejs/test/layer-0-primitives/safe-url.test.js +112 -0
  472. package/lib/vendor/blamejs/test/layer-0-primitives/safe-vcard.test.js +26 -0
  473. package/lib/vendor/blamejs/test/layer-0-primitives/scheduler.test.js +157 -0
  474. package/lib/vendor/blamejs/test/layer-0-primitives/scim-server.test.js +396 -0
  475. package/lib/vendor/blamejs/test/layer-0-primitives/sd-jwt-vc.test.js +930 -0
  476. package/lib/vendor/blamejs/test/layer-0-primitives/security-assert.test.js +755 -82
  477. package/lib/vendor/blamejs/test/layer-0-primitives/self-update.test.js +1053 -0
  478. package/lib/vendor/blamejs/test/layer-0-primitives/session-device-binding.test.js +200 -0
  479. package/lib/vendor/blamejs/test/layer-0-primitives/session-strict-binding-missing-failclosed.test.js +110 -0
  480. package/lib/vendor/blamejs/test/layer-0-primitives/sigv4-bucket-ops.test.js +636 -0
  481. package/lib/vendor/blamejs/test/layer-0-primitives/sql-offset-without-limit.test.js +94 -0
  482. package/lib/vendor/blamejs/test/layer-0-primitives/sql.test.js +1190 -0
  483. package/lib/vendor/blamejs/test/layer-0-primitives/ssrf-guard.test.js +21 -0
  484. package/lib/vendor/blamejs/test/layer-0-primitives/static.test.js +850 -0
  485. package/lib/vendor/blamejs/test/layer-0-primitives/storage-presigned-url.test.js +146 -0
  486. package/lib/vendor/blamejs/test/layer-0-primitives/storage.test.js +621 -0
  487. package/lib/vendor/blamejs/test/layer-0-primitives/subject.test.js +47 -0
  488. package/lib/vendor/blamejs/test/layer-0-primitives/template.test.js +582 -0
  489. package/lib/vendor/blamejs/test/layer-0-primitives/tenant-quota.test.js +587 -25
  490. package/lib/vendor/blamejs/test/layer-0-primitives/time.test.js +11 -0
  491. package/lib/vendor/blamejs/test/layer-0-primitives/tsa.test.js +524 -63
  492. package/lib/vendor/blamejs/test/layer-0-primitives/uri-template.test.js +27 -0
  493. package/lib/vendor/blamejs/test/layer-0-primitives/vault-rotate.test.js +866 -0
  494. package/lib/vendor/blamejs/test/layer-0-primitives/vault.test.js +74 -0
  495. package/lib/vendor/blamejs/test/layer-0-primitives/vc.test.js +215 -0
  496. package/lib/vendor/blamejs/test/layer-0-primitives/watcher.test.js +550 -0
  497. package/lib/vendor/blamejs/test/layer-0-primitives/webhook-dispatcher.test.js +388 -0
  498. package/lib/vendor/blamejs/test/layer-0-primitives/webhook.test.js +262 -0
  499. package/lib/vendor/blamejs/test/layer-0-primitives/websocket.test.js +1294 -0
  500. package/lib/vendor/blamejs/test/layer-0-primitives/ws-client.test.js +629 -0
  501. package/lib/vendor/blamejs/test/layer-0-primitives/xml-c14n-attr-normalization.test.js +164 -0
  502. package/lib/vendor/blamejs/test/smoke.js +2 -0
  503. package/package.json +1 -1
  504. package/lib/vendor/blamejs/release-notes/v0.16.0.json +0 -44
  505. package/lib/vendor/blamejs/release-notes/v0.16.1.json +0 -36
  506. package/lib/vendor/blamejs/release-notes/v0.16.2.json +0 -71
  507. package/lib/vendor/blamejs/release-notes/v0.16.3.json +0 -71
  508. package/lib/vendor/blamejs/test/layer-0-primitives/acme-coverage.test.js +0 -441
  509. package/lib/vendor/blamejs/test/layer-0-primitives/auth-oauth-coverage.test.js +0 -482
  510. package/lib/vendor/blamejs/test/layer-0-primitives/auth-saml-coverage.test.js +0 -671
  511. package/lib/vendor/blamejs/test/layer-0-primitives/backup-index-coverage.test.js +0 -690
  512. package/lib/vendor/blamejs/test/layer-0-primitives/cli-coverage.test.js +0 -238
  513. package/lib/vendor/blamejs/test/layer-0-primitives/content-credentials-coverage.test.js +0 -319
  514. package/lib/vendor/blamejs/test/layer-0-primitives/keychain-coverage.test.js +0 -0
  515. package/lib/vendor/blamejs/test/layer-0-primitives/mail-auth-coverage.test.js +0 -437
  516. package/lib/vendor/blamejs/test/layer-0-primitives/mcp-coverage.test.js +0 -443
  517. package/lib/vendor/blamejs/test/layer-0-primitives/metrics-coverage.test.js +0 -395
  518. package/lib/vendor/blamejs/test/layer-0-primitives/network-smtp-policy-coverage.test.js +0 -565
  519. package/lib/vendor/blamejs/test/layer-0-primitives/router-coverage.test.js +0 -592
  520. package/lib/vendor/blamejs/test/layer-0-primitives/sql-coverage.test.js +0 -422
  521. package/lib/vendor/blamejs/test/layer-0-primitives/test-coverage.test.js +0 -573
@@ -36,6 +36,36 @@ function run() {
36
36
  ropa.update("crm", { retentionPeriod: "5y" });
37
37
  check("ropa.update merges patch", ropa.get("crm").retentionPeriod === "5y");
38
38
 
39
+ // update() must validate legalBasis with the SAME rigor as register().
40
+ // register() rejects a falsy-but-invalid legalBasis (""/0/false/undefined);
41
+ // update() must too — otherwise a required Article 30 field can be silently
42
+ // corrupted to a value the VALID_LEGAL_BASES enum would reject. A truthiness
43
+ // guard (`if (patch.legalBasis && ...)`) skipped validation whenever the
44
+ // incoming value was falsy, so an empty string sailed through where the enum
45
+ // check would have caught "made-up".
46
+ var basisRopa = b.gdpr.ropa.create({
47
+ audit: false, controller: { name: "Acme", contact: "dpo@acme.example" },
48
+ });
49
+ basisRopa.register({ id: "a1", name: "A1", purposes: ["p"], legalBasis: "consent", dataCategories: ["c"] });
50
+
51
+ var updEmptyRejected = false;
52
+ try { basisRopa.update("a1", { legalBasis: "" }); }
53
+ catch (e) { updEmptyRejected = e.code === "gdpr-ropa/bad-legal-basis"; }
54
+ check("ropa.update rejects empty-string legalBasis (parity with register)", updEmptyRejected);
55
+ check("ropa.update leaves legalBasis intact after rejecting empty",
56
+ basisRopa.get("a1").legalBasis === "consent");
57
+
58
+ var updZeroRejected = false;
59
+ try { basisRopa.update("a1", { legalBasis: 0 }); }
60
+ catch (e) { updZeroRejected = e.code === "gdpr-ropa/bad-legal-basis"; }
61
+ check("ropa.update rejects falsy numeric legalBasis", updZeroRejected);
62
+ check("ropa.update leaves legalBasis intact after rejecting 0",
63
+ basisRopa.get("a1").legalBasis === "consent");
64
+
65
+ // A valid legalBasis update still succeeds (fix must not over-reject).
66
+ basisRopa.update("a1", { legalBasis: "contract" });
67
+ check("ropa.update accepts a valid legalBasis change", basisRopa.get("a1").legalBasis === "contract");
68
+
39
69
  ropa.remove("crm", { reason: "deprecated", actor: "dpo" });
40
70
  check("ropa.remove deletes", ropa.list().length === 0);
41
71
 
@@ -313,6 +313,90 @@ function testGuardArchiveBadProfile() {
313
313
  threw && /unknown profile/i.test(threw.message));
314
314
  }
315
315
 
316
+ // ---- buildProfile — resolve a named profile to its merged caps ----
317
+ // The gate-contract ABI (makeProfileBuilder → buildProfile) reads the
318
+ // base profile name from `baseProfile` OR `extends` (string or array),
319
+ // plus `overrides` / `removes`.
320
+ function testGuardArchiveBuildProfile() {
321
+ var strict = b.guardArchive.buildProfile({ baseProfile: "strict" });
322
+ check("buildProfile(strict): maxEntries === 100", strict.maxEntries === 100);
323
+ check("buildProfile(strict): symlinkPolicy === reject", strict.symlinkPolicy === "reject");
324
+ check("buildProfile(strict): maxCompressionRatio === 100",
325
+ strict.maxCompressionRatio === 100);
326
+
327
+ // The documented @example form `{ extends: "strict" }` — a single base
328
+ // as a bare string — resolves the same caps as baseProfile (buildProfile
329
+ // normalizes a string `extends` to a one-element list).
330
+ var strictExt = b.guardArchive.buildProfile({ extends: "strict" });
331
+ check("buildProfile({extends:'strict'}): maxEntries === 100", strictExt.maxEntries === 100);
332
+ check("buildProfile({extends:'strict'}): symlinkPolicy === reject",
333
+ strictExt.symlinkPolicy === "reject");
334
+ var strictExtArr = b.guardArchive.buildProfile({ extends: ["strict"] });
335
+ check("buildProfile({extends:['strict']}): array form resolves the same",
336
+ strictExtArr.maxEntries === 100);
337
+
338
+ var perm = b.guardArchive.buildProfile({ baseProfile: "permissive" });
339
+ check("buildProfile(permissive): maxEntries === 100000", perm.maxEntries === 100000);
340
+ check("buildProfile(permissive): symlinkPolicy === audit", perm.symlinkPolicy === "audit");
341
+ check("buildProfile(permissive): maxNestedDepth === 4", perm.maxNestedDepth === 4);
342
+
343
+ // Inline overrides win over the resolved base.
344
+ var custom = b.guardArchive.buildProfile({
345
+ baseProfile: "strict",
346
+ overrides: { maxEntries: 7 },
347
+ });
348
+ check("buildProfile: overrides win (maxEntries)", custom.maxEntries === 7);
349
+ check("buildProfile: base survives under override (symlinkPolicy)",
350
+ custom.symlinkPolicy === "reject");
351
+
352
+ // Unknown profile name throws.
353
+ var threw = null;
354
+ try { b.guardArchive.buildProfile({ baseProfile: "nope" }); }
355
+ catch (e) { threw = e; }
356
+ check("buildProfile: unknown baseProfile throws",
357
+ threw && /unknown profile/i.test(threw.message));
358
+
359
+ // An unrecognized key (`profile` — the shape gate() takes, not buildProfile)
360
+ // resolves no base and yields no caps, rather than silently resolving one.
361
+ var byProfileKey = b.guardArchive.buildProfile({ profile: "strict" });
362
+ check("buildProfile: unrecognized `profile` key resolves no caps",
363
+ byProfileKey.maxEntries === undefined);
364
+ }
365
+
366
+ // ---- loadRulePack — register an operator rule pack, id-validated ----
367
+ function testGuardArchiveLoadRulePack() {
368
+ var pack = {
369
+ id: "kb-2026-archive",
370
+ extraReservedNames: ["system32"],
371
+ rules: [{ id: "no-windows-system", severity: "critical",
372
+ reason: "entry name targets Windows system directory" }],
373
+ };
374
+ var returned = b.guardArchive.loadRulePack(pack);
375
+ check("loadRulePack: returns the pack unchanged", returned === pack);
376
+ check("loadRulePack: pack.id preserved", returned.id === "kb-2026-archive");
377
+
378
+ // Missing pack.id → archive.bad-opt.
379
+ var noId = null;
380
+ try { b.guardArchive.loadRulePack({ rules: [] }); }
381
+ catch (e) { noId = e; }
382
+ check("loadRulePack: missing id throws archive.bad-opt",
383
+ noId && noId.code === "archive.bad-opt");
384
+
385
+ // Empty-string id is likewise rejected.
386
+ var emptyId = null;
387
+ try { b.guardArchive.loadRulePack({ id: "" }); }
388
+ catch (e) { emptyId = e; }
389
+ check("loadRulePack: empty id throws archive.bad-opt",
390
+ emptyId && emptyId.code === "archive.bad-opt");
391
+
392
+ // Non-object pack throws a GuardArchiveError (proto-safe requireObject).
393
+ var notObj = null;
394
+ try { b.guardArchive.loadRulePack(null); }
395
+ catch (e) { notObj = e; }
396
+ check("loadRulePack: null pack throws GuardArchiveError",
397
+ notObj instanceof b.guardArchive.GuardArchiveError);
398
+ }
399
+
316
400
  async function run() {
317
401
  testGuardArchiveSurface();
318
402
  testGuardArchiveRegistryParity();
@@ -335,6 +419,8 @@ async function run() {
335
419
  testGuardArchiveCleanArchive();
336
420
  testGuardArchiveCompliancePosture();
337
421
  testGuardArchiveBadProfile();
422
+ testGuardArchiveBuildProfile();
423
+ testGuardArchiveLoadRulePack();
338
424
  await testGuardArchiveGate();
339
425
  }
340
426
 
@@ -0,0 +1,117 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ // Copyright (c) blamejs contributors
3
+ "use strict";
4
+
5
+ var helpers = require("../helpers");
6
+ var b = helpers.b;
7
+ var check = helpers.check;
8
+
9
+ // A well-formed structural JWT (ES256 header, future exp/iat/iss) — passes
10
+ // guardJwt's structural validation. Not a real signature; validate is a
11
+ // pure inspection of shape, not a cryptographic verify.
12
+ var BENIGN_JWT =
13
+ "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9." +
14
+ "eyJpc3MiOiJleGFtcGxlIiwiZXhwIjo5OTk5OTk5OTk5LCJpYXQiOjE3MDAwMDAwMDB9.sig";
15
+
16
+ // alg=none JWT — RFC 7518 §3.6 explicit-no-signature, the canonical
17
+ // bearer-token forgery class guardAuth advertises routing through guardJwt.
18
+ var ALG_NONE_JWT = "eyJhbGciOiJub25lIn0.eyJzdWIiOiJ4In0.";
19
+
20
+ function expectThrows(label, fn, codeMatch) {
21
+ var threw = null;
22
+ try { fn(); } catch (e) { threw = e; }
23
+ check(label, !!threw && (threw.code || "") === codeMatch);
24
+ return threw;
25
+ }
26
+
27
+ function testValidate() {
28
+ // Benign bundle (bearer token + cookie header) is clean under balanced.
29
+ var okRv = b.guardAuth.validate(
30
+ { jwtToken: BENIGN_JWT, cookieHeader: "sid=abc123; theme=dark" },
31
+ { profile: "balanced" });
32
+ check("guardAuth.validate benign ok", okRv.ok === true);
33
+ check("guardAuth.validate benign no issues", okRv.issues.length === 0);
34
+
35
+ // Hostile: alg=none token routed to guardJwt, tagged source="jwt".
36
+ var jwtRv = b.guardAuth.validate({ jwtToken: ALG_NONE_JWT }, { profile: "strict" });
37
+ check("guardAuth.validate alg=none refused", jwtRv.ok === false);
38
+ check("guardAuth.validate alg=none source=jwt",
39
+ jwtRv.issues.some(function (i) { return i.source === "jwt"; }));
40
+ check("guardAuth.validate alg=none alg-none rule",
41
+ jwtRv.issues.some(function (i) { return i.ruleId === "jwt.alg-none"; }));
42
+
43
+ // Strict requireAtLeastOne — an empty bundle is refused so an operator
44
+ // can't wire a gate onto a credential-less request.
45
+ var emptyRv = b.guardAuth.validate({}, { profile: "strict" });
46
+ check("guardAuth.validate empty strict refused", emptyRv.ok === false);
47
+ check("guardAuth.validate empty no-auth-input",
48
+ emptyRv.issues.some(function (i) { return i.ruleId === "auth.no-auth-input"; }));
49
+
50
+ // CL+TE request-header smuggling (RFC 9112 §6.1), source="headers".
51
+ var smugRv = b.guardAuth.validate(
52
+ { requestHeaders: { "content-length": "10", "transfer-encoding": "chunked" } },
53
+ { profile: "strict" });
54
+ check("guardAuth.validate smuggling refused", smugRv.ok === false);
55
+ check("guardAuth.validate smuggling source=headers",
56
+ smugRv.issues.some(function (i) {
57
+ return i.source === "headers" && i.ruleId === "auth.header-smuggling-cl-te";
58
+ }));
59
+ }
60
+
61
+ function testSanitize() {
62
+ // Clean bundle passes through unchanged (identity transform), and the
63
+ // returned bundle re-validates clean.
64
+ var input = { jwtToken: BENIGN_JWT, cookieHeader: "sid=abc123; theme=dark" };
65
+ var clean = b.guardAuth.sanitize(input, { profile: "balanced" });
66
+ check("guardAuth.sanitize benign returns bundle", clean === input);
67
+ check("guardAuth.sanitize benign revalidates ok",
68
+ b.guardAuth.validate(clean, { profile: "balanced" }).ok === true);
69
+
70
+ // Hostile: a CL+TE smuggling bundle is REFUSED (thrown), never returned —
71
+ // the auth bundle can't be repaired in transit, so neutralization is
72
+ // refusal, not a silently-mutated pass-through.
73
+ var attack = { requestHeaders: { "content-length": "10", "transfer-encoding": "chunked" } };
74
+ var err = expectThrows("guardAuth.sanitize smuggling throws",
75
+ function () { b.guardAuth.sanitize(attack, { profile: "strict" }); },
76
+ "auth.header-smuggling-cl-te");
77
+ check("guardAuth.sanitize smuggling GuardAuthError",
78
+ err instanceof b.guardAuth.GuardAuthError);
79
+
80
+ // Hostile: alg=none bearer token refuses at sanitize too.
81
+ expectThrows("guardAuth.sanitize alg=none throws",
82
+ function () { b.guardAuth.sanitize({ jwtToken: ALG_NONE_JWT }, { profile: "strict" }); },
83
+ "jwt.alg-none");
84
+ }
85
+
86
+ async function testGate() {
87
+ var authGate = b.guardAuth.gate({ profile: "strict" });
88
+
89
+ // Hostile alg=none bundle → refuse.
90
+ var refuse = await authGate.check({ authBundle: { jwtToken: ALG_NONE_JWT } });
91
+ check("guardAuth.gate alg=none action=refuse", refuse.action === "refuse");
92
+ check("guardAuth.gate alg=none ok=false", refuse.ok === false);
93
+ check("guardAuth.gate alg=none issue source=jwt",
94
+ refuse.issues.some(function (i) { return i.source === "jwt"; }));
95
+
96
+ // Benign bearer token → serve.
97
+ var serve = await authGate.check({ authBundle: { jwtToken: BENIGN_JWT } });
98
+ check("guardAuth.gate benign action=serve", serve.action === "serve");
99
+ check("guardAuth.gate benign ok=true", serve.ok === true);
100
+
101
+ // No bundle on ctx → serve (nothing to gate; other middleware owns the
102
+ // absent-credential decision).
103
+ var none = await authGate.check({});
104
+ check("guardAuth.gate no-bundle action=serve", none.action === "serve");
105
+ }
106
+
107
+ async function run() {
108
+ testValidate();
109
+ testSanitize();
110
+ await testGate();
111
+ }
112
+
113
+ module.exports = { run: run };
114
+ if (require.main === module) {
115
+ run().then(function () { console.log("OK"); })
116
+ .catch(function (e) { console.error(e); process.exit(1); });
117
+ }
@@ -0,0 +1,151 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ // Copyright (c) blamejs contributors
3
+ "use strict";
4
+
5
+ var helpers = require("../helpers");
6
+ var b = helpers.b;
7
+ var check = helpers.check;
8
+
9
+ function expectThrows(label, fn, codeMatch) {
10
+ var threw = null;
11
+ try { fn(); } catch (e) { threw = e; }
12
+ check(label, !!threw && (threw.code || "") === codeMatch);
13
+ return threw;
14
+ }
15
+
16
+ function _kinds(rv) {
17
+ return rv.issues.map(function (i) { return i.kind; });
18
+ }
19
+
20
+ function testValidate() {
21
+ // Benign: a public /24 with zero host bits is clean under strict.
22
+ var okRv = b.guardCidr.validate("8.8.8.0/24", { profile: "strict" });
23
+ check("guardCidr.validate benign ok", okRv.ok === true);
24
+ check("guardCidr.validate benign no issues", okRv.issues.length === 0);
25
+
26
+ // Hostile: RFC 1918 private range — refused as reserved-range under strict.
27
+ var reserved = b.guardCidr.validate("10.0.0.0/8", { profile: "strict" });
28
+ check("guardCidr.validate reserved refused", reserved.ok === false);
29
+ check("guardCidr.validate reserved-range kind",
30
+ _kinds(reserved).indexOf("reserved-range") !== -1);
31
+
32
+ // Mask out of range for IPv4 (>32) — mask-cap high.
33
+ var maskCap = b.guardCidr.validate("8.8.8.0/40", { profile: "strict" });
34
+ check("guardCidr.validate mask-cap refused", maskCap.ok === false);
35
+ check("guardCidr.validate mask-cap kind",
36
+ _kinds(maskCap).indexOf("mask-cap") !== -1);
37
+
38
+ // Not a valid IPv4 dotted-decimal or IPv6 hex-group form — address-shape.
39
+ var badShape = b.guardCidr.validate("not.an.ip/24", { profile: "strict" });
40
+ check("guardCidr.validate address-shape refused", badShape.ok === false);
41
+ check("guardCidr.validate address-shape kind",
42
+ _kinds(badShape).indexOf("address-shape") !== -1);
43
+
44
+ // RFC 4291 §2.2 — a "::" adjacent to a full 8 explicit groups compresses zero
45
+ // groups and is malformed IPv6 (net.isIP rejects it). The parser must not
46
+ // admit the non-canonical spelling into CIDR matching as a valid address.
47
+ ["1:2:3:4:5:6:7:8::/64", "::1:2:3:4:5:6:7:8/64", "1:2:3:4:5:6:7::8/64"]
48
+ .forEach(function (c) {
49
+ var zc = b.guardCidr.validate(c, { profile: "strict" });
50
+ check("guardCidr.validate rejects zero-group '::' " + c, zc.ok === false);
51
+ check("guardCidr.validate zero-group '::' is address-shape " + c,
52
+ _kinds(zc).indexOf("address-shape") !== -1);
53
+ });
54
+
55
+ // Host bits set under the mask — network-misaligned (common typo class).
56
+ var misaligned = b.guardCidr.validate("10.0.0.1/24", { profile: "strict" });
57
+ check("guardCidr.validate misaligned refused", misaligned.ok === false);
58
+ check("guardCidr.validate network-misaligned kind",
59
+ _kinds(misaligned).indexOf("network-misaligned") !== -1);
60
+
61
+ // IPv4-mapped IPv6 — dual-stack allowlist confusion (CVE-2021-22931 class).
62
+ var mapped = b.guardCidr.validate("::ffff:0:0/96", { profile: "strict" });
63
+ check("guardCidr.validate ipv4-mapped refused", mapped.ok === false);
64
+ check("guardCidr.validate ipv4-mapped-ipv6 kind",
65
+ _kinds(mapped).indexOf("ipv4-mapped-ipv6") !== -1);
66
+
67
+ // Bare IP with no /mask — refused under strict (reject-bare-ip).
68
+ var bare = b.guardCidr.validate("8.8.8.8", { profile: "strict" });
69
+ check("guardCidr.validate bare-ip refused", bare.ok === false);
70
+ check("guardCidr.validate bare-ip kind",
71
+ _kinds(bare).indexOf("bare-ip") !== -1);
72
+ }
73
+
74
+ function testSanitize() {
75
+ // Benign IPv6 with uppercase hex groups — permissive allows the
76
+ // documentation range; sanitize lowercases the hex so a case-varying
77
+ // allowlist key can't slip a duplicate past a case-sensitive matcher.
78
+ var lowered = b.guardCidr.sanitize("2001:DB8::/32", { profile: "permissive" });
79
+ check("guardCidr.sanitize lowercases IPv6", lowered === "2001:db8::/32");
80
+ check("guardCidr.sanitize output neutralized", lowered !== "2001:DB8::/32");
81
+ check("guardCidr.sanitize output revalidates ok",
82
+ b.guardCidr.validate(lowered, { profile: "permissive" }).ok === true);
83
+
84
+ // IPv4 has no canonical casing — returned unchanged when clean.
85
+ var v4 = b.guardCidr.sanitize("8.8.8.0/24", { profile: "strict" });
86
+ check("guardCidr.sanitize IPv4 unchanged", v4 === "8.8.8.0/24");
87
+
88
+ // Hostile: reserved private range REFUSED (thrown), never returned — an
89
+ // allowlist gate must not silently normalize a reserved range into place.
90
+ var err = expectThrows("guardCidr.sanitize reserved throws",
91
+ function () { b.guardCidr.sanitize("10.0.0.0/8", { profile: "strict" }); },
92
+ "cidr.reserved-range");
93
+ check("guardCidr.sanitize reserved GuardCidrError",
94
+ err instanceof b.guardCidr.GuardCidrError);
95
+ }
96
+
97
+ function testIpv6ReservedNibbleMisaligned() {
98
+ // IPv6 reserved-range membership is a bit-prefix relation, not a hex-nibble
99
+ // one. ULA fc00::/7 (7 bits) and link-local fe80::/10 (10 bits) do not fall
100
+ // on a 4-bit nibble boundary, so a hex-string startsWith("fc") / ("fe8")
101
+ // match silently misses every reserved address whose partial nibble differs
102
+ // — most importantly fd00::/8, the HALF of fc00::/7 that real deployments
103
+ // actually assign (RFC 4193 L=1). Under strict, reservedRangesPolicy is
104
+ // "reject", so a missed reserved range fails OPEN: a private/link-local
105
+ // range validates as clean and can be added to an allowlist as if public.
106
+ var strict = { profile: "strict" };
107
+
108
+ // fc00::/7 ULA — BOTH halves must be caught. fd00::/8 is the assigned one.
109
+ ["fc00::/8", "fd00::/8", "fdab:cd12::/32"].forEach(function (c) {
110
+ var rv = b.guardCidr.validate(c, strict);
111
+ check("guardCidr ULA " + c + " refused", rv.ok === false);
112
+ check("guardCidr ULA " + c + " reserved-range kind",
113
+ _kinds(rv).indexOf("reserved-range") !== -1);
114
+ });
115
+
116
+ // fe80::/10 link-local — the whole /10 must be caught, not just fe8x.
117
+ ["fe80::/16", "fe90::/16", "fea0::/16", "feb0::/16"].forEach(function (c) {
118
+ var rv = b.guardCidr.validate(c, strict);
119
+ check("guardCidr link-local " + c + " refused", rv.ok === false);
120
+ check("guardCidr link-local " + c + " reserved-range kind",
121
+ _kinds(rv).indexOf("reserved-range") !== -1);
122
+ });
123
+
124
+ // Regression — the fix must not OVER-match. fec0::/10 (deprecated site-local)
125
+ // is NOT in the reserved table and shares only the fe8x visual prefix's
126
+ // sibling nibble; it must stay clean, as must genuine public space.
127
+ ["fec0::/16", "2606:4700::/32", "2001:4860::/32"].forEach(function (c) {
128
+ var rv = b.guardCidr.validate(c, strict);
129
+ check("guardCidr public/site-local " + c + " clean", rv.ok === true);
130
+ });
131
+
132
+ // Regression — nibble-aligned reserved prefixes stay caught.
133
+ ["ff02::1/128", "2001:db8::/32", "::1/128"].forEach(function (c) {
134
+ var rv = b.guardCidr.validate(c, strict);
135
+ check("guardCidr aligned-reserved " + c + " refused", rv.ok === false);
136
+ check("guardCidr aligned-reserved " + c + " reserved-range kind",
137
+ _kinds(rv).indexOf("reserved-range") !== -1);
138
+ });
139
+ }
140
+
141
+ async function run() {
142
+ testValidate();
143
+ testSanitize();
144
+ testIpv6ReservedNibbleMisaligned();
145
+ }
146
+
147
+ module.exports = { run: run };
148
+ if (require.main === module) {
149
+ run().then(function () { console.log("OK"); })
150
+ .catch(function (e) { console.error(e); process.exit(1); });
151
+ }