@zuplo/cli 7.6.8 → 7.6.10

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 (390) hide show
  1. package/node_modules/@inquirer/checkbox/package.json +3 -3
  2. package/node_modules/@inquirer/confirm/dist/index.js +1 -1
  3. package/node_modules/@inquirer/confirm/package.json +3 -3
  4. package/node_modules/@inquirer/core/dist/lib/create-prompt.js +66 -47
  5. package/node_modules/@inquirer/core/package.json +2 -2
  6. package/node_modules/@inquirer/editor/package.json +3 -3
  7. package/node_modules/@inquirer/expand/package.json +3 -3
  8. package/node_modules/@inquirer/input/package.json +3 -3
  9. package/node_modules/@inquirer/number/package.json +3 -3
  10. package/node_modules/@inquirer/password/package.json +3 -3
  11. package/node_modules/@inquirer/rawlist/package.json +3 -3
  12. package/node_modules/@inquirer/search/package.json +3 -3
  13. package/node_modules/@inquirer/select/package.json +3 -3
  14. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/index.d.ts +1 -2
  15. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts +12 -25
  16. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +18 -32
  17. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts +12 -25
  18. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +24 -50
  19. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jwe/general/decrypt.d.ts +15 -30
  20. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +29 -52
  21. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jwk/embedded.d.ts +5 -8
  22. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jwk/thumbprint.d.ts +7 -9
  23. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jwks/local.d.ts +10 -13
  24. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jwks/remote.d.ts +29 -41
  25. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jws/compact/sign.d.ts +8 -13
  26. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jws/compact/verify.d.ts +14 -26
  27. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jws/flattened/sign.d.ts +10 -19
  28. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jws/flattened/verify.d.ts +14 -26
  29. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jws/general/sign.d.ts +19 -33
  30. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jws/general/verify.d.ts +17 -32
  31. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jwt/decrypt.d.ts +20 -27
  32. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jwt/encrypt.d.ts +30 -35
  33. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jwt/sign.d.ts +8 -13
  34. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jwt/unsecured.d.ts +10 -19
  35. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/jwt/verify.d.ts +19 -22
  36. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/key/export.d.ts +10 -10
  37. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/key/generate_key_pair.d.ts +15 -22
  38. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/key/generate_secret.d.ts +12 -19
  39. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/key/import.d.ts +25 -31
  40. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/types.d.ts +184 -319
  41. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/util/base64url.d.ts +7 -7
  42. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/util/decode_jwt.d.ts +5 -7
  43. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/util/decode_protected_header.d.ts +6 -5
  44. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/types/util/errors.d.ts +50 -88
  45. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/index.js +70 -32
  46. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwe/compact/decrypt.js +6 -8
  47. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwe/compact/encrypt.js +25 -48
  48. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js +14 -14
  49. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js +34 -64
  50. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwe/general/decrypt.js +38 -49
  51. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwe/general/encrypt.js +100 -172
  52. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwk/embedded.js +29 -32
  53. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwk/thumbprint.js +51 -70
  54. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwks/local.js +53 -64
  55. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwks/remote.js +88 -136
  56. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jws/compact/sign.js +19 -21
  57. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jws/compact/verify.js +7 -8
  58. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jws/flattened/sign.js +22 -31
  59. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jws/flattened/verify.js +11 -24
  60. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jws/general/sign.js +55 -73
  61. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jws/general/verify.js +43 -69
  62. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwt/decrypt.js +12 -20
  63. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwt/encrypt.js +43 -70
  64. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwt/sign.js +17 -16
  65. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwt/unsecured.js +31 -40
  66. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/jwt/verify.js +12 -14
  67. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/key/export.js +32 -41
  68. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/key/generate_key_pair.js +32 -49
  69. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/key/generate_secret.js +35 -40
  70. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/key/import.js +48 -56
  71. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/asn1.js +128 -169
  72. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/buffer_utils.js +72 -41
  73. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/content_encryption.js +75 -119
  74. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/deflate.js +35 -47
  75. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/jwe_algorithms.js +102 -93
  76. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/jwe_decrypt.js +178 -234
  77. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/jwe_encrypt.js +71 -138
  78. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/jws_algorithms.js +62 -61
  79. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/jws_sign.js +43 -82
  80. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/jws_verify.js +78 -131
  81. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +123 -209
  82. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/key.js +147 -139
  83. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/key_algorithm.js +13 -8
  84. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/key_descriptor.js +8 -6
  85. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/key_management.js +169 -235
  86. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/validate.js +122 -0
  87. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/util/base64url.js +14 -37
  88. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/util/decode_jwt.js +32 -31
  89. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/util/decode_protected_header.js +18 -23
  90. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/util/errors.js +94 -84
  91. package/node_modules/@modelcontextprotocol/client/node_modules/jose/package.json +17 -81
  92. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/index.d.ts +1 -2
  93. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts +12 -25
  94. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +18 -32
  95. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts +12 -25
  96. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +24 -50
  97. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwe/general/decrypt.d.ts +15 -30
  98. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +29 -52
  99. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwk/embedded.d.ts +5 -8
  100. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwk/thumbprint.d.ts +7 -9
  101. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwks/local.d.ts +10 -13
  102. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwks/remote.d.ts +29 -41
  103. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jws/compact/sign.d.ts +8 -13
  104. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jws/compact/verify.d.ts +14 -26
  105. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jws/flattened/sign.d.ts +10 -19
  106. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jws/flattened/verify.d.ts +14 -26
  107. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jws/general/sign.d.ts +19 -33
  108. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jws/general/verify.d.ts +17 -32
  109. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwt/decrypt.d.ts +20 -27
  110. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwt/encrypt.d.ts +30 -35
  111. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwt/sign.d.ts +8 -13
  112. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwt/unsecured.d.ts +10 -19
  113. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwt/verify.d.ts +19 -22
  114. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/key/export.d.ts +10 -10
  115. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/key/generate_key_pair.d.ts +15 -22
  116. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/key/generate_secret.d.ts +12 -19
  117. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/key/import.d.ts +25 -31
  118. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/types.d.ts +184 -319
  119. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/util/base64url.d.ts +7 -7
  120. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/util/decode_jwt.d.ts +5 -7
  121. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/util/decode_protected_header.d.ts +6 -5
  122. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/util/errors.d.ts +50 -88
  123. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/index.js +70 -32
  124. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwe/compact/decrypt.js +6 -8
  125. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwe/compact/encrypt.js +25 -48
  126. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js +14 -14
  127. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js +34 -64
  128. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwe/general/decrypt.js +38 -49
  129. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwe/general/encrypt.js +100 -172
  130. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwk/embedded.js +29 -32
  131. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwk/thumbprint.js +51 -70
  132. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwks/local.js +53 -64
  133. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwks/remote.js +88 -136
  134. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jws/compact/sign.js +19 -21
  135. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jws/compact/verify.js +7 -8
  136. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jws/flattened/sign.js +22 -31
  137. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jws/flattened/verify.js +11 -24
  138. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jws/general/sign.js +55 -73
  139. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jws/general/verify.js +43 -69
  140. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwt/decrypt.js +12 -20
  141. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwt/encrypt.js +43 -70
  142. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwt/sign.js +17 -16
  143. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwt/unsecured.js +31 -40
  144. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwt/verify.js +12 -14
  145. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/key/export.js +32 -41
  146. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/key/generate_key_pair.js +32 -49
  147. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/key/generate_secret.js +35 -40
  148. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/key/import.js +48 -56
  149. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/asn1.js +128 -169
  150. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/buffer_utils.js +72 -41
  151. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/content_encryption.js +75 -119
  152. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/deflate.js +35 -47
  153. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/jwe_algorithms.js +102 -93
  154. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/jwe_decrypt.js +178 -234
  155. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/jwe_encrypt.js +71 -138
  156. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/jws_algorithms.js +62 -61
  157. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/jws_sign.js +43 -82
  158. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/jws_verify.js +78 -131
  159. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +123 -209
  160. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/key.js +147 -139
  161. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/key_algorithm.js +13 -8
  162. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/key_descriptor.js +8 -6
  163. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/key_management.js +169 -235
  164. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/validate.js +122 -0
  165. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/util/base64url.js +14 -37
  166. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/util/decode_jwt.js +32 -31
  167. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/util/decode_protected_header.js +18 -23
  168. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/util/errors.js +94 -84
  169. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/package.json +17 -81
  170. package/node_modules/@posthog/core/dist/cookie.js +17 -13
  171. package/node_modules/@posthog/core/dist/error-tracking/chunk-ids.js +15 -11
  172. package/node_modules/@posthog/core/dist/error-tracking/coercers/dom-exception-coercer.js +12 -8
  173. package/node_modules/@posthog/core/dist/error-tracking/coercers/error-coercer.js +12 -8
  174. package/node_modules/@posthog/core/dist/error-tracking/coercers/error-event-coercer.js +12 -9
  175. package/node_modules/@posthog/core/dist/error-tracking/coercers/error-event-coercer.mjs +0 -1
  176. package/node_modules/@posthog/core/dist/error-tracking/coercers/event-coercer.js +12 -8
  177. package/node_modules/@posthog/core/dist/error-tracking/coercers/index.js +51 -63
  178. package/node_modules/@posthog/core/dist/error-tracking/coercers/object-coercer.js +12 -8
  179. package/node_modules/@posthog/core/dist/error-tracking/coercers/primitive-coercer.js +12 -8
  180. package/node_modules/@posthog/core/dist/error-tracking/coercers/promise-rejection-event.js +12 -8
  181. package/node_modules/@posthog/core/dist/error-tracking/coercers/string-coercer.js +15 -11
  182. package/node_modules/@posthog/core/dist/error-tracking/coercers/utils.js +16 -12
  183. package/node_modules/@posthog/core/dist/error-tracking/error-properties-builder.js +12 -8
  184. package/node_modules/@posthog/core/dist/error-tracking/exception-steps.js +18 -14
  185. package/node_modules/@posthog/core/dist/error-tracking/exception-steps.mjs +2 -2
  186. package/node_modules/@posthog/core/dist/error-tracking/index.js +41 -49
  187. package/node_modules/@posthog/core/dist/error-tracking/parsers/base.d.ts.map +1 -1
  188. package/node_modules/@posthog/core/dist/error-tracking/parsers/base.js +13 -9
  189. package/node_modules/@posthog/core/dist/error-tracking/parsers/base.mjs +1 -1
  190. package/node_modules/@posthog/core/dist/error-tracking/parsers/chrome.js +12 -8
  191. package/node_modules/@posthog/core/dist/error-tracking/parsers/gecko.js +12 -8
  192. package/node_modules/@posthog/core/dist/error-tracking/parsers/index.js +17 -13
  193. package/node_modules/@posthog/core/dist/error-tracking/parsers/index.mjs +4 -4
  194. package/node_modules/@posthog/core/dist/error-tracking/parsers/node.js +12 -8
  195. package/node_modules/@posthog/core/dist/error-tracking/parsers/opera.js +14 -10
  196. package/node_modules/@posthog/core/dist/error-tracking/parsers/safari.js +12 -8
  197. package/node_modules/@posthog/core/dist/error-tracking/parsers/winjs.js +12 -8
  198. package/node_modules/@posthog/core/dist/error-tracking/release.js +15 -11
  199. package/node_modules/@posthog/core/dist/error-tracking/types.js +15 -11
  200. package/node_modules/@posthog/core/dist/error-tracking/utils.js +15 -11
  201. package/node_modules/@posthog/core/dist/eventemitter.js +15 -11
  202. package/node_modules/@posthog/core/dist/featureFlagLocalEvaluation.js +18 -14
  203. package/node_modules/@posthog/core/dist/featureFlagLocalEvaluation.mjs +1 -1
  204. package/node_modules/@posthog/core/dist/featureFlagUtils.js +30 -25
  205. package/node_modules/@posthog/core/dist/featureFlagUtils.mjs +2 -2
  206. package/node_modules/@posthog/core/dist/gzip.js +16 -12
  207. package/node_modules/@posthog/core/dist/index.js +302 -310
  208. package/node_modules/@posthog/core/dist/index.mjs +12 -12
  209. package/node_modules/@posthog/core/dist/logs/index.js +13 -9
  210. package/node_modules/@posthog/core/dist/logs/index.mjs +1 -1
  211. package/node_modules/@posthog/core/dist/logs/logs-utils.js +16 -12
  212. package/node_modules/@posthog/core/dist/logs/types.js +2 -2
  213. package/node_modules/@posthog/core/dist/logs/types.mjs +1 -0
  214. package/node_modules/@posthog/core/dist/metrics/config.js +15 -11
  215. package/node_modules/@posthog/core/dist/metrics/index.js +15 -11
  216. package/node_modules/@posthog/core/dist/metrics/index.mjs +2 -2
  217. package/node_modules/@posthog/core/dist/metrics/metrics-utils.js +14 -10
  218. package/node_modules/@posthog/core/dist/metrics/types.js +2 -2
  219. package/node_modules/@posthog/core/dist/metrics/types.mjs +1 -0
  220. package/node_modules/@posthog/core/dist/posthog-core-stateless.js +16 -12
  221. package/node_modules/@posthog/core/dist/posthog-core-stateless.mjs +1 -1
  222. package/node_modules/@posthog/core/dist/posthog-core.d.ts +14 -0
  223. package/node_modules/@posthog/core/dist/posthog-core.d.ts.map +1 -1
  224. package/node_modules/@posthog/core/dist/posthog-core.js +12 -8
  225. package/node_modules/@posthog/core/dist/surveys/activation.js +14 -10
  226. package/node_modules/@posthog/core/dist/surveys/events.js +14 -10
  227. package/node_modules/@posthog/core/dist/surveys/index.js +30 -26
  228. package/node_modules/@posthog/core/dist/surveys/index.mjs +6 -7
  229. package/node_modules/@posthog/core/dist/surveys/keys.js +16 -12
  230. package/node_modules/@posthog/core/dist/surveys/property-matching.js +19 -14
  231. package/node_modules/@posthog/core/dist/surveys/translations.js +16 -12
  232. package/node_modules/@posthog/core/dist/surveys/validation.js +13 -9
  233. package/node_modules/@posthog/core/dist/testing/PostHogCoreTestClient.d.ts +3 -3
  234. package/node_modules/@posthog/core/dist/testing/PostHogCoreTestClient.d.ts.map +1 -1
  235. package/node_modules/@posthog/core/dist/testing/PostHogCoreTestClient.js +15 -11
  236. package/node_modules/@posthog/core/dist/testing/PostHogCoreTestClient.mjs +3 -3
  237. package/node_modules/@posthog/core/dist/testing/index.js +21 -21
  238. package/node_modules/@posthog/core/dist/testing/test-utils.d.ts.map +1 -1
  239. package/node_modules/@posthog/core/dist/testing/test-utils.js +19 -18
  240. package/node_modules/@posthog/core/dist/testing/test-utils.mjs +7 -10
  241. package/node_modules/@posthog/core/dist/tracing-headers.js +12 -8
  242. package/node_modules/@posthog/core/dist/types.d.ts +1 -0
  243. package/node_modules/@posthog/core/dist/types.d.ts.map +1 -1
  244. package/node_modules/@posthog/core/dist/types.js +31 -26
  245. package/node_modules/@posthog/core/dist/types.mjs +1 -1
  246. package/node_modules/@posthog/core/dist/utils/bot-detection.js +16 -12
  247. package/node_modules/@posthog/core/dist/utils/browser-utils.js +12 -8
  248. package/node_modules/@posthog/core/dist/utils/bucketed-rate-limiter.js +14 -10
  249. package/node_modules/@posthog/core/dist/utils/index.d.ts +1 -0
  250. package/node_modules/@posthog/core/dist/utils/index.d.ts.map +1 -1
  251. package/node_modules/@posthog/core/dist/utils/index.js +205 -192
  252. package/node_modules/@posthog/core/dist/utils/index.mjs +4 -3
  253. package/node_modules/@posthog/core/dist/utils/json-utils.js +24 -19
  254. package/node_modules/@posthog/core/dist/utils/logger.js +17 -12
  255. package/node_modules/@posthog/core/dist/utils/number-utils.d.ts.map +1 -1
  256. package/node_modules/@posthog/core/dist/utils/number-utils.js +14 -10
  257. package/node_modules/@posthog/core/dist/utils/number-utils.mjs +1 -1
  258. package/node_modules/@posthog/core/dist/utils/otlp-any-value.js +15 -11
  259. package/node_modules/@posthog/core/dist/utils/otlp-any-value.mjs +1 -1
  260. package/node_modules/@posthog/core/dist/utils/otlp-resource.js +17 -13
  261. package/node_modules/@posthog/core/dist/utils/promise-queue.js +12 -8
  262. package/node_modules/@posthog/core/dist/utils/string-utils.js +21 -16
  263. package/node_modules/@posthog/core/dist/utils/type-utils.js +31 -27
  264. package/node_modules/@posthog/core/dist/utils/type-utils.mjs +2 -2
  265. package/node_modules/@posthog/core/dist/utils/user-agent-utils.js +16 -12
  266. package/node_modules/@posthog/core/dist/utils/webview-app-utils.d.ts +12 -0
  267. package/node_modules/@posthog/core/dist/utils/webview-app-utils.d.ts.map +1 -0
  268. package/node_modules/@posthog/core/dist/utils/webview-app-utils.js +132 -0
  269. package/node_modules/@posthog/core/dist/utils/webview-app-utils.mjs +94 -0
  270. package/node_modules/@posthog/core/dist/vendor/uuidv7.js +22 -17
  271. package/node_modules/@posthog/core/dist/vendor/uuidv7.mjs +1 -1
  272. package/node_modules/@posthog/core/package.json +8 -8
  273. package/node_modules/@posthog/core/src/error-tracking/coercers/promise-rejection-event.spec.ts +4 -4
  274. package/node_modules/@posthog/core/src/error-tracking/error-properties-builder.parse.spec.ts +1 -1
  275. package/node_modules/@posthog/core/src/error-tracking/parsers/base.spec.ts +21 -2
  276. package/node_modules/@posthog/core/src/error-tracking/parsers/base.ts +6 -2
  277. package/node_modules/@posthog/core/src/featureFlagLocalEvaluation.ts +1 -1
  278. package/node_modules/@posthog/core/src/featureFlagUtils.ts +4 -4
  279. package/node_modules/@posthog/core/src/logs/index.spec.ts +89 -89
  280. package/node_modules/@posthog/core/src/metrics/index.spec.ts +24 -24
  281. package/node_modules/@posthog/core/src/posthog-core.ts +14 -1
  282. package/node_modules/@posthog/core/src/surveys/activation.spec.ts +1 -1
  283. package/node_modules/@posthog/core/src/surveys/events.spec.ts +1 -1
  284. package/node_modules/@posthog/core/src/surveys/keys.spec.ts +1 -1
  285. package/node_modules/@posthog/core/src/surveys/translations.spec.ts +8 -8
  286. package/node_modules/@posthog/core/src/testing/PostHogCoreTestClient.ts +6 -6
  287. package/node_modules/@posthog/core/src/testing/test-utils.ts +7 -12
  288. package/node_modules/@posthog/core/src/types.ts +1 -0
  289. package/node_modules/@posthog/core/src/utils/bucketed-rate-limiter.spec.ts +13 -13
  290. package/node_modules/@posthog/core/src/utils/index.ts +1 -0
  291. package/node_modules/@posthog/core/src/utils/json-utils.spec.ts +5 -5
  292. package/node_modules/@posthog/core/src/utils/number-utils.spec.ts +20 -0
  293. package/node_modules/@posthog/core/src/utils/number-utils.ts +3 -1
  294. package/node_modules/@posthog/core/src/utils/otlp-any-value.spec.ts +4 -4
  295. package/node_modules/@posthog/core/src/utils/promise-queue.spec.ts +3 -3
  296. package/node_modules/@posthog/core/src/utils/type-utils.ts +4 -4
  297. package/node_modules/@posthog/core/src/utils/webview-app-utils.spec.ts +118 -0
  298. package/node_modules/@posthog/core/src/utils/webview-app-utils.ts +49 -0
  299. package/node_modules/@posthog/types/dist/capture-log.js +2 -2
  300. package/node_modules/@posthog/types/dist/capture-log.mjs +1 -0
  301. package/node_modules/@posthog/types/dist/capture-metric.js +15 -11
  302. package/node_modules/@posthog/types/dist/capture.js +2 -2
  303. package/node_modules/@posthog/types/dist/capture.mjs +1 -0
  304. package/node_modules/@posthog/types/dist/common.js +2 -2
  305. package/node_modules/@posthog/types/dist/common.mjs +1 -0
  306. package/node_modules/@posthog/types/dist/feature-flags.d.ts +1 -1
  307. package/node_modules/@posthog/types/dist/feature-flags.d.ts.map +1 -1
  308. package/node_modules/@posthog/types/dist/feature-flags.js +2 -2
  309. package/node_modules/@posthog/types/dist/feature-flags.mjs +1 -0
  310. package/node_modules/@posthog/types/dist/index.js +12 -8
  311. package/node_modules/@posthog/types/dist/index.mjs +1 -2
  312. package/node_modules/@posthog/types/dist/posthog-config.d.ts +15 -1
  313. package/node_modules/@posthog/types/dist/posthog-config.d.ts.map +1 -1
  314. package/node_modules/@posthog/types/dist/posthog-config.js +2 -2
  315. package/node_modules/@posthog/types/dist/posthog-config.mjs +1 -0
  316. package/node_modules/@posthog/types/dist/posthog.d.ts +2 -2
  317. package/node_modules/@posthog/types/dist/posthog.d.ts.map +1 -1
  318. package/node_modules/@posthog/types/dist/posthog.js +2 -2
  319. package/node_modules/@posthog/types/dist/posthog.mjs +1 -0
  320. package/node_modules/@posthog/types/dist/request.js +2 -2
  321. package/node_modules/@posthog/types/dist/request.mjs +1 -0
  322. package/node_modules/@posthog/types/dist/segment.js +2 -2
  323. package/node_modules/@posthog/types/dist/segment.mjs +1 -0
  324. package/node_modules/@posthog/types/dist/session-recording.js +2 -2
  325. package/node_modules/@posthog/types/dist/session-recording.mjs +1 -0
  326. package/node_modules/@posthog/types/dist/survey.js +2 -2
  327. package/node_modules/@posthog/types/dist/survey.mjs +1 -0
  328. package/node_modules/@posthog/types/dist/toolbar.js +2 -2
  329. package/node_modules/@posthog/types/dist/toolbar.mjs +1 -0
  330. package/node_modules/@posthog/types/dist/tree-shakeable.js +2 -2
  331. package/node_modules/@posthog/types/dist/tree-shakeable.mjs +1 -0
  332. package/node_modules/@posthog/types/package.json +4 -6
  333. package/node_modules/@posthog/types/src/feature-flags.ts +1 -1
  334. package/node_modules/@posthog/types/src/posthog-config.ts +16 -1
  335. package/node_modules/@posthog/types/src/posthog.ts +2 -2
  336. package/node_modules/@posthog/types/src/tree-shakeable.ts +1 -1
  337. package/node_modules/@zuplo/core/package.json +1 -1
  338. package/node_modules/@zuplo/graphql/package.json +1 -1
  339. package/node_modules/@zuplo/openapi-tools/package.json +1 -1
  340. package/node_modules/@zuplo/otel/package.json +1 -1
  341. package/node_modules/@zuplo/runtime/out/esm/{chunk-ZZCZZHOD.js → chunk-R4PTES5B.js} +104 -104
  342. package/node_modules/@zuplo/runtime/out/esm/chunk-R4PTES5B.js.map +1 -0
  343. package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
  344. package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +1 -1
  345. package/node_modules/@zuplo/runtime/out/types/index.d.ts +59 -9
  346. package/node_modules/@zuplo/runtime/package.json +1 -1
  347. package/node_modules/hono/dist/cjs/client/client.js +4 -4
  348. package/node_modules/hono/dist/cjs/hono-base.js +7 -6
  349. package/node_modules/hono/dist/cjs/jsx/base.js +18 -1
  350. package/node_modules/hono/dist/cjs/jsx/components.js +25 -26
  351. package/node_modules/hono/dist/cjs/jsx/context.js +5 -5
  352. package/node_modules/hono/dist/cjs/jsx/dom/server.js +5 -1
  353. package/node_modules/hono/dist/cjs/jsx/intrinsic-element/components.js +2 -2
  354. package/node_modules/hono/dist/cjs/jsx/streaming.js +4 -5
  355. package/node_modules/hono/dist/client/client.js +4 -4
  356. package/node_modules/hono/dist/hono-base.js +7 -6
  357. package/node_modules/hono/dist/jsx/base.js +15 -1
  358. package/node_modules/hono/dist/jsx/components.js +26 -27
  359. package/node_modules/hono/dist/jsx/context.js +6 -6
  360. package/node_modules/hono/dist/jsx/dom/server.js +5 -1
  361. package/node_modules/hono/dist/jsx/intrinsic-element/components.js +3 -3
  362. package/node_modules/hono/dist/jsx/streaming.js +5 -6
  363. package/node_modules/hono/dist/types/context.d.ts +2 -2
  364. package/node_modules/hono/dist/types/jsx/base.d.ts +3 -0
  365. package/node_modules/hono/package.json +2 -2
  366. package/package.json +11 -11
  367. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/base64.js +0 -22
  368. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/crypto_key.js +0 -28
  369. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/helpers.js +0 -42
  370. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/invalid_key_input.js +0 -26
  371. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/is_key_like.js +0 -17
  372. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/jwk_metadata.js +0 -20
  373. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/jwk_to_key.js +0 -17
  374. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/key_options.js +0 -6
  375. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/options.js +0 -74
  376. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/signing.js +0 -26
  377. package/node_modules/@modelcontextprotocol/client/node_modules/jose/dist/webapi/lib/type_checks.js +0 -33
  378. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/base64.js +0 -22
  379. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/crypto_key.js +0 -28
  380. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/helpers.js +0 -42
  381. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/invalid_key_input.js +0 -26
  382. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/is_key_like.js +0 -17
  383. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/jwk_metadata.js +0 -20
  384. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/jwk_to_key.js +0 -17
  385. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/key_options.js +0 -6
  386. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/options.js +0 -74
  387. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/signing.js +0 -26
  388. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/type_checks.js +0 -33
  389. package/node_modules/@zuplo/runtime/out/esm/chunk-ZZCZZHOD.js.map +0 -1
  390. /package/node_modules/@zuplo/runtime/out/esm/{chunk-ZZCZZHOD.js.LEGAL.txt → chunk-R4PTES5B.js.LEGAL.txt} +0 -0
