@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
@@ -74,6 +74,14 @@ var DEFAULT_POLL_MAX_FILES = 50000;
74
74
  // Operators with legitimate high-churn directories raise this via opts.
75
75
  var DEFAULT_MAX_PENDING = 10000; // pending-event queue cap
76
76
 
77
+ // Native fs.watch runtime-error codes that leave the underlying handle dead —
78
+ // change detection is permanently off, not a transient blip. Classified as a
79
+ // fatal watcher/handle-dead so a wrapper can recreate/alert rather than ignore.
80
+ var HANDLE_DEAD_CODES = ["EPERM", "EBADF", "ENOSPC", "EMFILE", "ENFILE", "EACCES"];
81
+ // Windows MAX_PATH is 260; a path approaching it needs the \\?\ long-path
82
+ // prefix for lstat to resolve it (below the threshold, plain paths are fine).
83
+ var WIN32_LONG_PATH_THRESHOLD = 250;
84
+
77
85
  // ---- glob-style matcher ----
78
86
  //
79
87
  // Supports three shapes per entry:
@@ -133,7 +141,7 @@ function _matchGlobBasename(parts, base) {
133
141
  return true;
134
142
  }
135
143
 
136
- function _compileIgnore(patterns) {
144
+ function _compileIgnore(patterns, caseFold) {
137
145
  if (!Array.isArray(patterns) || patterns.length === 0) {
138
146
  return function () { return false; };
139
147
  }
@@ -154,26 +162,33 @@ function _compileIgnore(patterns) {
154
162
  throw new WatcherError("watcher/bad-ignore",
155
163
  "watcher.create: ignore[" + i + "] exceeds " + MAX_IGNORE_STAR_COUNT + "-wildcard cap");
156
164
  }
157
- if (p.indexOf("**") !== -1) {
165
+ // When ignoreCaseFold is on, fold the pattern to lower case at compile time
166
+ // and the walked path at match time, so the walk-prune aligns with a
167
+ // case-insensitive consumer's own filter (an on-disk 'Node_Modules' is
168
+ // pruned by a 'node_modules/**' ignore, not stat'd toward pollMaxFiles).
169
+ // Length + wildcard caps stay measured on the original pattern.
170
+ var pk = caseFold ? p.toLowerCase() : p;
171
+ if (pk.indexOf("**") !== -1) {
158
172
  // dir/** prefix-match — strip the trailing **; reject `**` mid-pattern.
159
- if (!/^[^*]*\/?\*\*$/.test(p)) {
173
+ if (!/^[^*]*\/?\*\*$/.test(pk)) {
160
174
  throw new WatcherError("watcher/bad-ignore",
161
175
  "watcher.create: ignore[" + i + "] '**' is only supported as a trailing dir/** prefix form");
162
176
  }
163
- var prefix = p.replace(/\/?\*\*$/, "");
177
+ var prefix = pk.replace(/\/?\*\*$/, "");
164
178
  compiled.push({ kind: "prefix", value: prefix });
165
179
  } else if (starCount > 0) {
166
- compiled.push({ kind: "glob", value: _parseGlobBasename(p) });
180
+ compiled.push({ kind: "glob", value: _parseGlobBasename(pk) });
167
181
  } else {
168
- compiled.push({ kind: "exact", value: p });
182
+ compiled.push({ kind: "exact", value: pk });
169
183
  }
170
184
  }
171
185
  return function (relPath) {
172
- var base = nodePath.basename(relPath);
173
- var normalized = relPath.split(nodePath.sep).join("/");
186
+ var matchPath = caseFold ? relPath.toLowerCase() : relPath;
187
+ var base = nodePath.basename(matchPath);
188
+ var normalized = matchPath.split(nodePath.sep).join("/");
174
189
  for (var j = 0; j < compiled.length; j += 1) {
175
190
  var c = compiled[j];
176
- if (c.kind === "exact" && (c.value === relPath || c.value === normalized)) return true;
191
+ if (c.kind === "exact" && (c.value === matchPath || c.value === normalized)) return true;
177
192
  if (c.kind === "prefix" && (normalized === c.value || normalized.indexOf(c.value + "/") === 0)) return true;
178
193
  if (c.kind === "glob" && _matchGlobBasename(c.value, base)) return true;
179
194
  }
@@ -312,6 +327,21 @@ function _validateOpts(opts) {
312
327
  throw new WatcherError("watcher/bad-ignore",
313
328
  "watcher.create: ignore must be an array of glob patterns");
314
329
  }
330
+ validateOpts.optionalBoolean(opts.ignoreCaseFold, "ignoreCaseFold", WatcherError, "watcher/bad-ignore");
331
+ }
332
+
333
+ function _lstatLongPathSafe(fullPath) {
334
+ // Windows MAX_PATH (260): lstatSync on a path at/over the limit without the
335
+ // \\?\ long-path prefix spuriously throws ENOENT, which _normalizeAndDispatch
336
+ // would misread as a delete. The prefix needs a backslashed absolute path
337
+ // (the watcher root is realpathSync.native'd → absolute) and disables path
338
+ // normalization, which is safe here — fullPath has no relative components. A
339
+ // genuinely-missing file still ENOENTs on the plain-path fallback → real delete.
340
+ if (process.platform === "win32" && fullPath.length >= WIN32_LONG_PATH_THRESHOLD && fullPath.indexOf("\\\\?\\") !== 0) {
341
+ try { return nodeFs.lstatSync("\\\\?\\" + fullPath); }
342
+ catch (_e) { /* fall through to the plain path so a real ENOENT resurfaces */ }
343
+ }
344
+ return nodeFs.lstatSync(fullPath);
315
345
  }
316
346
 
317
347
  function create(opts) {
@@ -339,7 +369,7 @@ function create(opts) {
339
369
  var onChange = opts.onChange || function () {};
340
370
  var onDelete = opts.onDelete || function () {};
341
371
  var onError = opts.onError || function () {};
342
- var isIgnored = _compileIgnore(opts.ignore);
372
+ var isIgnored = _compileIgnore(opts.ignore, opts.ignoreCaseFold === true);
343
373
  var auditOn = opts.audit !== false;
344
374
 
345
375
  // Pre-flight: root must exist and be a directory.
@@ -375,13 +405,33 @@ function create(opts) {
375
405
  try { onError(err); } catch (_e) { /* operator error handler must not crash the watcher */ }
376
406
  }
377
407
 
408
+ // Native-backend (fs.watch) error handler. A runtime error whose code leaves
409
+ // the handle dead (EPERM after the watched root is deleted/recreated on
410
+ // Windows, EBADF, inotify exhaustion) permanently stops detection — classify
411
+ // it fatal so a consumer can react (recreate/alert) rather than treat it as a
412
+ // transient blip. Non-handle-dead errors pass through unclassified.
413
+ function _handleBackendError(err) {
414
+ if (err && HANDLE_DEAD_CODES.indexOf(err.code) !== -1) {
415
+ var dead = new WatcherError("watcher/handle-dead",
416
+ "watcher: native watch handle died (" + err.code + ") — change detection has " +
417
+ "permanently stopped; recreate the watcher to resume: " + (err.message || String(err)));
418
+ dead.fatal = true;
419
+ dead.cause = err;
420
+ _safeError(dead);
421
+ return;
422
+ }
423
+ _safeError(err);
424
+ }
425
+
378
426
  function _normalizeAndDispatch(relPath) {
379
427
  if (stopped) return;
380
428
  if (isIgnored(relPath)) return;
381
429
  var fullPath = nodePath.join(root, relPath);
382
- // lstat (NOT stat) — refuses to follow symlinks out of root.
430
+ // lstat (NOT stat) — refuses to follow symlinks out of root. Long-path-safe
431
+ // so a Windows path over MAX_PATH isn't misread as a delete (issue: a deep
432
+ // change delivered to onDelete instead of onChange).
383
433
  var lst;
384
- try { lst = nodeFs.lstatSync(fullPath); }
434
+ try { lst = _lstatLongPathSafe(fullPath); }
385
435
  catch (e) {
386
436
  if (e && e.code === "ENOENT") {
387
437
  // Path is gone — delete event. Type unknown by the time we
@@ -456,10 +506,23 @@ function create(opts) {
456
506
  var absDir = relDir === "" ? root : nodePath.join(root, relDir);
457
507
  var entries;
458
508
  try { entries = nodeFs.readdirSync(absDir, { withFileTypes: true }); }
459
- catch (_e) {
460
- // Root vanished mid-walk OR an inner dir got deleted between
461
- // the parent listing and the descent. Skip the next tick's
462
- // walk surfaces the deletion via the snapshot diff.
509
+ catch (rootErr) {
510
+ if (relDir === "") {
511
+ // The ROOT itself is unreadable (unmounted NFS/SMB/USB volume, or a
512
+ // deleted root). Returning an empty snapshot would diff as a delete
513
+ // of EVERY tracked entry — a mass-delete a consumer can't tell apart
514
+ // from a real rm -rf. Surface a distinct fatal root-lost signal and
515
+ // abort the walk; _pollTick's catch keeps the prior snapshot, so no
516
+ // spurious onDelete fires.
517
+ var lost = new WatcherError("watcher/root-lost",
518
+ "watcher.poll: root '" + root + "' is no longer readable: " +
519
+ ((rootErr && rootErr.message) || String(rootErr)));
520
+ lost.fatal = true;
521
+ lost.cause = rootErr;
522
+ throw lost;
523
+ }
524
+ // Inner dir vanished mid-walk between the parent listing and the
525
+ // descent. Skip — the next tick's diff surfaces the deletion.
463
526
  continue;
464
527
  }
465
528
  for (var i = 0; i < entries.length; i += 1) {
@@ -544,7 +607,7 @@ function create(opts) {
544
607
  if (rel === "" || rel === ".") return;
545
608
  _enqueue(rel);
546
609
  });
547
- watcherHandle.on("error", function (err) { _safeError(err); });
610
+ watcherHandle.on("error", function (err) { _handleBackendError(err); });
548
611
  } catch (e) {
549
612
  if (e && (e.code === "ERR_FEATURE_UNAVAILABLE_ON_PLATFORM" || e.code === "ENOSYS")) {
550
613
  throw new WatcherError("watcher/recursive-unsupported",
@@ -609,10 +672,19 @@ function create(opts) {
609
672
  root: root,
610
673
  mode: mode,
611
674
  _flushForTest: _flushForTest,
675
+ // Test seam — drives the native-backend error classification path (the OS
676
+ // killing the handle isn't deterministically reproducible). Not part of the
677
+ // operator contract.
678
+ _simulateBackendErrorForTest: _handleBackendError,
612
679
  };
613
680
  }
614
681
 
615
682
  module.exports = {
616
683
  create: create,
617
684
  WatcherError: WatcherError,
685
+ // Exported so a consumer pre-filtering operator ignore patterns (to keep one
686
+ // bad pattern from aborting the whole watcher) can align with the caps
687
+ // create() enforces, instead of pinning hand-copied mirror constants.
688
+ MAX_IGNORE_PATTERN_LEN: MAX_IGNORE_PATTERN_LEN,
689
+ MAX_IGNORE_STAR_COUNT: MAX_IGNORE_STAR_COUNT,
618
690
  };
@@ -72,7 +72,7 @@ var HTTP_OK_MAX = 300;
72
72
  function _validateTableName(name, label) {
73
73
  validateOpts.requireNonEmptyString(name, label, WebhookDispatcherError, "webhook-dispatcher/bad-opts");
74
74
  // safeSql.quoteIdentifier refuses an injection-bearing name at construction.
75
- safeSql.quoteIdentifier(name);
75
+ safeSql.quoteIdentifier(name, undefined, { allowReserved: true }); // parity with b.db.from()
76
76
  return name;
77
77
  }
78
78
 
@@ -154,6 +154,7 @@ function _coercePayloadString(payload) {
154
154
  * allowInternalDestinations: boolean, // default false — refuse SSRF (private/loopback/metadata)
155
155
  * httpRequest: function, // (url, body, headers) → { status } — inject for tests
156
156
  * now: function, // clock injection → ms epoch
157
+ * dnsLookup: function, // (host) → [{ address, family }] — override the SSRF destination resolver
157
158
  *
158
159
  * @example
159
160
  * var wd = b.webhook.dispatcher({ externalDb: b.externalDb });
@@ -186,6 +187,7 @@ function dispatcher(opts) {
186
187
  allowInternalDestinations: "optional-boolean",
187
188
  httpRequest: "optional-function",
188
189
  now: "optional-function",
190
+ dnsLookup: "optional-function",
189
191
  }, "webhook.dispatcher", WebhookDispatcherError, "webhook-dispatcher/bad-opts");
190
192
  var externalDb = opts.externalDb;
191
193
  var endpointsTable = _validateTableName(
@@ -216,12 +218,20 @@ function dispatcher(opts) {
216
218
  // because the IP check resolves the host. Throws a dispatcher-coded error.
217
219
  async function _assertSafeDestination(url, where) {
218
220
  safeUrl.parse(url, { allowedProtocols: allowedProtocols, errorClass: WebhookDispatcherError });
221
+ var checkOpts = { allowInternal: allowInternal };
222
+ if (typeof opts.dnsLookup === "function") checkOpts.dnsLookup = opts.dnsLookup;
219
223
  try {
220
- await ssrfGuard().checkUrl(url, { allowInternal: allowInternal });
224
+ await ssrfGuard().checkUrl(url, checkOpts);
221
225
  } catch (e) {
222
226
  if (e && e.isSsrfError) {
227
+ // A genuine SSRF refusal (destination resolved to a private / loopback /
228
+ // metadata IP, or a rebind since registration) is PERMANENT — dead-letter.
223
229
  throw _err("webhook-dispatcher/ssrf-refused", where + ": " + e.message);
224
230
  }
231
+ // A non-SsrfError from checkUrl is a raw resolver / network fault during
232
+ // host resolution (EAI_AGAIN, ETIMEDOUT, SERVFAIL, ...). Re-throw it as-is
233
+ // so the caller classifies it as TRANSIENT (retry), not permanent — a
234
+ // transient DNS blip must not dead-letter a delivery.
225
235
  throw e;
226
236
  }
227
237
  }
@@ -483,8 +493,20 @@ function dispatcher(opts) {
483
493
  try {
484
494
  await _assertSafeDestination(row.url, "deliver");
485
495
  } catch (err) {
496
+ // Permanence by CLASS: a genuine SSRF refusal or malformed URL surfaces
497
+ // as a WebhookDispatcherError (won't fix on retry) -> dead-letter. A
498
+ // resolver fault from the host-resolution step carries the framework's
499
+ // own terminal-vs-transient verdict on err.permanent — honor it so a
500
+ // PERMANENT lookup failure (no addresses / a removed record: the
501
+ // dns/no-result DnsError) dead-letters, while a transient one (a lookup
502
+ // timeout, a system/resolve failure) is retried on the backoff curve
503
+ // (capped at maxAttempts) like every other transport error below. A raw
504
+ // resolver error without that verdict (EAI_AGAIN from the native
505
+ // fallback, an injected resolver) is treated as transient — a DNS blip
506
+ // must not dead-letter a delivery.
507
+ var permanent = (err instanceof WebhookDispatcherError) || (err && err.permanent === true);
486
508
  return await _onFailure(deliveryId, attemptNo,
487
- (err && err.message) || String(err), true);
509
+ (err && err.message) || String(err), permanent);
488
510
  }
489
511
  // Sign + POST. Transport errors (network, TLS, timeout, DNS) and any
490
512
  // non-2xx HTTP status are TRANSIENT — back off and retry (capped at
@@ -669,8 +669,18 @@ function verifier(opts) {
669
669
  throw _failure("MISSING_TIMESTAMP", "webhook: t= field missing from signature header", "missing-timestamp", ctxReq);
670
670
  }
671
671
  var ts = Number(parsed.t);
672
- if (!numericBounds.isNonNegativeFiniteInt(ts)) {
673
- throw _failure("BAD_TIMESTAMP", "webhook: t= field is not a non-negative integer, got " + JSON.stringify(parsed.t), "bad-timestamp", ctxReq);
672
+ // The authenticated timestamp is re-composed into the signed string from
673
+ // `ts` (the Number) below, so it must be the exact canonical decimal the
674
+ // signer emits (`String(Math.floor(now / 1000))`). Validating only the
675
+ // post-coercion value would accept every string Number() maps to the same
676
+ // integer — scientific ("1.7e9"), a trailing ".0", hex ("0x..."), a
677
+ // leading "0"/"+"/whitespace — each of which re-canonicalizes into the
678
+ // signed string and re-verifies, making the authenticated t= field
679
+ // malleable. Require the raw bytes to equal String(ts) so the sole
680
+ // canonical form the signer produces is the sole form accepted (matching
681
+ // the strict digits-only parse the Stripe verifier already applies).
682
+ if (!numericBounds.isNonNegativeFiniteInt(ts) || String(ts) !== parsed.t) {
683
+ throw _failure("BAD_TIMESTAMP", "webhook: t= field is not a canonical non-negative integer, got " + JSON.stringify(parsed.t), "bad-timestamp", ctxReq);
674
684
  }
675
685
  if (parsed.id === null || parsed.id.length === 0) {
676
686
  throw _failure("MISSING_ID", "webhook: id= field missing from signature header", "missing-id", ctxReq);
@@ -268,6 +268,7 @@ function connect(target, opts) {
268
268
  // performs the (async) check + pinning before the dial and reruns it on
269
269
  // every reconnect, so a urlFor-swapped target is validated too.
270
270
  client._prepareDial().then(function () {
271
+ if (client._closed) return; // close() during the async SSRF re-resolve retires the dial
271
272
  client._dial();
272
273
  }).catch(function (e) {
273
274
  setImmediate(function () { client._handleSocketError(e); });
@@ -366,6 +367,10 @@ class WsClient extends EventEmitter {
366
367
  }
367
368
 
368
369
  _dial() {
370
+ // Guard the shared dial funnel: a close() during the pending _prepareDial
371
+ // (initial dial) or the reconnect backoff sets _closed; without this check
372
+ // the resolved continuation would open a socket + heartbeat nobody owns.
373
+ if (this._closed) return;
369
374
  var self = this;
370
375
  this._readyState = "connecting";
371
376
 
@@ -406,10 +411,24 @@ class WsClient extends EventEmitter {
406
411
  var tlsOpts = Object.assign({
407
412
  host: host,
408
413
  port: port,
409
- servername: host,
410
414
  rejectUnauthorized: true,
411
415
  minVersion: "TLSv1.3",
412
416
  }, dialTlsOpts || {});
417
+ // RFC 6066 §3: the TLS SNI ServerName MUST be a hostname, never an IP
418
+ // literal — Node throws ERR_INVALID_ARG_VALUE when servername is an IP,
419
+ // which made wss:// to any IP-literal target unusable. Send SNI only for
420
+ // hostname targets; for an IP-literal host omit it (cert identity is still
421
+ // verified against the address' iPAddress SAN by the default
422
+ // checkServerIdentity). An operator servername in tlsOpts still wins.
423
+ // Decide via ssrfGuard.canonicalizeHost so an IPv6 literal is recognized:
424
+ // parsed.hostname keeps the brackets (`[::1]`), and net.isIP only accepts
425
+ // the bare form — canonicalizeHost strips the brackets (and normalizes the
426
+ // address) so the IP test is correct. Without it an IPv6 literal would set
427
+ // servername=`[::1]`, a malformed SNI a strict server rejects. Hostnames
428
+ // canonicalize to a non-IP form, so they still get their SNI.
429
+ if (!tlsOpts.servername && !net.isIP(ssrfGuard.canonicalizeHost(host))) {
430
+ tlsOpts.servername = host;
431
+ }
413
432
  if (lookup) tlsOpts.lookup = lookup;
414
433
  try {
415
434
  var pqcShares = networkTls().pqc.getKeyShares();
@@ -869,6 +888,18 @@ class WsClient extends EventEmitter {
869
888
  this._closed = true;
870
889
  return;
871
890
  }
891
+ if (this._readyState === "connecting") {
892
+ // No socket is established yet (the dial is still in _prepareDial's SSRF
893
+ // re-resolve or the handshake). There is no peer to exchange a graceful
894
+ // close frame with, so the 1000ms grace window buys nothing — and leaving
895
+ // _closed false across it lets a slow _prepareDial resolve into _dial()
896
+ // and open a socket nobody owns. Retire immediately (sets _closed and
897
+ // destroys any partial socket).
898
+ code = (typeof code === "number") ? code : CLOSE_NORMAL;
899
+ reason = (typeof reason === "string") ? reason : "";
900
+ this._teardown(code, reason, false);
901
+ return;
902
+ }
872
903
  code = (typeof code === "number") ? code : CLOSE_NORMAL;
873
904
  reason = (typeof reason === "string") ? reason : "";
874
905
  // RFC 6455 §5.5: control frames must be <= 125 bytes total. The
@@ -112,6 +112,20 @@ function parse(xml) {
112
112
  "parse: <!ENTITY> declarations refused");
113
113
  }
114
114
 
115
+ // XML 1.0 §2.11 end-of-line handling — a conforming processor folds every
116
+ // literal CRLF and lone CR to a single LF across the WHOLE document (text,
117
+ // CDATA, comments, attribute literals) BEFORE the InfoSet is built. A CR
118
+ // delivered through a character reference (&#xD;) is NOT a source line
119
+ // ending and is preserved. Doing this document-wide once (rather than the
120
+ // attribute literal alone) closes the same distinct-input / identical-output
121
+ // collision in element text and CDATA: without it a literal CR in text and
122
+ // the &#xD; reference both canonicalize to `&#xD;` (the escape _escapeText
123
+ // applies to a surviving CR), letting a signed document be swapped for one
124
+ // whose character data differs but whose canonical bytes match. The
125
+ // attribute §3.3.3 whitespace fold below still runs (it additionally folds
126
+ // TAB and the now-LF to a single space, which §2.11 alone does not).
127
+ xml = xml.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
128
+
115
129
  var pos = 0;
116
130
  function err(msg) {
117
131
  throw _xmlErr("xml-c14n/parse", "parse: " + msg + " at offset " + pos);
@@ -159,7 +173,21 @@ function parse(xml) {
159
173
  if (pos >= xml.length) err("unterminated attribute value");
160
174
  var raw = xml.slice(start, pos);
161
175
  pos += 1; // closing quote
162
- return _decodeEntities(raw);
176
+ // XML 1.0 §2.11 line-ending + §3.3.3 attribute-value normalization: a
177
+ // literal TAB / CR / LF in the attribute literal (and a CRLF / lone-CR
178
+ // line ending) folds to a single SPACE. The SAME character delivered
179
+ // through a character reference (&#9; / &#xA; / &#xD;) is decoded AFTER
180
+ // this fold and is therefore preserved. Because c14n later escapes the
181
+ // surviving literal control characters back to &#x9; / &#xA; / &#xD;,
182
+ // skipping the fold makes `a="x<TAB>y"` and `a="x&#9;y"` canonicalize
183
+ // to IDENTICAL bytes even though their InfoSet attribute values differ
184
+ // ("x y" vs a real TAB) — a distinct-input / identical-output collision
185
+ // that would let a signed document be swapped for a semantically
186
+ // different one whose canonical bytes still match (XML-signature-
187
+ // wrapping / smuggling). Normalize the literal text BEFORE entity
188
+ // decode so character-reference whitespace stays intact.
189
+ var normalized = raw.replace(/\r\n/g, " ").replace(/[\r\n\t]/g, " ");
190
+ return _decodeEntities(normalized);
163
191
  }
164
192
 
165
193
  function _decodeEntities(s) {
@@ -11,7 +11,7 @@
11
11
  # never built by OSS-Fuzz's own infra. The actual upstream OSS-Fuzz submission
12
12
  # un-pins the FROM in its own PR per OSS-Fuzz convention (that infra tracks the
13
13
  # latest base-builder). This is a CI-only fuzzing image, never deployed.
14
- FROM gcr.io/oss-fuzz-base/base-builder-javascript@sha256:990a7eb71a3001c3df3ae3b528e3797442d8666592ee24f86d4ce13b231db968
14
+ FROM gcr.io/oss-fuzz-base/base-builder-javascript@sha256:649105c8df1de6b5e752aaad2c944198aba5cb79481b9ccbcaa189854d9f50d2
15
15
 
16
16
  # Clone the framework into the build context. OSS-Fuzz builds against
17
17
  # main on every run; once the project is accepted, ClusterFuzz tracks
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@blamejs/core",
3
- "version": "0.16.3",
3
+ "version": "0.17.22",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@blamejs/core",
9
- "version": "0.16.3",
9
+ "version": "0.17.22",
10
10
  "license": "Apache-2.0",
11
11
  "bin": {
12
12
  "blamejs": "bin/blamejs.js"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blamejs/core",
3
- "version": "0.16.3",
3
+ "version": "0.17.22",
4
4
  "description": "The Node framework that owns its stack.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "blamejs contributors",