@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
@@ -394,6 +394,435 @@ async function testGuardsExposed() {
394
394
  check("guards.messageId", b.mail.agent.guards.messageId === b.guardMessageId);
395
395
  }
396
396
 
397
+ // A grammar-valid RFC 5228 script (fileinto is a known capability) — the
398
+ // happy path through b.safeSieve's parser under agent.sieve.put.
399
+ var VALID_SIEVE =
400
+ 'require ["fileinto"];\r\n' +
401
+ 'if header :contains "Subject" "[bug]" { fileinto "bugs"; }\r\n';
402
+
403
+ async function testCreateErrorBranches() {
404
+ // create() entry-point validation THROWS (config-time tier) on every
405
+ // malformed opts shape before an agent is ever built.
406
+ var fx = await _setup("create-err");
407
+ try {
408
+ var e1 = null;
409
+ try { b.mail.agent.create(); } catch (e) { e1 = e; }
410
+ check("create: null opts refused",
411
+ e1 instanceof b.mail.agent.MailAgentError && (e1.code || "").indexOf("mail-agent/bad-opts") !== -1);
412
+
413
+ var e1b = null;
414
+ try { b.mail.agent.create("nope"); } catch (e) { e1b = e; }
415
+ check("create: non-object opts refused",
416
+ e1b && (e1b.code || "").indexOf("mail-agent/bad-opts") !== -1);
417
+
418
+ // A store object that lacks the b.mailStore fingerprint method.
419
+ var e2 = null;
420
+ try { b.mail.agent.create({ store: { notAStore: true } }); } catch (e) { e2 = e; }
421
+ check("create: store without fetchByObjectId refused",
422
+ e2 && (e2.code || "").indexOf("mail-agent/bad-store") !== -1);
423
+
424
+ // A real store but an unknown compliance posture.
425
+ var e3 = null;
426
+ try { b.mail.agent.create({ store: fx.store, posture: "not-a-posture" }); } catch (e) { e3 = e; }
427
+ check("create: unknown posture refused",
428
+ e3 && (e3.code || "").indexOf("mail-agent/bad-posture") !== -1);
429
+ } finally { _teardown(fx); }
430
+ }
431
+
432
+ async function testDispatchOptionValidation() {
433
+ // _validateDispatch THROWS on each malformed dispatch field, and
434
+ // ACCEPTS the well-formed values that exercise the positive branch of
435
+ // every typeof/range guard.
436
+ var fx = await _setup("dispatch-opts");
437
+ try {
438
+ var eWp = null;
439
+ try { b.mail.agent.create({ store: fx.store, dispatch: { workerPool: {} } }); } catch (e) { eWp = e; }
440
+ check("dispatch: workerPool without .run() refused",
441
+ eWp && (eWp.code || "").indexOf("mail-agent/bad-worker-pool") !== -1);
442
+
443
+ var eTtNeg = null;
444
+ try { b.mail.agent.create({ store: fx.store, dispatch: { taskTimeoutMs: -5 } }); } catch (e) { eTtNeg = e; }
445
+ check("dispatch: negative taskTimeoutMs refused",
446
+ eTtNeg && (eTtNeg.code || "").indexOf("mail-agent/bad-task-timeout") !== -1);
447
+
448
+ var eTtNaN = null;
449
+ try { b.mail.agent.create({ store: fx.store, dispatch: { taskTimeoutMs: NaN } }); } catch (e) { eTtNaN = e; }
450
+ check("dispatch: non-finite taskTimeoutMs refused",
451
+ eTtNaN && (eTtNaN.code || "").indexOf("mail-agent/bad-task-timeout") !== -1);
452
+
453
+ var eDc = null;
454
+ try { b.mail.agent.create({ store: fx.store, dispatch: { queueDepthCap: -1 } }); } catch (e) { eDc = e; }
455
+ check("dispatch: negative queueDepthCap refused",
456
+ eDc && (eDc.code || "").indexOf("mail-agent/bad-queue-depth-cap") !== -1);
457
+
458
+ var eVk = null;
459
+ try { b.mail.agent.create({ store: fx.store, dispatch: { vaultKeyDelivery: "sideband" } }); } catch (e) { eVk = e; }
460
+ check("dispatch: unknown vaultKeyDelivery refused",
461
+ eVk && (eVk.code || "").indexOf("mail-agent/bad-vault-key-delivery") !== -1);
462
+
463
+ // Positive branch: every explicit value well-formed → agent builds.
464
+ var agentOk = b.mail.agent.create({
465
+ store: fx.store,
466
+ dispatch: {
467
+ mode: "local",
468
+ workerPool: { run: function () { return null; } },
469
+ taskTimeoutMs: 5000,
470
+ queueDepthCap: 16,
471
+ vaultKeyDelivery: "main-only",
472
+ queueTopic: "custom.topic",
473
+ },
474
+ });
475
+ check("dispatch: well-formed explicit fields accepted",
476
+ typeof agentOk.folders === "function" &&
477
+ agentOk._ctx.dispatch.vaultKeyDelivery === "main-only" &&
478
+ agentOk._ctx.dispatch.queueDepthCap === 16 &&
479
+ agentOk._ctx.dispatch.queueTopic === "custom.topic");
480
+ } finally { _teardown(fx); }
481
+ }
482
+
483
+ async function testIdentityResolver() {
484
+ // opts.identity accepts a resolver function OR a plain object map; a
485
+ // missing/garbage value yields a null-returning resolver. Only the
486
+ // create() path exercises _identityResolver.
487
+ var fx = await _setup("identity");
488
+ try {
489
+ var agentFn = b.mail.agent.create({
490
+ store: fx.store,
491
+ identity: function (actorId) { return { email: actorId + "@x.example", name: actorId }; },
492
+ });
493
+ check("identity: function resolver stored",
494
+ typeof agentFn._ctx.identity === "function" &&
495
+ agentFn._ctx.identity("u1").email === "u1@x.example");
496
+
497
+ var agentMap = b.mail.agent.create({
498
+ store: fx.store,
499
+ identity: { u1: { email: "u1@x.example", name: "One" } },
500
+ });
501
+ check("identity: object map resolver looks up by id",
502
+ agentMap._ctx.identity("u1").name === "One" && agentMap._ctx.identity("nobody") === null);
503
+
504
+ var agentNone = b.mail.agent.create({ store: fx.store, identity: 42 });
505
+ check("identity: garbage spec yields null resolver",
506
+ agentNone._ctx.identity("u1") === null);
507
+ } finally { _teardown(fx); }
508
+ }
509
+
510
+ async function testAuditOverride() {
511
+ // When opts.audit exposes safeEmit, the agent routes every audit
512
+ // event through it (not the default b.audit). The outcome field flips
513
+ // to "failure" for denied/not_implemented events.
514
+ var fx = await _setup("audit-override");
515
+ try {
516
+ var seen = [];
517
+ var agent = b.mail.agent.create({
518
+ store: fx.store,
519
+ audit: { safeEmit: function (rec) { seen.push(rec); } },
520
+ });
521
+ var actor = { id: "u1", roles: ["clinician"] };
522
+ await agent.folders({ actor: actor });
523
+ check("audit-override: success event routed to override",
524
+ seen.length === 1 && seen[0].action === "mail.agent.folders.success" &&
525
+ seen[0].outcome === "success" && seen[0].actor.id === "u1");
526
+
527
+ await expectRejection("audit-override: not-implemented rejects",
528
+ agent.compose({ actor: actor }), "mail-agent/not-implemented");
529
+ var last = seen[seen.length - 1];
530
+ check("audit-override: not_implemented event marked failure",
531
+ last.action === "mail.agent.not_implemented" && last.outcome === "failure");
532
+
533
+ // A permission_denied event routed through the override marks the
534
+ // "denied" branch of the outcome selector.
535
+ var deniedSeen = [];
536
+ var perms = b.permissions.create({
537
+ roles: { reader: { permissions: ["mail:read"] } },
538
+ auditFailures: false, auditSuccess: false,
539
+ });
540
+ var denyAgent = b.mail.agent.create({
541
+ store: fx.store, permissions: perms,
542
+ audit: { safeEmit: function (rec) { deniedSeen.push(rec); } },
543
+ });
544
+ var reader = { id: "r1", roles: ["reader"] };
545
+ await expectRejection("audit-override: denied move rejects permission-denied",
546
+ denyAgent.move({ actor: reader, fromFolder: "INBOX", toFolder: "Archive", objectIds: [] }),
547
+ "mail-agent/permission-denied");
548
+ var denyEvt = deniedSeen[deniedSeen.length - 1];
549
+ check("audit-override: permission_denied event marked failure",
550
+ denyEvt && denyEvt.action === "mail.agent.permission_denied" && denyEvt.outcome === "failure");
551
+ } finally { _teardown(fx); }
552
+ }
553
+
554
+ async function testMethodBadArgs() {
555
+ // Defensive per-method arg-shape guards return a rejected promise with
556
+ // mail-agent/bad-args for each malformed consumer call.
557
+ var fx = await _setup("bad-args");
558
+ try {
559
+ var agent = b.mail.agent.create({ store: fx.store });
560
+ var actor = { id: "u1" };
561
+
562
+ await expectRejection("fetch: non-string folder refused",
563
+ agent.fetch({ actor: actor, folder: 123, objectId: "x" }), "mail-agent/bad-args");
564
+ await expectRejection("fetch: non-string objectId refused",
565
+ agent.fetch({ actor: actor, folder: "INBOX", objectId: 7 }), "mail-agent/bad-args");
566
+ await expectRejection("thread: non-string objectId refused",
567
+ agent.thread({ actor: actor, objectId: 7 }), "mail-agent/bad-args");
568
+ await expectRejection("flag: non-array objectIds refused",
569
+ agent.flag({ actor: actor, folder: "INBOX", objectIds: "not-array" }), "mail-agent/bad-args");
570
+ await expectRejection("flag: non-string folder refused",
571
+ agent.flag({ actor: actor, folder: 5, objectIds: [] }), "mail-agent/bad-args");
572
+ await expectRejection("delete: non-string folder refused",
573
+ agent.delete({ actor: actor, folder: 5, objectIds: [] }), "mail-agent/bad-args");
574
+ await expectRejection("expunge: non-array objectIds refused",
575
+ agent.expunge({ actor: actor, folder: "Trash", objectIds: "x" }), "mail-agent/bad-args");
576
+
577
+ // _entry itself refuses a missing args object (drives every method).
578
+ await expectRejection("folders: missing args object refused",
579
+ agent.folders(), "mail-agent/bad-args");
580
+
581
+ // Missing-actor audit path exercises _actorShape's <unknown> fallback:
582
+ // a not-implemented call with no actor and no permissions still emits
583
+ // the audit event with a synthesized actor id.
584
+ await expectRejection("compose: missing actor still rejects not-implemented",
585
+ agent.compose({}), "mail-agent/not-implemented");
586
+ } finally { _teardown(fx); }
587
+ }
588
+
589
+ async function testDeleteInTrash() {
590
+ // delete() of a message already in Trash short-circuits to a
591
+ // \Deleted flag-set (no re-move); the message stays in Trash flagged.
592
+ var fx = await _setup("delete-trash");
593
+ try {
594
+ var agent = b.mail.agent.create({ store: fx.store });
595
+ var actor = { id: "u1" };
596
+ var meta = fx.store.appendMessage("INBOX", _msg([
597
+ "From: a@x", "To: b@y", "Subject: bin-me", "Message-Id: <t@x>",
598
+ "Date: Wed, 14 May 2026 12:00:00 +0000",
599
+ ], "x"));
600
+ fx.store.moveMessages("INBOX", "Trash", [meta.objectid]);
601
+
602
+ var r = await agent.delete({ actor: actor, folder: "Trash", objectIds: [meta.objectid] });
603
+ check("delete-in-Trash: flags without re-move", r.changed === 1);
604
+ var still = fx.store.fetchByObjectId("Trash", meta.objectid);
605
+ check("delete-in-Trash: message remains in Trash, flagged \\Deleted",
606
+ still !== null && still.flags.indexOf("\\Deleted") !== -1);
607
+ } finally { _teardown(fx); }
608
+ }
609
+
610
+ async function testSievePut() {
611
+ // sieve.put runs a two-stage validation: the agent shape guard, then
612
+ // the full b.safeSieve RFC 5228 grammar parse. A grammar-valid script
613
+ // returns { ok, requiredCaps }; an unknown capability is refused with
614
+ // mail-agent/sieve-parse-error. Run under HIPAA posture so _profileFor
615
+ // resolves against a set posture too.
616
+ var fx = await _setup("sieve-put");
617
+ try {
618
+ var agent = b.mail.agent.create({ store: fx.store, posture: "hipaa" });
619
+ var actor = { id: "u1", purposeOfUse: "TREATMENT" };
620
+
621
+ var ok = await agent.sieve.put({
622
+ actor: actor, name: "my-filter", script: VALID_SIEVE, ownedNames: ["my-filter"],
623
+ });
624
+ check("sieve.put: valid script accepted with requiredCaps",
625
+ ok.ok === true && Array.isArray(ok.requiredCaps) && ok.requiredCaps.indexOf("fileinto") !== -1);
626
+
627
+ // Grammar-valid shape but an unknown capability — b.safeSieve
628
+ // refuses at require-time, surfaced as sieve-parse-error.
629
+ await expectRejection("sieve.put: unknown capability refused at parse",
630
+ agent.sieve.put({
631
+ actor: actor, name: "bad-filter",
632
+ script: 'require ["nonsense-capability"];\r\nkeep;\r\n',
633
+ ownedNames: ["bad-filter"],
634
+ }), "mail-agent/sieve-parse-error");
635
+ } finally { _teardown(fx); }
636
+ }
637
+
638
+ async function testCheckPermissionNoActor() {
639
+ // With a permissions instance but NO posture, a not-implemented method
640
+ // whose args omit actor reaches _checkPermission's no-actor guard
641
+ // (validateActor is skipped when posture is null).
642
+ var fx = await _setup("perm-noactor");
643
+ try {
644
+ var perms = b.permissions.create({
645
+ roles: { writer: { permissions: ["mail:write"] } },
646
+ auditFailures: false, auditSuccess: false,
647
+ });
648
+ var agent = b.mail.agent.create({ store: fx.store, permissions: perms });
649
+ // _checkPermission runs at the entry (config-time tier) and THROWS
650
+ // synchronously — the facade method never returns its promise here.
651
+ var threw = null;
652
+ try { agent.compose({}); } catch (e) { threw = e; }
653
+ check("checkPermission: missing actor refused with no-actor",
654
+ threw && (threw.code || "").indexOf("mail-agent/no-actor") !== -1);
655
+ } finally { _teardown(fx); }
656
+ }
657
+
658
+ async function testDefaultsAndFilters() {
659
+ // Cover the option-default branches: quota without a folder falls back
660
+ // to INBOX; flag without set/unset defaults both to []; search with a
661
+ // text + modseq filter drives the FTS path and the hasText audit flag.
662
+ var fx = await _setup("defaults");
663
+ try {
664
+ var agent = b.mail.agent.create({ store: fx.store });
665
+ var actor = { id: "u1" };
666
+
667
+ var q = await agent.quota({ actor: actor });
668
+ check("quota: folder defaults to INBOX", typeof q.usedBytes === "number");
669
+
670
+ var meta = fx.store.appendMessage("INBOX", _msg([
671
+ "From: a@x", "To: b@y", "Subject: needle-subject", "Message-Id: <d@x>",
672
+ "Date: Wed, 14 May 2026 12:00:00 +0000",
673
+ ], "findme body"));
674
+
675
+ var f = await agent.flag({ actor: actor, folder: "INBOX", objectIds: [meta.objectid] });
676
+ check("flag: absent set/unset default to empty", f.changed === 0 || typeof f.changed === "number");
677
+
678
+ var r = await agent.search({
679
+ actor: actor, folder: "INBOX",
680
+ filter: { text: "needle", modseq: { gt: 0 } },
681
+ });
682
+ check("search: text+modseq filter returns the matching row",
683
+ Array.isArray(r.rows) && r.rows.length >= 1);
684
+
685
+ // No folder → defaults to INBOX (the `args.folder || "INBOX"` branch).
686
+ var r2 = await agent.search({ actor: actor });
687
+ check("search: folder defaults to INBOX", Array.isArray(r2.rows) && r2.rows.length >= 1);
688
+ } finally { _teardown(fx); }
689
+ }
690
+
691
+ async function testPostureNotImplementedAndFloorMiss() {
692
+ // Under a set posture, a not-implemented method still runs the
693
+ // posture actor-field validation at entry before rejecting. And an
694
+ // expunge under a posture with no regulator-mandated retention floor
695
+ // (GDPR carries no fixed mail-retention minimum here) applies floorMs=0
696
+ // so eligible messages are hard-deleted.
697
+ var fx = await _setup("posture-notimpl");
698
+ try {
699
+ var agent = b.mail.agent.create({ store: fx.store, posture: "hipaa" });
700
+
701
+ // Posture set + actor MISSING the required field → validateActor
702
+ // throws the posture-field error (not the not-implemented reject).
703
+ var eMissing = null;
704
+ try { await agent.compose({ actor: { id: "u1" } }); } catch (e) { eMissing = e; }
705
+ check("not-implemented under posture: missing field refused first",
706
+ eMissing && (eMissing.code || "").indexOf("mail-query/missing-posture-field") !== -1);
707
+
708
+ // Posture set + complete actor → passes validateActor, then rejects
709
+ // not-implemented (the posture-truthy branch of _notImplemented).
710
+ await expectRejection("not-implemented under posture: complete actor rejects not-implemented",
711
+ agent.compose({ actor: { id: "u1", purposeOfUse: "TREATMENT" } }), "mail-agent/not-implemented");
712
+
713
+ // GDPR posture: valid for create, absent from the retention floor
714
+ // table → floorMs resolves to 0, so a young message is expungeable.
715
+ var gdprAgent = b.mail.agent.create({ store: fx.store, posture: "gdpr" });
716
+ var gdprActor = { id: "u1", lawfulBasis: "consent" };
717
+ var meta = fx.store.appendMessage("INBOX", _msg([
718
+ "From: a@x", "To: b@y", "Subject: gdpr-erase", "Message-Id: <g@x>",
719
+ "Date: Wed, 14 May 2026 12:00:00 +0000",
720
+ ], "x"));
721
+ fx.store.moveMessages("INBOX", "Trash", [meta.objectid]);
722
+ var rv = await gdprAgent.expunge({ actor: gdprActor, folder: "Trash", objectIds: [meta.objectid] });
723
+ check("expunge under GDPR (no floor): message hard-deleted",
724
+ rv.deleted.length === 1 && rv.refused.length === 0 &&
725
+ fx.store.fetchByObjectId("Trash", meta.objectid) === null);
726
+ } finally { _teardown(fx); }
727
+ }
728
+
729
+ async function testConsumerErrorBranches() {
730
+ // consumer() entry validation THROWS on every malformed opts shape.
731
+ var fx = await _setup("consumer-err");
732
+ try {
733
+ var innerAgent = b.mail.agent.create({ store: fx.store });
734
+
735
+ var eNull = null;
736
+ try { b.mail.agent.consumer(null); } catch (e) { eNull = e; }
737
+ check("consumer: null opts refused",
738
+ eNull && (eNull.code || "").indexOf("mail-agent/bad-opts") !== -1);
739
+
740
+ var eQ = null;
741
+ try { b.mail.agent.consumer({ agent: innerAgent, queue: { notAQueue: true } }); } catch (e) { eQ = e; }
742
+ check("consumer: queue without consume refused",
743
+ eQ && (eQ.code || "").indexOf("mail-agent/bad-queue") !== -1);
744
+
745
+ var fakeQueue = { consume: function () {}, enqueue: function () {} };
746
+ var eMc0 = null;
747
+ try { b.mail.agent.consumer({ agent: innerAgent, queue: fakeQueue, maxConcurrency: 0 }); } catch (e) { eMc0 = e; }
748
+ check("consumer: zero maxConcurrency refused",
749
+ eMc0 && (eMc0.code || "").indexOf("mail-agent/bad-max-concurrency") !== -1);
750
+
751
+ var eMcNaN = null;
752
+ try { b.mail.agent.consumer({ agent: innerAgent, queue: fakeQueue, maxConcurrency: NaN }); } catch (e) { eMcNaN = e; }
753
+ check("consumer: non-finite maxConcurrency refused",
754
+ eMcNaN && (eMcNaN.code || "").indexOf("mail-agent/bad-max-concurrency") !== -1);
755
+
756
+ // Explicit numeric maxConcurrency accepted (positive branch of the
757
+ // typeof ternary) — build only, no start.
758
+ var consExplicit = b.mail.agent.consumer({ agent: innerAgent, queue: fakeQueue, maxConcurrency: 3 });
759
+ check("consumer: explicit maxConcurrency accepted", typeof consExplicit.start === "function");
760
+ } finally { _teardown(fx); }
761
+ }
762
+
763
+ async function testConsumerDispatch() {
764
+ // Drive the consumer's real subscribe → dispatch → stop loop against a
765
+ // fake queue that captures the envelope handler. Covers direct-method
766
+ // routing, dotted-method routing, unknown-method refusal, double-start
767
+ // refusal, and the stopped-drop guard.
768
+ var fx = await _setup("consumer-dispatch");
769
+ try {
770
+ var innerAgent = b.mail.agent.create({ store: fx.store });
771
+ var actor = { id: "u1" };
772
+
773
+ var handler = null;
774
+ var subscribeCount = 0;
775
+ var unsubscribed = false;
776
+ var fakeQueue = {
777
+ consume: async function (topic, fn, subOpts) {
778
+ subscribeCount += 1;
779
+ handler = fn;
780
+ check("consumer: consume receives maxConcurrency opt",
781
+ subOpts && subOpts.maxConcurrency === 4 && topic === "mail.agent.tasks");
782
+ return { unsubscribe: async function () { unsubscribed = true; } };
783
+ },
784
+ enqueue: async function () { return { jobId: "j1" }; },
785
+ };
786
+
787
+ // maxConcurrency omitted → default 4 (negative branch of the ternary).
788
+ var cons = b.mail.agent.consumer({ agent: innerAgent, queue: fakeQueue });
789
+ await cons.start();
790
+ check("consumer: start subscribes once", subscribeCount === 1 && typeof handler === "function");
791
+
792
+ await expectRejection("consumer: double start refused",
793
+ cons.start(), "mail-agent/already-started");
794
+
795
+ // Direct-method routing → agent.folders.
796
+ var fres = await handler({ method: "folders", args: { actor: actor } });
797
+ check("consumer: direct method routes to agent.folders", Array.isArray(fres.folders));
798
+
799
+ // Dotted-method routing → agent.sieve.put.
800
+ var sres = await handler({
801
+ method: "sieve.put",
802
+ args: { actor: actor, name: "cf", script: VALID_SIEVE, ownedNames: ["cf"] },
803
+ });
804
+ check("consumer: dotted method routes to agent.sieve.put", sres.ok === true);
805
+
806
+ // Unknown flat method refused.
807
+ await expectRejection("consumer: unknown method refused",
808
+ handler({ method: "bogus", args: {} }), "mail-agent/unknown-method");
809
+
810
+ // Missing method refused (falls through to the unknown-method throw).
811
+ await expectRejection("consumer: missing method refused",
812
+ handler({ args: {} }), "mail-agent/unknown-method");
813
+
814
+ // Dotted method whose namespace/leaf is unknown refused.
815
+ await expectRejection("consumer: unknown dotted method refused",
816
+ handler({ method: "sieve.nope", args: {} }), "mail-agent/unknown-method");
817
+
818
+ // stop() unsubscribes; a post-stop envelope is dropped silently.
819
+ await cons.stop();
820
+ check("consumer: stop unsubscribes", unsubscribed === true);
821
+ var dropped = await handler({ method: "folders", args: { actor: actor } });
822
+ check("consumer: stopped consumer drops the envelope", dropped === undefined);
823
+ } finally { _teardown(fx); }
824
+ }
825
+
397
826
  async function run() {
398
827
  testSurface();
399
828
  await testCreateRequiresStore();
@@ -410,6 +839,18 @@ async function run() {
410
839
  await testDispatchRouting();
411
840
  await testConsumerSurface();
412
841
  await testGuardsExposed();
842
+ await testCreateErrorBranches();
843
+ await testDispatchOptionValidation();
844
+ await testIdentityResolver();
845
+ await testAuditOverride();
846
+ await testMethodBadArgs();
847
+ await testDeleteInTrash();
848
+ await testSievePut();
849
+ await testCheckPermissionNoActor();
850
+ await testDefaultsAndFilters();
851
+ await testPostureNotImplementedAndFloorMiss();
852
+ await testConsumerErrorBranches();
853
+ await testConsumerDispatch();
413
854
  }
414
855
 
415
856
  module.exports = { run: run };