@@ -1,262 +1,196 @@
1
- import { encode as b64u } from '../util/base64url.js';
2
- import { prepareKey } from './key.js';
3
- import { jwkToKey } from './jwk_to_key.js';
4
- import { jweAlgorithm, jweEncryption } from './jwe_algorithms.js';
5
- import { JOSENotSupported, JWEInvalid } from '../util/errors.js';
6
- import { decodeBase64url, digest } from './helpers.js';
7
- import { generateCek, encrypt, decrypt } from './content_encryption.js';
8
- import { assertUint8Array, isObject } from './type_checks.js';
9
- import { checkCryptoKey, checkModulusLength, checkUsage } from './crypto_key.js';
10
- import { concat, encode, uint32be } from './buffer_utils.js';
11
- import { assertCryptoKey } from './is_key_like.js';
1
+ import { encode as b64u } from "../util/base64url.js";
2
+ import { prepareKey, rawKey, jwkToKey, checkCryptoKey, checkModulusLength, checkUsage, assertCryptoKey } from "./key.js";
3
+ import { jweAlgorithm, jweEncryption, isJWECEKTransport } from "./jwe_algorithms.js";
4
+ import { JOSENotSupported, JWEInvalid } from "../util/errors.js";
5
+ import { decodeBase64url, assertUint8Array, isObject } from "./validate.js";
6
+ import { digest, concat, encode, uint32be } from "./buffer_utils.js";
7
+ import { checkCekLength, generateCek, encrypt, decrypt } from "./content_encryption.js";
12
8
  function checkEcdhCryptoKey(key, usage) {
13
- if (key.algorithm.name !== 'ECDH' && key.algorithm.name !== 'X25519') {
14
- throw new TypeError('CryptoKey does not support this operation, its algorithm.name must be ECDH or X25519');
15
- }
16
- checkUsage(key, usage);
17
- }
18
- async function aeskwCryptoKey(key, alg, usage) {
19
- const expected = jweAlgorithm(alg).subtle;
20
- const cryptoKey = key instanceof Uint8Array
21
- ? await crypto.subtle.importKey('raw', key, 'AES-KW', true, [
22
- usage,
23
- ])
24
- : key;
25
- checkCryptoKey(cryptoKey, expected, usage);
26
- return cryptoKey;
9
+ if (key.algorithm.name !== "ECDH" && key.algorithm.name !== "X25519")
10
+ throw new TypeError("CryptoKey does not support this operation, its algorithm.name must be ECDH or X25519");
11
+ checkUsage(key, usage);
27
12
  }
