@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
@@ -19,6 +19,21 @@
19
19
  var helpers = require("../helpers");
20
20
  var b = helpers.b;
21
21
  var check = helpers.check;
22
+ var fs = helpers.fs;
23
+ var os = helpers.os;
24
+ var path = helpers.path;
25
+
26
+ // Small assertion helper for the many "this hostile shape must throw with
27
+ // exactly this GuardFilenameError code" cases below. Not a mock — a thin
28
+ // try/catch wrapper around the real b.guardFilename call the test drives.
29
+ function _expectThrowCode(label, code, fn) {
30
+ var threw = null;
31
+ try { fn(); }
32
+ catch (e) { threw = e; }
33
+ check(label + " throws " + code,
34
+ threw && threw.code === code &&
35
+ threw instanceof b.guardFilename.GuardFilenameError);
36
+ }
22
37
 
23
38
  function testGuardFilenameSurface() {
24
39
  check("guardFilename is an object", typeof b.guardFilename === "object");
@@ -390,6 +405,390 @@ function testGuardFilenameBadProfile() {
390
405
  threw && /unknown profile/i.test(threw.message));
391
406
  }
392
407
 
408
+ function testGuardFilenameEmptyInput() {
409
+ // Empty string / empty Buffer reach _detectIssues and surface an
410
+ // "empty" issue rather than throwing (validate never throws).
411
+ var rvStr = b.guardFilename.validate("", { profile: "strict" });
412
+ check("validate empty string → empty issue",
413
+ rvStr.ok === false &&
414
+ rvStr.issues.some(function (i) { return i.kind === "empty"; }));
415
+
416
+ var rvBuf = b.guardFilename.validate(Buffer.alloc(0), { profile: "strict" });
417
+ check("validate empty Buffer → empty issue",
418
+ rvBuf.issues.some(function (i) { return i.kind === "empty"; }));
419
+
420
+ // Non-string / non-Buffer input is rejected by the "bytes" input
421
+ // contract before the detector runs — a bad-input issue, not a crash.
422
+ var rvNum = b.guardFilename.validate(12345, { profile: "strict" });
423
+ check("validate non-string/Buffer → bad-input issue",
424
+ rvNum.ok === false &&
425
+ rvNum.issues.some(function (i) { return i.kind === "bad-input"; }));
426
+ }
427
+
428
+ function testGuardFilenameBenignBufferNoOverlong() {
429
+ // A well-formed UTF-8 Buffer must NOT raise overlong-utf8 — exercises
430
+ // the buffer scan completing without a non-shortest sequence.
431
+ var rv = b.guardFilename.validate(Buffer.from("report-2026.txt", "utf8"),
432
+ { profile: "strict" });
433
+ check("benign Buffer → no overlong-utf8 issue",
434
+ !rv.issues.some(function (i) { return i.kind === "overlong-utf8"; }));
435
+ check("benign ASCII Buffer → clean",
436
+ rv.ok === true && rv.issues.length === 0);
437
+ }
438
+
439
+ function testGuardFilenameHomoglyph() {
440
+ // Cyrillic small a (U+0430) mixed with ASCII letters — visual-confusable
441
+ // spoof. Under balanced (homoglyphPolicy:"audit") it surfaces a warn-
442
+ // severity homoglyph issue.
443
+ var cyrA = String.fromCharCode(0x0430);
444
+ var rv = b.guardFilename.validate("p" + cyrA + "ypal.txt", { profile: "balanced" });
445
+ check("balanced: homoglyph mixed with ASCII detected (audit=warn)",
446
+ rv.issues.some(function (i) {
447
+ return i.kind === "homoglyph" && i.severity === "warn";
448
+ }));
449
+
450
+ // Under strict (homoglyphPolicy:"reject") the same char is critical.
451
+ var rvStrict = b.guardFilename.validate("p" + cyrA + "ypal.txt", { profile: "strict" });
452
+ check("strict: homoglyph severity is critical",
453
+ rvStrict.issues.some(function (i) {
454
+ return i.kind === "homoglyph" && i.severity === "critical";
455
+ }));
456
+
457
+ // No ASCII letters present → homoglyph rule short-circuits (nothing to
458
+ // confuse against), so a pure-Cyrillic leaf raises no homoglyph issue.
459
+ var rvPure = b.guardFilename.validate(cyrA + String.fromCharCode(0x0431),
460
+ { profile: "balanced" });
461
+ check("pure non-ASCII leaf → no homoglyph issue (no ASCII to mix)",
462
+ !rvPure.issues.some(function (i) { return i.kind === "homoglyph"; }));
463
+ }
464
+
465
+ function testGuardFilenameSuperscriptReservedName() {
466
+ // Windows folds superscript digits U+00B9/00B2/00B3 to 1/2/3 when
467
+ // matching COM/LPT devices — "COM<sup1>" resolves to COM1. Exercises the
468
+ // superscript-fold branch in _isWinReserved.
469
+ var sup1 = String.fromCharCode(0xB9);
470
+ var rv = b.guardFilename.validate("COM" + sup1, { profile: "balanced" });
471
+ check("superscript-digit COM device spoof → reserved-name",
472
+ rv.issues.some(function (i) { return i.kind === "reserved-name"; }));
473
+ }
474
+
475
+ function testGuardFilenameExtAllowlistNoExtension() {
476
+ // A name with NO extension against an allowlist → ext-not-allowlisted
477
+ // (the empty-extension branch of the allowlist check).
478
+ var rv = b.guardFilename.validate("readme", {
479
+ profile: "balanced",
480
+ extensionAllowlist: [".txt", ".md"],
481
+ });
482
+ check("no-extension name against allowlist → ext-not-allowlisted",
483
+ rv.issues.some(function (i) { return i.kind === "ext-not-allowlisted"; }));
484
+ }
485
+
486
+ function testGuardFilenameSanitizeEnforceRejections() {
487
+ // sanitize() default (enforce) mode — every reject/throw path below is a
488
+ // security-floor or profile-policy refusal the operator relies on.
489
+
490
+ _expectThrowCode("sanitize empty string", "filename.empty", function () {
491
+ b.guardFilename.sanitize("", { profile: "balanced" });
492
+ });
493
+
494
+ _expectThrowCode("sanitize overlong-UTF-8 Buffer", "filename.overlong-utf8", function () {
495
+ b.guardFilename.sanitize(Buffer.from([0xC0, 0xAE, 0x66]), { profile: "balanced" });
496
+ });
497
+
498
+ _expectThrowCode("sanitize UNC path", "filename.unc", function () {
499
+ b.guardFilename.sanitize("//server/share/file.txt", { profile: "balanced" });
500
+ });
501
+
502
+ // strict leadingTrailingPolicy:"reject" — leading whitespace refuses
503
+ // rather than being stripped.
504
+ _expectThrowCode("sanitize strict leading whitespace", "filename.leading-trailing", function () {
505
+ b.guardFilename.sanitize(" report.txt", { profile: "strict" });
506
+ });
507
+
508
+ _expectThrowCode("sanitize reserved char (reject)", "filename.reserved-char", function () {
509
+ b.guardFilename.sanitize("a<b.txt", { profile: "balanced" });
510
+ });
511
+
512
+ // balanced reservedCharPolicy:"reject" + pathSeparatorsPolicy:"reject" —
513
+ // the "/" is not a reserved char, so the path-separator branch refuses it.
514
+ _expectThrowCode("sanitize path separator (reject)", "filename.path-separator", function () {
515
+ b.guardFilename.sanitize("a/b.txt", { profile: "balanced" });
516
+ });
517
+
518
+ _expectThrowCode("sanitize reserved device name (reject)", "filename.reserved-name", function () {
519
+ b.guardFilename.sanitize("CON", { profile: "balanced" });
520
+ });
521
+
522
+ // permissive reservedNamePolicy:"audit" — disambiguates by prefixing "_"
523
+ // rather than throwing.
524
+ check("sanitize permissive reserved name → underscore-prefixed",
525
+ b.guardFilename.sanitize("CON", { profile: "permissive" }) === "_CON");
526
+
527
+ // NTFS ADS refusal in enforce mode. The ":" is normally caught by the
528
+ // reserved-char pass first, so opt that off to drive the dedicated ADS
529
+ // branch: reservedCharPolicy:"allow" keeps the colon, adsPolicy:"reject"
530
+ // refuses the stream syntax.
531
+ _expectThrowCode("sanitize NTFS ADS (dedicated branch)", "filename.ntfs-ads", function () {
532
+ b.guardFilename.sanitize("file.txt:stream", {
533
+ profile: "permissive",
534
+ reservedCharPolicy: "allow",
535
+ adsPolicy: "reject",
536
+ });
537
+ });
538
+
539
+ _expectThrowCode("sanitize over-length leaf", "filename.length", function () {
540
+ b.guardFilename.sanitize("x".repeat(300) + ".txt", { profile: "balanced" });
541
+ });
542
+
543
+ // Whitespace-only leaf strips to empty under permissive → post-strip
544
+ // empty refusal.
545
+ _expectThrowCode("sanitize strips to empty", "filename.empty", function () {
546
+ b.guardFilename.sanitize(" ", { profile: "permissive" });
547
+ });
548
+ }
549
+
550
+ function testGuardFilenameSanitizeBadInput() {
551
+ _expectThrowCode("sanitize non-string/Buffer input", "filename.bad-input", function () {
552
+ b.guardFilename.sanitize(12345, { profile: "balanced" });
553
+ });
554
+ }
555
+
556
+ function testGuardFilenameSanitizeStripModeFloor() {
557
+ // Strip-mode security floor branches not covered by the round-trip test.
558
+ _expectThrowCode("strip-mode overlong-UTF-8 Buffer", "filename.overlong-utf8", function () {
559
+ b.guardFilename.sanitize(Buffer.from([0xC0, 0xAE, 0x66]),
560
+ { mode: "strip", profile: "balanced" });
561
+ });
562
+
563
+ _expectThrowCode("strip-mode empty string", "filename.empty", function () {
564
+ b.guardFilename.sanitize("", { mode: "strip", profile: "balanced" });
565
+ });
566
+
567
+ _expectThrowCode("strip-mode over-length leaf", "filename.length", function () {
568
+ b.guardFilename.sanitize("x".repeat(300), { mode: "strip", profile: "balanced" });
569
+ });
570
+ }
571
+
572
+ async function testGuardFilenameGateSanitizeAction() {
573
+ // The gate's "sanitize" action fires only when EVERY reject-policy is off
574
+ // and a strip-eligible high/critical issue is present. Drive it with an
575
+ // all-policies-non-reject config and a leading-whitespace name (a "high"
576
+ // leading-trailing issue that sanitize repairs to "report.txt").
577
+ var g = b.guardFilename.gate({
578
+ profile: "permissive",
579
+ bidiPolicy: "strip",
580
+ controlPolicy: "strip",
581
+ nullBytePolicy: "allow",
582
+ traversalPolicy: "audit",
583
+ reservedCharPolicy: "strip",
584
+ reservedNamePolicy: "audit",
585
+ adsPolicy: "audit",
586
+ pathSeparatorsPolicy: "audit",
587
+ leadingTrailingPolicy: "strip",
588
+ });
589
+ var v = await g.check({ filename: " report.txt" });
590
+ check("gate: sanitize-eligible issue → action=sanitize",
591
+ v.ok === true && v.action === "sanitize");
592
+
593
+ // audit-only: a warn-severity-only issue (no high/critical) resolves to
594
+ // action=audit-only. A homoglyph under audit policy is warn-only.
595
+ var gAudit = b.guardFilename.gate({ profile: "permissive", homoglyphPolicy: "audit" });
596
+ var vAudit = await gAudit.check({ filename: "p" + String.fromCharCode(0x0430) + "y" });
597
+ check("gate: warn-only issue → action=audit-only",
598
+ vAudit.action === "audit-only");
599
+ }
600
+
601
+ function testVerifyExtractionPathStringRefusals() {
602
+ var root = "/var/quarantine";
603
+ _expectThrowCode("vep empty entryName", "filename.extraction-empty", function () {
604
+ b.guardFilename.verifyExtractionPath("", root);
605
+ });
606
+ _expectThrowCode("vep non-string entryName", "filename.extraction-empty", function () {
607
+ b.guardFilename.verifyExtractionPath(123, root);
608
+ });
609
+ _expectThrowCode("vep empty extractionRoot", "filename.extraction-bad-root", function () {
610
+ b.guardFilename.verifyExtractionPath("ok.txt", "");
611
+ });
612
+ _expectThrowCode("vep non-string extractionRoot", "filename.extraction-bad-root", function () {
613
+ b.guardFilename.verifyExtractionPath("ok.txt", 123);
614
+ });
615
+ _expectThrowCode("vep PATH_MAX overflow", "filename.extraction-path-max", function () {
616
+ b.guardFilename.verifyExtractionPath("a".repeat(4097), root);
617
+ });
618
+ _expectThrowCode("vep null byte", "filename.extraction-null-byte", function () {
619
+ b.guardFilename.verifyExtractionPath("file" + String.fromCharCode(0) + ".txt", root);
620
+ });
621
+ _expectThrowCode("vep absolute path", "filename.extraction-absolute", function () {
622
+ b.guardFilename.verifyExtractionPath("/etc/passwd", root);
623
+ });
624
+ _expectThrowCode("vep drive-letter prefix", "filename.extraction-drive-prefix", function () {
625
+ b.guardFilename.verifyExtractionPath("C:/Windows/system32", root);
626
+ });
627
+ _expectThrowCode("vep .. leading segment", "filename.extraction-traversal", function () {
628
+ b.guardFilename.verifyExtractionPath("../etc/passwd", root);
629
+ });
630
+ _expectThrowCode("vep .. interior segment", "filename.extraction-traversal", function () {
631
+ b.guardFilename.verifyExtractionPath("a/../b", root);
632
+ });
633
+ _expectThrowCode("vep backslash .. segment", "filename.extraction-traversal", function () {
634
+ b.guardFilename.verifyExtractionPath("a\\..\\b", root);
635
+ });
636
+ _expectThrowCode("vep percent-encoded ..", "filename.extraction-traversal-encoded", function () {
637
+ b.guardFilename.verifyExtractionPath("docs/%2e%2e/x", root);
638
+ });
639
+ _expectThrowCode("vep overlong-encoded ..", "filename.extraction-traversal-encoded", function () {
640
+ b.guardFilename.verifyExtractionPath("docs/%c0%ae/x", root);
641
+ });
642
+ _expectThrowCode("vep reserved device segment", "filename.extraction-reserved-name", function () {
643
+ b.guardFilename.verifyExtractionPath("docs/CON/x.txt", root);
644
+ });
645
+ _expectThrowCode("vep NTFS ADS segment", "filename.extraction-ntfs-ads", function () {
646
+ b.guardFilename.verifyExtractionPath("docs/file.txt:stream", root);
647
+ });
648
+ _expectThrowCode("vep trailing-dot segment", "filename.extraction-leading-trailing", function () {
649
+ b.guardFilename.verifyExtractionPath("docs/secret.txt.", root);
650
+ });
651
+ _expectThrowCode("vep leading-whitespace segment", "filename.extraction-leading-trailing", function () {
652
+ b.guardFilename.verifyExtractionPath(" leading/x.txt", root);
653
+ });
654
+ }
655
+
656
+ function testVerifyExtractionPathOptOuts() {
657
+ // Non-existent root so the fs realpath block is skipped; each opt-out
658
+ // flips a Windows-hazard segment check off and the call succeeds.
659
+ var root = path.join(os.tmpdir(), "gfn-none-" + Date.now() + "-" + Math.random().toString(36).slice(2));
660
+ var r1 = b.guardFilename.verifyExtractionPath("docs/CON/x.txt", root,
661
+ { reservedNamePolicy: "allow" });
662
+ check("vep reservedNamePolicy:allow permits CON segment",
663
+ typeof r1 === "string" && r1.indexOf("x.txt") !== -1);
664
+
665
+ var r2 = b.guardFilename.verifyExtractionPath("docs/file.txt:stream", root,
666
+ { adsPolicy: "allow" });
667
+ check("vep adsPolicy:allow permits name:stream segment",
668
+ typeof r2 === "string" && r2.indexOf("stream") !== -1);
669
+
670
+ var r3 = b.guardFilename.verifyExtractionPath("docs/secret.txt.", root,
671
+ { leadingTrailingPolicy: "allow" });
672
+ check("vep leadingTrailingPolicy:allow permits trailing dot",
673
+ typeof r3 === "string");
674
+ }
675
+
676
+ function testVerifyExtractionPathSuccess() {
677
+ // Non-existent root: string-containment passes, realpath block skipped,
678
+ // resolved path returned.
679
+ var noneRoot = path.join(os.tmpdir(), "gfn-none-" + Date.now() + "-" + Math.random().toString(36).slice(2));
680
+ var resolved = b.guardFilename.verifyExtractionPath("docs/readme.txt", noneRoot);
681
+ check("vep benign entry (no root on disk) → resolved path returned",
682
+ typeof resolved === "string" &&
683
+ resolved === path.resolve(noneRoot, "docs/readme.txt"));
684
+
685
+ // Existing root on disk: exercises the realpath-agreement block — every
686
+ // existing ancestor must realpath inside the realpath of the root.
687
+ var realRoot = fs.mkdtempSync(path.join(os.tmpdir(), "gfn-root-"));
688
+ try {
689
+ var r = b.guardFilename.verifyExtractionPath("sub/dir/file.txt", realRoot);
690
+ check("vep existing root → realpath-agreement passes, resolved returned",
691
+ r === path.resolve(realRoot, "sub/dir/file.txt"));
692
+ } finally {
693
+ try { fs.rmSync(realRoot, { recursive: true, force: true }); } catch (_e) { /* best-effort */ }
694
+ }
695
+ }
696
+
697
+ function testVerifyExtractionPathRealpathEscape() {
698
+ // A symlink/junction inside the root whose realpath escapes the root is
699
+ // the CVE-2025-4517 PATH_MAX-TOCTOU class: string containment passes
700
+ // (no ".." literal) but fs.realpath resolves outside. Junction on
701
+ // Windows (no admin needed) / symlink on POSIX.
702
+ var realRoot = fs.mkdtempSync(path.join(os.tmpdir(), "gfn-root-"));
703
+ var outside = fs.mkdtempSync(path.join(os.tmpdir(), "gfn-out-"));
704
+ var linkMade = false;
705
+ try {
706
+ var link = path.join(realRoot, "link");
707
+ try { fs.symlinkSync(outside, link, "junction"); linkMade = true; }
708
+ catch (_e1) {
709
+ try { fs.symlinkSync(outside, link, "dir"); linkMade = true; }
710
+ catch (_e2) { linkMade = false; }
711
+ }
712
+ if (linkMade) {
713
+ _expectThrowCode("vep symlink escaping root", "filename.extraction-realpath-escape", function () {
714
+ b.guardFilename.verifyExtractionPath("link/evil.txt", realRoot);
715
+ });
716
+ }
717
+ } finally {
718
+ try { fs.rmSync(realRoot, { recursive: true, force: true }); } catch (_e) { /* best-effort */ }
719
+ try { fs.rmSync(outside, { recursive: true, force: true }); } catch (_e) { /* best-effort */ }
720
+ }
721
+ check("vep realpath-escape test wired (symlink/junction created)", linkMade === true);
722
+ }
723
+
724
+ function testGuardFilenameOverlongVariants() {
725
+ // 3-byte overlong (0xE0 0x80-0x9F) and 4-byte overlong (0xF0 0x80-0x8F)
726
+ // are non-shortest forms alongside the 2-byte 0xC0/0xC1 class.
727
+ var three = b.guardFilename.validate(Buffer.from([0xE0, 0x80, 0xAE, 0x78]),
728
+ { profile: "strict" });
729
+ check("3-byte overlong UTF-8 detected",
730
+ three.issues.some(function (i) { return i.kind === "overlong-utf8"; }));
731
+
732
+ var four = b.guardFilename.validate(Buffer.from([0xF0, 0x80, 0x80, 0xAE]),
733
+ { profile: "strict" });
734
+ check("4-byte overlong UTF-8 detected",
735
+ four.issues.some(function (i) { return i.kind === "overlong-utf8"; }));
736
+ }
737
+
738
+ function testGuardFilenameSanitizeBufferInput() {
739
+ // A well-formed Buffer flows through the Buffer arm of both sanitize
740
+ // modes' name-extraction and round-trips to its UTF-8 text.
741
+ check("sanitize enforce accepts a benign Buffer",
742
+ b.guardFilename.sanitize(Buffer.from("okname.txt", "utf8"),
743
+ { profile: "balanced" }) === "okname.txt");
744
+ check("sanitize strip accepts a benign Buffer",
745
+ b.guardFilename.sanitize(Buffer.from("okname.txt", "utf8"),
746
+ { mode: "strip", profile: "balanced" }) === "okname.txt");
747
+ }
748
+
749
+ function testGuardFilenameStripAuditEdge() {
750
+ // Buffer input through strip-mode audit — the originalLength computation
751
+ // takes its Buffer arm.
752
+ var captured = [];
753
+ var okAudit = { safeEmit: function (ev) { captured.push(ev); } };
754
+ var crBuf = Buffer.from("report" + String.fromCharCode(0x0D) + ".txt", "utf8");
755
+ var out = b.guardFilename.sanitize(crBuf, { mode: "strip", profile: "balanced", audit: okAudit });
756
+ check("strip-mode audit with Buffer input emits + strips CR",
757
+ out === "report_.txt" && captured.length === 1 &&
758
+ captured[0].action === "guardfilename.sanitize.stripped");
759
+
760
+ // A throwing audit sink must NOT propagate — the sink is drop-silent so
761
+ // a crashing audit backend never breaks the producer.
762
+ var throwingAudit = { safeEmit: function () { throw new Error("audit backend down"); } };
763
+ var stillOut = b.guardFilename.sanitize("report" + String.fromCharCode(0x0D) + ".txt",
764
+ { mode: "strip", profile: "balanced", audit: throwingAudit });
765
+ check("strip-mode audit sink error is swallowed (drop-silent)",
766
+ stillOut === "report_.txt");
767
+ }
768
+
769
+ async function testGuardFilenameGateCtxShapes() {
770
+ var g = b.guardFilename.gate({ profile: "strict" });
771
+
772
+ // ctx.name (not ctx.filename) is the fallback identity key.
773
+ var byName = await g.check({ name: "report.txt" });
774
+ check("gate reads ctx.name when ctx.filename absent → serve",
775
+ byName.ok === true && byName.action === "serve");
776
+
777
+ // No filename at all → serve (nothing to guard).
778
+ var empty = await g.check({});
779
+ check("gate with no filename → serve",
780
+ empty.ok === true && empty.action === "serve");
781
+ }
782
+
783
+ function testVerifyExtractionPathDotSegment() {
784
+ // Current-dir "." and empty segments are skipped by the per-segment
785
+ // walk; a benign path carrying them still resolves cleanly.
786
+ var root = path.join(os.tmpdir(), "gfn-none-" + Date.now() + "-" + Math.random().toString(36).slice(2));
787
+ var resolved = b.guardFilename.verifyExtractionPath("a/./b.txt", root);
788
+ check("vep skips '.' segment and resolves",
789
+ resolved === path.resolve(root, "a/b.txt"));
790
+ }
791
+
393
792
  async function run() {
394
793
  testGuardFilenameSurface();
395
794
  testGuardFilenameStandalonePrimitive();
@@ -416,7 +815,32 @@ async function run() {
416
815
  testGuardFilenameSanitizeStripMode();
417
816
  testGuardFilenameCompliancePosture();
418
817
  testGuardFilenameBadProfile();
818
+ testGuardFilenameEmptyInput();
819
+ testGuardFilenameBenignBufferNoOverlong();
820
+ testGuardFilenameHomoglyph();
821
+ testGuardFilenameSuperscriptReservedName();
822
+ testGuardFilenameExtAllowlistNoExtension();
823
+ testGuardFilenameSanitizeEnforceRejections();
824
+ testGuardFilenameSanitizeBadInput();
825
+ testGuardFilenameSanitizeStripModeFloor();
826
+ testGuardFilenameOverlongVariants();
827
+ testGuardFilenameSanitizeBufferInput();
828
+ testGuardFilenameStripAuditEdge();
829
+ testVerifyExtractionPathDotSegment();
830
+ testVerifyExtractionPathStringRefusals();
831
+ testVerifyExtractionPathOptOuts();
832
+ testVerifyExtractionPathSuccess();
833
+ testVerifyExtractionPathRealpathEscape();
419
834
  await testGuardFilenameGate();
835
+ await testGuardFilenameGateSanitizeAction();
836
+ await testGuardFilenameGateCtxShapes();
420
837
  }
421
838
 
422
839
  module.exports = { run: run };
840
+
841
+ if (require.main === module) {
842
+ run().then(
843
+ function () { console.log("[guard-filename] OK — " + helpers.getChecks() + " checks passed"); process.exit(0); },
844
+ function (e) { console.error("FAIL:", e && e.stack || e); process.exit(1); }
845
+ );
846
+ }
@@ -90,6 +90,6 @@ function run() {
90
90
  module.exports = { run: run };
91
91
 
92
92
  if (require.main === module) {
93
- try { run(); console.log("[guard-gate-disposition-coverage] OK — " + helpers.getChecks() + " checks passed"); }
93
+ try { run(); console.log("[guard-gate-disposition] OK — " + helpers.getChecks() + " checks passed"); }
94
94
  catch (e) { console.error("FAIL:", e.stack || e); process.exit(1); }
95
95
  }