28
13
  async function aeskwWrap(alg, key, cek) {
29
- const cryptoKey = await aeskwCryptoKey(key, alg, 'wrapKey');
30
- const cryptoKeyCek = await crypto.subtle.importKey('raw', cek, { hash: 'SHA-256', name: 'HMAC' }, true, ['sign']);
31
- return new Uint8Array(await crypto.subtle.wrapKey('raw', cryptoKeyCek, cryptoKey, 'AES-KW'));
14
+ const cryptoKey = await rawKey(key, jweAlgorithm(alg).subtle, "wrapKey", !0), cryptoKeyCek = await crypto.subtle.importKey("raw", cek, { hash: "SHA-256", name: "HMAC" }, !0, ["sign"]);
15
+ return new Uint8Array(await crypto.subtle.wrapKey("raw", cryptoKeyCek, cryptoKey, "AES-KW"));
32
16
  }
33
17
  async function aeskwUnwrap(alg, key, encryptedKey) {
34
- const cryptoKey = await aeskwCryptoKey(key, alg, 'unwrapKey');
35
- const cryptoKeyCek = await crypto.subtle.unwrapKey('raw', encryptedKey, cryptoKey, 'AES-KW', { hash: 'SHA-256', name: 'HMAC' }, true, ['sign']);
36
- return new Uint8Array(await crypto.subtle.exportKey('raw', cryptoKeyCek));
18
+ const cryptoKey = await rawKey(key, jweAlgorithm(alg).subtle, "unwrapKey", !0), cryptoKeyCek = await crypto.subtle.unwrapKey("raw", encryptedKey, cryptoKey, "AES-KW", { hash: "SHA-256", name: "HMAC" }, !0, ["sign"]);
19
+ return new Uint8Array(await crypto.subtle.exportKey("raw", cryptoKeyCek));
37
20
  }
38
21
  function checkRsaKey(alg, key, usage) {
39
- checkCryptoKey(key, jweAlgorithm(alg).subtle, usage);
40
- checkModulusLength(alg, key);
41
- }
42
- function pbes2CryptoKey(key, alg) {
43
- if (key instanceof Uint8Array) {
44
- return crypto.subtle.importKey('raw', key, 'PBKDF2', false, [
45
- 'deriveBits',
46
- ]);
47
- }
48
- checkCryptoKey(key, jweAlgorithm(alg).subtle, 'deriveBits');
49
- return key;
22
+ checkCryptoKey(key, jweAlgorithm(alg).subtle, usage), checkModulusLength(alg, key);
50
23
  }
51
24
  async function deriveKey(p2s, alg, p2c, key) {
52
- if (!(p2s instanceof Uint8Array) || p2s.length < 8) {
53
- throw new JWEInvalid('PBES2 Salt Input must be 8 or more octets');
54
- }
55
- if (!Number.isSafeInteger(p2c) || Math.sign(p2c) !== 1) {
56
- throw new JWEInvalid('PBES2 Count Input must be a positive integer');
57
- }
58
- const salt = concat(encode(alg), Uint8Array.of(0), p2s);
59
- const keylen = parseInt(alg.slice(13, 16), 10);
60
- const subtleAlg = {
61
- hash: `SHA-${alg.slice(8, 11)}`,
62
- iterations: p2c,
63
- name: 'PBKDF2',
64
- salt,
65
- };
66
- const cryptoKey = await pbes2CryptoKey(key, alg);
67
- return new Uint8Array(await crypto.subtle.deriveBits(subtleAlg, cryptoKey, keylen));
25
+ if (!(p2s instanceof Uint8Array) || p2s.length < 8)
26
+ throw new JWEInvalid("PBES2 Salt Input must be 8 or more octets");
27
+ if (!Number.isSafeInteger(p2c) || Math.sign(p2c) !== 1)
28
+ throw new JWEInvalid("PBES2 Count Input must be a positive integer");
29
+ const salt = concat(encode(alg), Uint8Array.of(0), p2s), keylen = parseInt(alg.slice(13, 16), 10), subtleAlg = {
30
+ hash: `SHA-${alg.slice(8, 11)}`,
31
+ iterations: p2c,
32
+ name: "PBKDF2",
33
+ salt
34
+ }, cryptoKey = await rawKey(key, jweAlgorithm(alg).subtle, "deriveBits");
35
+ return new Uint8Array(await crypto.subtle.deriveBits(subtleAlg, cryptoKey, keylen));
68
36
  }
69
37
  function lengthAndInput(input) {
70
- return concat(uint32be(input.length), input);
38
+ return concat(uint32be(input.length), input);
71
39
  }
72
40
  async function concatKdf(Z, L, OtherInfo) {
73
- const dkLen = L >> 3;
74
- const hashLen = 32;
75
- const reps = Math.ceil(dkLen / hashLen);
76
- const dk = new Uint8Array(reps * hashLen);
77
- for (let i = 1; i <= reps; i++) {
78
- const hashResult = await digest('sha256', concat(uint32be(i), Z, OtherInfo));
79
- dk.set(hashResult, (i - 1) * hashLen);
80
- }
81
- return dk.slice(0, dkLen);
41
+ const dkLen = L >> 3, hashLen = 32, reps = Math.ceil(dkLen / hashLen), dk = new Uint8Array(reps * hashLen);
42
+ for (let i = 1; i <= reps; i++) {
43
+ const hashResult = await digest("sha256", concat(uint32be(i), Z, OtherInfo));
44
+ dk.set(hashResult, (i - 1) * hashLen);
45
+ }
46
+ return dk.slice(0, dkLen);
82
47
  }
83
48
  async function ecdhesDeriveKey(publicKey, privateKey, algorithm, keyLength, apu = new Uint8Array(), apv = new Uint8Array()) {
84
- checkEcdhCryptoKey(publicKey);
85
- checkEcdhCryptoKey(privateKey, 'deriveBits');
86
- const otherInfo = concat(lengthAndInput(encode(algorithm)), lengthAndInput(apu), lengthAndInput(apv), uint32be(keyLength));
87
- const Z = new Uint8Array(await crypto.subtle.deriveBits({
88
- name: publicKey.algorithm.name,
89
- public: publicKey,
90
- }, privateKey, publicKey.algorithm.name === 'X25519'
91
- ? 256
92
- : Math.ceil(parseInt(publicKey.algorithm.namedCurve.slice(-3), 10) / 8) << 3));
93
- return concatKdf(Z, keyLength, otherInfo);
49
+ checkEcdhCryptoKey(publicKey), checkEcdhCryptoKey(privateKey, "deriveBits");
50
+ const otherInfo = concat(lengthAndInput(encode(algorithm)), lengthAndInput(apu), lengthAndInput(apv), uint32be(keyLength)), Z = new Uint8Array(await crypto.subtle.deriveBits({
51
+ name: publicKey.algorithm.name,
52
+ public: publicKey
53
+ }, privateKey, publicKey.algorithm.name === "X25519" ? 256 : Math.ceil(parseInt(publicKey.algorithm.namedCurve.slice(-3), 10) / 8) << 3));
54
+ return concatKdf(Z, keyLength, otherInfo);
94
55
  }
95
56
  function assertEcdhKey(key) {
96
- assertCryptoKey(key);
97
- const curve = key.algorithm.namedCurve;
98
- if (curve !== 'P-256' &&
99
- curve !== 'P-384' &&
100
- curve !== 'P-521' &&
101
- key.algorithm.name !== 'X25519') {
102
- throw new JOSENotSupported('ECDH with the provided key is not allowed or not supported by your javascript runtime');
103
- }
57
+ assertCryptoKey(key);
58
+ const curve = key.algorithm.namedCurve;
59
+ if (curve !== "P-256" && curve !== "P-384" && curve !== "P-521" && key.algorithm.name !== "X25519")
60
+ throw new JOSENotSupported("ECDH with the provided key is not allowed or not supported by your javascript runtime");
61
+ }
62
+ function partyInfo(joseHeader, name) {
63
+ const value = joseHeader[name];
64
+ if (value !== void 0) {
65
+ if (typeof value != "string")
66
+ throw new JWEInvalid(`JOSE Header "${name}" (Agreement Party${name === "apu" ? "U" : "V"}Info) invalid`);
67
+ return decodeBase64url(value, name, JWEInvalid);
68
+ }
69
+ }
70
+ function checkPartyInfo(apu, apv) {
71
+ if (!(apu === void 0 || apv === void 0 || apu.byteLength !== apv.byteLength)) {
72
+ for (let i = 0; i < apu.byteLength; i++)
73
+ if (apu[i] !== apv[i])
74
+ return;
75
+ throw new JWEInvalid('JOSE Header "apu" and "apv" values must be distinct');
76
+ }
104
77
  }
105
78
  function assertEncryptedKey(encryptedKey) {
106
- if (encryptedKey === undefined)
107
- throw new JWEInvalid('JWE Encrypted Key missing');
79
+ if (encryptedKey === void 0)
80
+ throw new JWEInvalid("JWE Encrypted Key missing");
108
81
  }
109
82
  function assertNoEncryptedKey(encryptedKey) {
110
- if (encryptedKey !== undefined)
111
- throw new JWEInvalid('Encountered unexpected JWE Encrypted Key');
83
+ if (encryptedKey !== void 0)
84
+ throw new JWEInvalid("Encountered unexpected JWE Encrypted Key");
112
85
  }
113
- export async function decryptKeyManagement(alg, enc, key, encryptedKey, joseHeader, maxPBES2Count) {
114
- const entry = jweAlgorithm(alg);
115
- if (alg === 'dir') {
116
- assertNoEncryptedKey(encryptedKey);
117
- return key;
86
+ function validateMaxPBES2Count(value) {
87
+ if (value !== void 0 && value !== 1 / 0 && (!Number.isSafeInteger(value) || value < 1))
88
+ throw new TypeError("maxPBES2Count must be a positive safe integer or Infinity");
89
+ }
90
+ async function decryptKeyManagement(entry, enc, key, encryptedKey, joseHeader, maxPBES2Count) {
91
+ const { alg } = entry, mode = entry.mode;
92
+ if (mode === "direct-encryption")
93
+ return assertNoEncryptedKey(encryptedKey), key;
94
+ const direct = mode === "direct-key-agreement";
95
+ switch (direct ? assertNoEncryptedKey(encryptedKey) : assertEncryptedKey(encryptedKey), entry.subtle.name) {
96
+ case "ECDH": {
97
+ const { epk } = joseHeader;
98
+ if (!isObject(epk) || ["d", "k", "p", "q", "dp", "dq", "qi", "oth", "priv"].some((parameter) => Object.hasOwn(epk, parameter)))
99
+ throw new JWEInvalid('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');
100
+ assertEcdhKey(key);
101
+ const ephemeralPublicKey = await jwkToKey(entry, epk), partyUInfo = partyInfo(joseHeader, "apu"), partyVInfo = partyInfo(joseHeader, "apv");
102
+ checkPartyInfo(partyUInfo, partyVInfo);
103
+ const sharedSecret = await ecdhesDeriveKey(ephemeralPublicKey, key, direct ? enc.alg : alg, direct ? enc.cekBits : parseInt(alg.slice(-5, -2), 10), partyUInfo, partyVInfo);
104
+ if (direct)
105
+ return sharedSecret;
106
+ key = sharedSecret;
107
+ break;
108
+ }
109
+ case "RSA-OAEP":
110
+ return assertCryptoKey(key), checkRsaKey(alg, key, "decrypt"), new Uint8Array(await crypto.subtle.decrypt("RSA-OAEP", key, encryptedKey));
111
+ case "PBKDF2": {
112
+ if (typeof joseHeader.p2c != "number")
113
+ throw new JWEInvalid('JOSE Header "p2c" (PBES2 Count) missing or invalid');
114
+ validateMaxPBES2Count(maxPBES2Count);
115
+ const p2cLimit = maxPBES2Count ?? 1e4;
116
+ if (joseHeader.p2c > p2cLimit)
117
+ throw new JWEInvalid('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');
118
+ if (typeof joseHeader.p2s != "string")
119
+ throw new JWEInvalid('JOSE Header "p2s" (PBES2 Salt) missing or invalid');
120
+ const p2s = decodeBase64url(joseHeader.p2s, "p2s", JWEInvalid);
121
+ key = await deriveKey(p2s, alg, joseHeader.p2c, key);
122
+ break;
118
123
  }
119
- switch (entry.subtle.name) {
120
- case 'ECDH': {
121
- if (alg === 'ECDH-ES')
122
- assertNoEncryptedKey(encryptedKey);
123
- if (!isObject(joseHeader.epk))
124
- throw new JWEInvalid(`JOSE Header "epk" (Ephemeral Public Key) missing or invalid`);
125
- assertEcdhKey(key);
126
- const epk = await jwkToKey(entry, joseHeader.epk);
127
- let partyUInfo;
128
- let partyVInfo;
129
- if (joseHeader.apu !== undefined) {
130
- if (typeof joseHeader.apu !== 'string')
131
- throw new JWEInvalid(`JOSE Header "apu" (Agreement PartyUInfo) invalid`);
132
- partyUInfo = decodeBase64url(joseHeader.apu, 'apu', JWEInvalid);
133
- }
134
- if (joseHeader.apv !== undefined) {
135
- if (typeof joseHeader.apv !== 'string')
136
- throw new JWEInvalid(`JOSE Header "apv" (Agreement PartyVInfo) invalid`);
137
- partyVInfo = decodeBase64url(joseHeader.apv, 'apv', JWEInvalid);
138
- }
139
- const sharedSecret = await ecdhesDeriveKey(epk, key, alg === 'ECDH-ES' ? enc.alg : alg, alg === 'ECDH-ES' ? enc.cekBits : parseInt(alg.slice(-5, -2), 10), partyUInfo, partyVInfo);
140
- if (alg === 'ECDH-ES')
141
- return sharedSecret;
142
- assertEncryptedKey(encryptedKey);
143
- return aeskwUnwrap(alg.slice(-6), sharedSecret, encryptedKey);
144
- }
145
- case 'RSA-OAEP': {
146
- assertEncryptedKey(encryptedKey);
147
- assertCryptoKey(key);
148
- checkRsaKey(alg, key, 'decrypt');
149
- return new Uint8Array(await crypto.subtle.decrypt('RSA-OAEP', key, encryptedKey));
150
- }
151
- case 'PBKDF2': {
152
- assertEncryptedKey(encryptedKey);
153
- if (typeof joseHeader.p2c !== 'number')
154
- throw new JWEInvalid(`JOSE Header "p2c" (PBES2 Count) missing or invalid`);
155
- const p2cLimit = maxPBES2Count || 10_000;
156
- if (joseHeader.p2c > p2cLimit)
157
- throw new JWEInvalid(`JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds`);
158
- if (typeof joseHeader.p2s !== 'string')
159
- throw new JWEInvalid(`JOSE Header "p2s" (PBES2 Salt) missing or invalid`);
160
- const p2s = decodeBase64url(joseHeader.p2s, 'p2s', JWEInvalid);
161
- const derived = await deriveKey(p2s, alg, joseHeader.p2c, key);
162
- return aeskwUnwrap(alg.slice(-6), derived, encryptedKey);
163
- }
164
- case 'AES-KW': {
165
- assertEncryptedKey(encryptedKey);
166
- return aeskwUnwrap(alg, key, encryptedKey);
167
- }
168
- case 'AES-GCM': {
169
- assertEncryptedKey(encryptedKey);
170
- if (typeof joseHeader.iv !== 'string')
171
- throw new JWEInvalid(`JOSE Header "iv" (Initialization Vector) missing or invalid`);
172
- if (typeof joseHeader.tag !== 'string')
173
- throw new JWEInvalid(`JOSE Header "tag" (Authentication Tag) missing or invalid`);
174
- let iv;
175
- iv = decodeBase64url(joseHeader.iv, 'iv', JWEInvalid);
176
- let tag;
177
- tag = decodeBase64url(joseHeader.tag, 'tag', JWEInvalid);
178
- return decrypt(jweEncryption(alg.slice(0, -2)), key, encryptedKey, iv, tag, new Uint8Array());
179
- }
124
+ case "AES-GCM": {
125
+ if (typeof joseHeader.iv != "string")
126
+ throw new JWEInvalid('JOSE Header "iv" (Initialization Vector) missing or invalid');
127
+ if (typeof joseHeader.tag != "string")
128
+ throw new JWEInvalid('JOSE Header "tag" (Authentication Tag) missing or invalid');
129
+ const iv = decodeBase64url(joseHeader.iv, "iv", JWEInvalid), tag = decodeBase64url(joseHeader.tag, "tag", JWEInvalid);
130
+ if (iv.byteLength !== 12)
131
+ throw new JWEInvalid("Invalid Initialization Vector length");
132
+ if (tag.byteLength !== 16)
133
+ throw new JWEInvalid("Invalid Authentication Tag length");
134
+ return decrypt(jweEncryption(alg.slice(0, -2)), key, encryptedKey, iv, tag, new Uint8Array());
180
135
  }
136
+ }
137
+ return aeskwUnwrap(alg.slice(-6), key, encryptedKey);
181
138
  }
182
- export async function encryptKeyManagement(alg, enc, key, providedCek, providedParameters = {}) {
183
- let encryptedKey;
184
- let parameters;
185
- let cek;
186
- const entry = jweAlgorithm(alg);
187
- if (alg === 'dir')
188
- return [key, undefined, undefined];
189
- switch (entry.subtle.name) {
190
- case 'ECDH': {
191
- assertEcdhKey(key);
192
- const { apu, apv } = providedParameters;
193
- if (apu !== undefined) {
194
- assertUint8Array(apu, '"apu"');
195
- }
196
- if (apv !== undefined) {
197
- assertUint8Array(apv, '"apv"');
198
- }
199
- let ephemeralKey;
200
- if (providedParameters.epk !== undefined) {
201
- ephemeralKey = (await prepareKey(entry, providedParameters.epk, 'decrypt'));
202
- }
203
- else {
204
- ephemeralKey = (await crypto.subtle.generateKey(key.algorithm, true, ['deriveBits'])).privateKey;
205
- }
206
- const subtle = crypto.subtle;
207
- let exportableEpk = ephemeralKey;
208
- if (!exportableEpk.extractable) {
209
- if (typeof subtle.getPublicKey !== 'function') {
210
- throw new TypeError('CryptoKey for "epk" must be extractable');
211
- }
212
- exportableEpk = await subtle.getPublicKey(ephemeralKey, []);
213
- }
214
- const { x, y, crv, kty } = (await subtle.exportKey('jwk', exportableEpk));
215
- const sharedSecret = await ecdhesDeriveKey(key, ephemeralKey, alg === 'ECDH-ES' ? enc.alg : alg, alg === 'ECDH-ES' ? enc.cekBits : parseInt(alg.slice(-5, -2), 10), apu, apv);
216
- parameters = { epk: { x, crv, kty } };
217
- if (kty === 'EC')
218
- parameters.epk.y = y;
219
- if (apu)
220
- parameters.apu = b64u(apu);
221
- if (apv)
222
- parameters.apv = b64u(apv);
223
- if (alg === 'ECDH-ES') {
224
- cek = sharedSecret;
225
- break;
226
- }
227
- cek = providedCek || generateCek(enc);
228
- const kwAlg = alg.slice(-6);
229
- encryptedKey = await aeskwWrap(kwAlg, sharedSecret, cek);
230
- break;
231
- }
232
- case 'RSA-OAEP': {
233
- cek = providedCek || generateCek(enc);
234
- assertCryptoKey(key);
235
- checkRsaKey(alg, key, 'encrypt');
236
- encryptedKey = new Uint8Array(await crypto.subtle.encrypt('RSA-OAEP', key, cek));
237
- break;
238
- }
239
- case 'PBKDF2': {
240
- cek = providedCek || generateCek(enc);
241
- const { p2c = 2048, p2s = crypto.getRandomValues(new Uint8Array(16)) } = providedParameters;
242
- const derived = await deriveKey(p2s, alg, p2c, key);
243
- encryptedKey = await aeskwWrap(alg.slice(-6), derived, cek);
244
- parameters = { p2c, p2s: b64u(p2s) };
245
- break;
246
- }
247
- case 'AES-KW': {
248
- cek = providedCek || generateCek(enc);
249
- encryptedKey = await aeskwWrap(alg, key, cek);
250
- break;
251
- }
252
- case 'AES-GCM': {
253
- cek = providedCek || generateCek(enc);
254
- const { iv } = providedParameters;
255
- const wrapped = await encrypt(jweEncryption(alg.slice(0, -2)), cek, key, iv, new Uint8Array());
256
- encryptedKey = wrapped.ciphertext;
257
- parameters = { iv: b64u(wrapped.iv), tag: b64u(wrapped.tag) };
258
- break;
259
- }
139
+ async function encryptKeyManagement(entry, enc, inputKey, joseHeader, providedCek, providedParameters = {}) {
140
+ const { alg, mode } = entry, transport = isJWECEKTransport(entry);
141
+ if (providedCek !== void 0 && !transport)
142
+ throw new TypeError(`setContentEncryptionKey cannot be called with JWE "alg" (Algorithm) Header ${alg}`);
143
+ let key = await prepareKey(mode === "direct-encryption" ? enc : entry, inputKey, "encrypt");
144
+ if (mode === "direct-encryption")
145
+ return [key, void 0, void 0];
146
+ const cek = transport ? providedCek ?? generateCek(enc) : void 0;
147
+ cek && checkCekLength(cek, enc.cekBits);
148
+ let encryptedKey, parameters;
149
+ switch (entry.subtle.name) {
150
+ case "ECDH": {
151
+ assertEcdhKey(key);
152
+ const { apu: providedApu, apv: providedApv } = providedParameters;
153
+ providedApu !== void 0 && assertUint8Array(providedApu, '"apu"'), providedApv !== void 0 && assertUint8Array(providedApv, '"apv"');
154
+ const apu = providedApu ?? partyInfo(joseHeader, "apu"), apv = providedApv ?? partyInfo(joseHeader, "apv");
155
+ checkPartyInfo(apu, apv);
156
+ let ephemeralKey;
157
+ providedParameters.epk !== void 0 ? ephemeralKey = await prepareKey(entry, providedParameters.epk, "decrypt") : ephemeralKey = (await crypto.subtle.generateKey(key.algorithm, !0, ["deriveBits"])).privateKey;
158
+ const subtle = crypto.subtle;
159
+ let exportableEpk = ephemeralKey;
160
+ if (!exportableEpk.extractable) {
161
+ if (typeof subtle.getPublicKey != "function")
162
+ throw new TypeError('CryptoKey for "epk" must be extractable');
163
+ exportableEpk = await subtle.getPublicKey(ephemeralKey, []);
164
+ }
165
+ const { x, y, crv, kty } = await subtle.exportKey("jwk", exportableEpk), direct = mode === "direct-key-agreement", sharedSecret = await ecdhesDeriveKey(key, ephemeralKey, direct ? enc.alg : alg, direct ? enc.cekBits : parseInt(alg.slice(-5, -2), 10), apu, apv), epk = { x, crv, kty };
166
+ if (kty === "EC" && (epk.y = y), parameters = { epk }, providedApu !== void 0 && (parameters.apu = b64u(providedApu)), providedApv !== void 0 && (parameters.apv = b64u(providedApv)), direct)
167
+ return [sharedSecret, void 0, parameters];
168
+ key = sharedSecret;
169
+ break;
170
+ }
171
+ case "RSA-OAEP": {
172
+ assertCryptoKey(key), checkRsaKey(alg, key, "encrypt"), encryptedKey = new Uint8Array(await crypto.subtle.encrypt("RSA-OAEP", key, cek));
173
+ break;
174
+ }
175
+ case "PBKDF2": {
176
+ const { p2c = 2048, p2s = crypto.getRandomValues(new Uint8Array(16)) } = providedParameters;
177
+ key = await deriveKey(p2s, alg, p2c, key), parameters = { p2c, p2s: b64u(p2s) };
178
+ break;
179
+ }
180
+ case "AES-GCM": {
181
+ const iv = providedParameters.iv === void 0 ? crypto.getRandomValues(new Uint8Array(12)) : providedParameters.iv;
182
+ if (!(iv instanceof Uint8Array))
183
+ throw new TypeError('"iv" must be an instance of Uint8Array');
184
+ const wrapped = await encrypt(jweEncryption(alg.slice(0, -2)), cek, key, iv, new Uint8Array());
185
+ encryptedKey = wrapped.ciphertext, parameters = { iv: b64u(wrapped.iv), tag: b64u(wrapped.tag) };
260
186
  }
261
- return [cek, encryptedKey, parameters];
187
+ }
188
+ if (encryptedKey ??= await aeskwWrap(alg.slice(-6), key, cek), !(encryptedKey instanceof Uint8Array) || !encryptedKey.byteLength)
189
+ throw new TypeError("JWE key management algorithm did not produce an Encrypted Key");
190
+ return [cek, encryptedKey, parameters];
262
191
  }
192
+ export {
193
+ decryptKeyManagement,
194
+ encryptKeyManagement,
195
+ validateMaxPBES2Count
196
+ };
@@ -0,0 +1,122 @@
1
+ import { JOSENotSupported, JWSInvalid } from "../util/errors.js";
2
+ import { decode } from "../util/base64url.js";
3
+ import { encode, strictDecoder } from "./buffer_utils.js";
4
+ function assertUint8Array(input, label) {
5
+ if (!(input instanceof Uint8Array))
6
+ throw new TypeError(`${label} must be an instance of Uint8Array`);
7
+ }
8
+ function isObject(input) {
9
+ if (typeof input != "object" || input === null || Object.prototype.toString.call(input) !== "[object Object]")
10
+ return !1;
11
+ const prototype = Object.getPrototypeOf(input);
12
+ return prototype === null || Object.getPrototypeOf(prototype) === null;
13
+ }
14
+ function isJwkSet(input) {
15
+ return isObject(input) && Array.isArray(input.keys) && Array.from(input.keys).every(isObject);
16
+ }
17
+ function isDisjoint(...headers) {
18
+ const parameters = /* @__PURE__ */ new Set();
19
+ for (const header of headers)
20
+ if (header)
21
+ for (const parameter of Object.keys(header)) {
22
+ if (parameters.has(parameter))
23
+ return !1;
24
+ parameters.add(parameter);
25
+ }
26
+ return !0;
27
+ }
28
+ function assertNotSet(value, name) {
29
+ if (value !== void 0)
30
+ throw new TypeError(`${name} can only be called once`);
31
+ }
32
+ function decodeBase64url(value, label, ErrorClass) {
33
+ try {
34
+ return decode(value);
35
+ } catch {
36
+ throw new ErrorClass(`Failed to base64url decode the ${label}`);
37
+ }
38
+ }
39
+ function encodeBase64url(value, label, ErrorClass) {
40
+ try {
41
+ return encode(value);
42
+ } catch {
43
+ throw new ErrorClass(`The ${label} is not a valid base64url string`);
44
+ }
45
+ }
46
+ function parseJoseHeader(b64, ErrorClass, message) {
47
+ let parsed;
48
+ try {
49
+ parsed = JSON.parse(strictDecoder.decode(decode(b64)));
50
+ } catch {
51
+ throw new ErrorClass(message);
52
+ }
53
+ if (!isObject(parsed))
54
+ throw new ErrorClass(message);
55
+ return parsed;
56
+ }
57
+ const JWS_RECOGNIZED = { __proto__: null, b64: !0 }, JWE_RECOGNIZED = { __proto__: null };
58
+ function validateAlgorithms(option, algorithms) {
59
+ if (algorithms !== void 0 && (!Array.isArray(algorithms) || algorithms.some((s) => typeof s != "string")))
60
+ throw new TypeError(`"${option}" option must be an array of strings`);
61
+ return algorithms === void 0 ? void 0 : new Set(algorithms);
62
+ }
63
+ function validateCritDuplicates(Err, protectedHeader) {
64
+ const { crit } = protectedHeader ?? {};
65
+ if (Array.isArray(crit) && new Set(crit).size !== crit.length)
66
+ throw new Err('"crit" (Critical) Header Parameter MUST NOT contain duplicate values');
67
+ }
68
+ function validateCrit(Err, recognizedDefault, recognizedOption, protectedHeader, joseHeader) {
69
+ if (joseHeader.crit !== void 0 && protectedHeader?.crit === void 0)
70
+ throw new Err('"crit" (Critical) Header Parameter MUST be integrity protected');
71
+ if (!protectedHeader || protectedHeader.crit === void 0)
72
+ return [];
73
+ if (!Array.isArray(protectedHeader.crit) || protectedHeader.crit.length === 0 || protectedHeader.crit.some((input) => typeof input != "string" || input.length === 0))
74
+ throw new Err('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');
75
+ const recognized = recognizedOption === void 0 ? recognizedDefault : { __proto__: null, ...recognizedOption, ...recognizedDefault };
76
+ for (const parameter of protectedHeader.crit) {
77
+ if (!(parameter in recognized))
78
+ throw new JOSENotSupported(`Extension Header Parameter "${parameter}" is not recognized`);
79
+ if (!Object.hasOwn(joseHeader, parameter) || joseHeader[parameter] === void 0)
80
+ throw new Err(`Extension Header Parameter "${parameter}" is missing`);
81
+ if (recognized[parameter] && (!Object.hasOwn(protectedHeader, parameter) || protectedHeader[parameter] === void 0))
82
+ throw new Err(`Extension Header Parameter "${parameter}" MUST be integrity protected`);
83
+ }
84
+ return protectedHeader.crit;
85
+ }
86
+ function validateB64(protectedHeader, extensions) {
87
+ if (extensions.includes("b64")) {
88
+ const b64 = protectedHeader.b64;
89
+ if (typeof b64 != "boolean")
90
+ throw new JWSInvalid('The "b64" (base64url-encode payload) Header Parameter must be a boolean');
91
+ return b64;
92
+ }
93
+ return !0;
94
+ }
95
+ function serializeJoseHeader(Err, header) {
96
+ let serialized, parsed;
97
+ try {
98
+ serialized = JSON.stringify(header), parsed = JSON.parse(serialized);
99
+ } catch (cause) {
100
+ throw new Err("JOSE Header is not valid JSON", { cause });
101
+ }
102
+ if (!isObject(parsed))
103
+ throw new Err("JOSE Header is not a JSON object");
104
+ return [parsed, serialized];
105
+ }
106
+ export {
107
+ JWE_RECOGNIZED,
108
+ JWS_RECOGNIZED,
109
+ assertNotSet,
110
+ assertUint8Array,
111
+ decodeBase64url,
112
+ encodeBase64url,
113
+ isDisjoint,
114
+ isJwkSet,
115
+ isObject,
116
+ parseJoseHeader,
117
+ serializeJoseHeader,
118
+ validateAlgorithms,
119
+ validateB64,
120
+ validateCrit,
121
+ validateCritDuplicates
122
+ };
@@ -1,39 +1,16 @@
1
- import { encoder, decoder } from '../lib/buffer_utils.js';
2
- import { encodeBase64, decodeBase64 } from '../lib/base64.js';
3
- const invalid = 'The input to be decoded is not correctly encoded.';
4
- export function decode(input) {
5
- if (Uint8Array.fromBase64) {
6
- try {
7
- return Uint8Array.fromBase64(typeof input === 'string' ? input : decoder.decode(input), {
8
- alphabet: 'base64url',
9
- });
10
- }
11
- catch (cause) {
12
- throw new TypeError(invalid, { cause });
13
- }
14
- }
15
- let encoded = input;
16
- if (encoded instanceof Uint8Array) {
17
- encoded = decoder.decode(encoded);
18
- }
19
- if (encoded.includes('+') || encoded.includes('/')) {
20
- throw new TypeError(invalid);
21
- }
22
- encoded = encoded.replace(/-/g, '+').replace(/_/g, '/');
23
- try {
24
- return decodeBase64(encoded);
25
- }
26
- catch {
27
- throw new TypeError(invalid);
28
- }
1
+ import { encoder, decoder, encodeBase64, decodeBase64 } from "../lib/buffer_utils.js";
2
+ const invalid = "The input to be decoded is not correctly encoded.";
3
+ function decode(input) {
4
+ try {
5
+ return decodeBase64(typeof input == "string" ? input : decoder.decode(input), !0);
6
+ } catch (cause) {
7
+ throw new TypeError(invalid, { cause });
8
+ }
29
9
  }
30
- export function encode(input) {
31
- let unencoded = input;
32
- if (typeof unencoded === 'string') {
33
- unencoded = encoder.encode(unencoded);
34
- }
35
- if (Uint8Array.prototype.toBase64) {
36
- return unencoded.toBase64({ alphabet: 'base64url', omitPadding: true });
37
- }
38
- return encodeBase64(unencoded).replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_');
10
+ function encode(input) {
11
+ return encodeBase64(typeof input == "string" ? encoder.encode(input) : input, !0);
39
12
  }
13
+ export {
14
+ decode,
15
+ encode
16
+ };