@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,41 +1,36 @@
1
- import { unsupportedAlg, algArgument } from '../lib/key_algorithm.js';
2
- import { validateExtractableOption } from '../lib/key_options.js';
3
- export async function generateSecret(alg, options) {
4
- const extractable = validateExtractableOption(options?.extractable);
5
- let length;
6
- let algorithm;
7
- let keyUsages;
8
- switch (alg) {
9
- case 'HS256':
10
- case 'HS384':
11
- case 'HS512':
12
- length = +alg.slice(-3);
13
- algorithm = { name: 'HMAC', hash: `SHA-${length}`, length };
14
- keyUsages = ['sign', 'verify'];
15
- break;
16
- case 'A128CBC-HS256':
17
- case 'A192CBC-HS384':
18
- case 'A256CBC-HS512':
19
- return crypto.getRandomValues(new Uint8Array(+alg.slice(-3) >> 3));
20
- case 'A128KW':
21
- case 'A192KW':
22
- case 'A256KW':
23
- length = +alg.slice(1, 4);
24
- algorithm = { name: 'AES-KW', length };
25
- keyUsages = ['wrapKey', 'unwrapKey'];
26
- break;
27
- case 'A128GCMKW':
28
- case 'A192GCMKW':
29
- case 'A256GCMKW':
30
- case 'A128GCM':
31
- case 'A192GCM':
32
- case 'A256GCM':
33
- length = +alg.slice(1, 4);
34
- algorithm = { name: 'AES-GCM', length };
35
- keyUsages = ['encrypt', 'decrypt'];
36
- break;
37
- default:
38
- unsupportedAlg(algArgument);
39
- }
40
- return crypto.subtle.generateKey(algorithm, extractable ?? false, keyUsages);
1
+ import { unsupportedAlg, algArgument } from "../lib/key_algorithm.js";
2
+ import { validateExtractableOption } from "../lib/key.js";
3
+ async function generateSecret(alg, options) {
4
+ const extractable = validateExtractableOption(options?.extractable);
5
+ let length, algorithm, keyUsages;
6
+ switch (alg) {
7
+ case "HS256":
8
+ case "HS384":
9
+ case "HS512":
10
+ length = +alg.slice(-3), algorithm = { name: "HMAC", hash: `SHA-${length}`, length }, keyUsages = ["sign", "verify"];
11
+ break;
12
+ case "A128CBC-HS256":
13
+ case "A192CBC-HS384":
14
+ case "A256CBC-HS512":
15
+ return crypto.getRandomValues(new Uint8Array(+alg.slice(-3) >> 3));
16
+ case "A128KW":
17
+ case "A192KW":
18
+ case "A256KW":
19
+ length = +alg.slice(1, 4), algorithm = { name: "AES-KW", length }, keyUsages = ["wrapKey", "unwrapKey"];
20
+ break;
21
+ case "A128GCMKW":
22
+ case "A192GCMKW":
23
+ case "A256GCMKW":
24
+ case "A128GCM":
25
+ case "A192GCM":
26
+ case "A256GCM":
27
+ length = +alg.slice(1, 4), algorithm = { name: "AES-GCM", length }, keyUsages = ["encrypt", "decrypt"];
28
+ break;
29
+ default:
30
+ unsupportedAlg(algArgument);
31
+ }
32
+ return crypto.subtle.generateKey(algorithm, extractable ?? !1, keyUsages);
41
33
  }
34
+ export {
35
+ generateSecret
36
+ };
@@ -1,61 +1,53 @@
1
- import { decode as decodeBase64URL } from '../util/base64url.js';
2
- import { fromSPKI, fromPKCS8, fromX509 } from '../lib/asn1.js';
3
- import { jwkToKey } from '../lib/jwk_to_key.js';
4
- import { keyAlgorithm } from '../lib/key_algorithm.js';
5
- import { JOSENotSupported } from '../util/errors.js';
6
- import { isObject } from '../lib/type_checks.js';
7
- import { validateExtractableOption } from '../lib/key_options.js';
8
- import { normalizeJwk } from '../lib/jwk_metadata.js';
9
- export async function importSPKI(spki, alg, options) {
10
- if (typeof spki !== 'string' || spki.indexOf('-----BEGIN PUBLIC KEY-----') !== 0) {
11
- throw new TypeError('"spki" must be SPKI formatted string');
12
- }
13
- return fromSPKI(spki, alg, options);
1
+ import { decode as decodeBase64URL } from "../util/base64url.js";
2
+ import { fromSPKI, fromPKCS8, fromX509 } from "../lib/asn1.js";
3
+ import { jwkToKey, validateExtractableOption, normalizeJwk } from "../lib/key.js";
4
+ import { keyAlgorithm } from "../lib/key_algorithm.js";
5
+ import { JOSENotSupported } from "../util/errors.js";
6
+ import { isObject } from "../lib/validate.js";
7
+ async function importSPKI(spki, alg, options) {
8
+ if (typeof spki != "string" || spki.indexOf("-----BEGIN PUBLIC KEY-----") !== 0)
9
+ throw new TypeError('"spki" must be SPKI formatted string');
10
+ return fromSPKI(spki, alg, options);
14
11
  }
15
- export async function importX509(x509, alg, options) {
16
- if (typeof x509 !== 'string' || x509.indexOf('-----BEGIN CERTIFICATE-----') !== 0) {
17
- throw new TypeError('"x509" must be X.509 formatted string');
18
- }
19
- return fromX509(x509, alg, options);
12
+ async function importX509(x509, alg, options) {
13
+ if (typeof x509 != "string" || x509.indexOf("-----BEGIN CERTIFICATE-----") !== 0)
14
+ throw new TypeError('"x509" must be X.509 formatted string');
15
+ return fromX509(x509, alg, options);
20
16
  }
21
- export async function importPKCS8(pkcs8, alg, options) {
22
- if (typeof pkcs8 !== 'string' || pkcs8.indexOf('-----BEGIN PRIVATE KEY-----') !== 0) {
23
- throw new TypeError('"pkcs8" must be PKCS#8 formatted string');
24
- }
25
- return fromPKCS8(pkcs8, alg, options);
17
+ async function importPKCS8(pkcs8, alg, options) {
18
+ if (typeof pkcs8 != "string" || pkcs8.indexOf("-----BEGIN PRIVATE KEY-----") !== 0)
19
+ throw new TypeError('"pkcs8" must be PKCS#8 formatted string');
20
+ return fromPKCS8(pkcs8, alg, options);
26
21
  }
27
- export async function importJWK(jwk, alg, options) {
28
- if (!isObject(jwk)) {
29
- throw new TypeError('JWK must be an object');
30
- }
31
- const normalized = normalizeJwk(jwk);
32
- const extractable = validateExtractableOption(options?.extractable);
33
- const { alg: jwkAlg } = normalized;
34
- alg ??= jwkAlg;
35
- const ext = extractable ?? normalized.ext;
36
- if (normalized.kty !== 'oct' && !alg) {
37
- throw new TypeError('"alg" argument is required when "jwk.alg" is not present');
38
- }
39
- switch (normalized.kty) {
40
- case 'oct':
41
- if (typeof normalized.k !== 'string') {
42
- throw new TypeError('missing "k" (Key Value) Parameter value');
43
- }
44
- return decodeBase64URL(normalized.k);
45
- case 'AKP': {
46
- if (typeof jwkAlg !== 'string' || !jwkAlg) {
47
- throw new TypeError('missing "alg" (Algorithm) Parameter value');
48
- }
49
- if (alg !== jwkAlg) {
50
- throw new TypeError('JWK alg and alg option value mismatch');
51
- }
52
- return jwkToKey(keyAlgorithm(alg), { ...normalized, ext });
53
- }
54
- case 'RSA':
55
- case 'EC':
56
- case 'OKP':
57
- return jwkToKey(keyAlgorithm(alg), { ...normalized, alg, ext });
58
- default:
59
- throw new JOSENotSupported('Unsupported "kty" (Key Type) Parameter value');
22
+ async function importJWK(jwk, alg, options) {
23
+ if (!isObject(jwk))
24
+ throw new TypeError("JWK must be an object");
25
+ const normalized = normalizeJwk(jwk), extractable = validateExtractableOption(options?.extractable), { alg: jwkAlg } = normalized;
26
+ if (alg ??= jwkAlg, normalized.kty !== "oct" && !alg)
27
+ throw new TypeError('"alg" argument is required when "jwk.alg" is not present');
28
+ switch (normalized.kty) {
29
+ case "oct":
30
+ if (typeof normalized.k != "string")
31
+ throw new TypeError('missing "k" (Key Value) Parameter value');
32
+ return decodeBase64URL(normalized.k);
33
+ case "AKP": {
34
+ if (typeof jwkAlg != "string" || !jwkAlg)
35
+ throw new TypeError('missing "alg" (Algorithm) Parameter value');
36
+ if (alg !== jwkAlg)
37
+ throw new TypeError("JWK alg and alg option value mismatch");
38
+ return jwkToKey(keyAlgorithm(alg), normalized, extractable);
60
39
  }
40
+ case "RSA":
41
+ case "EC":
42
+ case "OKP":
43
+ return jwkToKey(keyAlgorithm(alg), normalized, extractable);
44
+ default:
45
+ throw new JOSENotSupported('Unsupported "kty" (Key Type) Parameter value');
46
+ }
61
47
  }
48
+ export {
49
+ importJWK,
50
+ importPKCS8,
51
+ importSPKI,
52
+ importX509
53
+ };
@@ -1,179 +1,138 @@
1
- import { invalidKeyInput } from './invalid_key_input.js';
2
- import { encodeBase64, decodeBase64 } from '../lib/base64.js';
3
- import { JOSENotSupported } from '../util/errors.js';
4
- import { keyAlgorithm, unsupportedAlg, algArgument } from './key_algorithm.js';
5
- import { isCryptoKey, isKeyObject } from './is_key_like.js';
6
- import { validateExtractableOption } from './key_options.js';
1
+ import { invalidKeyInput, isCryptoKey, isKeyObject, validateExtractableOption } from "./key.js";
2
+ import { encodeBase64, decodeBase64 } from "./buffer_utils.js";
3
+ import { JOSENotSupported } from "../util/errors.js";
4
+ import { keyAlgorithm, unsupportedAlg, algArgument } from "./key_algorithm.js";
7
5
  const formatPEM = (b64, descriptor) => {
8
- const newlined = (b64.match(/.{1,64}/g) || []).join('\n');
9
- return `-----BEGIN ${descriptor}-----\n${newlined}\n-----END ${descriptor}-----`;
10
- };
11
- const genericExport = async (keyType, keyFormat, key) => {
12
- if (isKeyObject(key)) {
13
- if (key.type !== keyType) {
14
- throw new TypeError(`key is not a ${keyType} key`);
15
- }
16
- return key.export({ format: 'pem', type: keyFormat });
17
- }
18
- if (!isCryptoKey(key)) {
19
- throw new TypeError(invalidKeyInput(key, 'CryptoKey', 'KeyObject'));
20
- }
21
- if (!key.extractable) {
22
- throw new TypeError('CryptoKey is not extractable');
23
- }
24
- if (key.type !== keyType) {
25
- throw new TypeError(`key is not a ${keyType} key`);
26
- }
27
- return formatPEM(encodeBase64(new Uint8Array(await crypto.subtle.exportKey(keyFormat, key))), `${keyType.toUpperCase()} KEY`);
28
- };
29
- export const toSPKI = (key) => genericExport('public', 'spki', key);
30
- export const toPKCS8 = (key) => genericExport('private', 'pkcs8', key);
31
- const bytesEqual = (a, b) => {
32
- if (a.byteLength !== b.length)
33
- return false;
34
- for (let i = 0; i < a.byteLength; i++) {
35
- if (a[i] !== b[i])
36
- return false;
37
- }
38
- return true;
39
- };
40
- const createASN1State = (data) => ({ data, pos: 0 });
41
- const readByte = (state) => {
42
- const byte = state.data[state.pos++];
43
- if (byte === undefined) {
44
- throw new Error('Unexpected end of ASN.1 input');
45
- }
46
- return byte;
47
- };
48
- const parseLength = (state) => {
49
- const first = readByte(state);
50
- if (first & 0x80) {
51
- const lengthOfLen = first & 0x7f;
52
- let length = 0;
53
- for (let i = 0; i < lengthOfLen; i++) {
54
- length = (length << 8) | readByte(state);
55
- }
56
- return length;
57
- }
58
- return first;
59
- };
60
- const skipElement = (state, count = 1) => {
61
- while (count-- > 0) {
62
- state.pos++;
63
- const length = parseLength(state);
64
- state.pos += length;
65
- }
66
- };
67
- const expectTag = (state, expectedTag, errorMessage) => {
68
- if (readByte(state) !== expectedTag) {
69
- throw new Error(errorMessage);
70
- }
71
- };
72
- const getSubarray = (state, length) => {
73
- if (length < 0 || state.pos + length > state.data.length) {
74
- throw new Error('Unexpected end of ASN.1 input');
75
- }
76
- const result = state.data.subarray(state.pos, state.pos + length);
6
+ const newlined = (b64.match(/.{1,64}/g) || []).join(`
7
+ `);
8
+ return `-----BEGIN ${descriptor}-----
9
+ ${newlined}
10
+ -----END ${descriptor}-----`;
11
+ }, genericExport = async (keyType, keyFormat, key) => {
12
+ if (isKeyObject(key)) {
13
+ if (key.type !== keyType)
14
+ throw new TypeError(`key is not a ${keyType} key`);
15
+ return key.export({ format: "pem", type: keyFormat });
16
+ }
17
+ if (!isCryptoKey(key))
18
+ throw new TypeError(invalidKeyInput(key, "CryptoKey", "KeyObject"));
19
+ if (!key.extractable)
20
+ throw new TypeError("CryptoKey is not extractable");
21
+ if (key.type !== keyType)
22
+ throw new TypeError(`key is not a ${keyType} key`);
23
+ return formatPEM(encodeBase64(new Uint8Array(await crypto.subtle.exportKey(keyFormat, key))), `${keyType.toUpperCase()} KEY`);
24
+ }, toSPKI = (key) => genericExport("public", "spki", key), toPKCS8 = (key) => genericExport("private", "pkcs8", key), bytesEqual = (a, b) => {
25
+ if (a.byteLength !== b.length)
26
+ return !1;
27
+ for (let i = 0; i < a.byteLength; i++)
28
+ if (a[i] !== b[i])
29
+ return !1;
30
+ return !0;
31
+ }, createASN1State = (data) => ({ data, pos: 0 }), readByte = (state) => {
32
+ const byte = state.data[state.pos++];
33
+ if (byte === void 0)
34
+ throw new Error("Unexpected end of ASN.1 input");
35
+ return byte;
36
+ }, parseLength = (state) => {
37
+ const first = readByte(state);
38
+ if (first & 128) {
39
+ const lengthOfLen = first & 127;
40
+ let length = 0;
41
+ for (let i = 0; i < lengthOfLen; i++)
42
+ length = length << 8 | readByte(state);
43
+ return length;
44
+ }
45
+ return first;
46
+ }, skipElement = (state, count = 1) => {
47
+ for (; count-- > 0; ) {
48
+ state.pos++;
49
+ const length = parseLength(state);
77
50
  state.pos += length;
78
- return result;
79
- };
80
- const parseAlgorithmOID = (state) => {
81
- expectTag(state, 0x06, 'Expected algorithm OID');
82
- const oidLen = parseLength(state);
83
- return getSubarray(state, oidLen);
51
+ }
52
+ }, expectTag = (state, expectedTag, errorMessage) => {
53
+ if (readByte(state) !== expectedTag)
54
+ throw new Error(errorMessage);
55
+ }, getSubarray = (state, length) => {
56
+ if (length < 0 || state.pos + length > state.data.length)
57
+ throw new Error("Unexpected end of ASN.1 input");
58
+ const result = state.data.subarray(state.pos, state.pos + length);
59
+ return state.pos += length, result;
60
+ }, parseAlgorithmOID = (state) => {
61
+ expectTag(state, 6, "Expected algorithm OID");
62
+ const oidLen = parseLength(state);
63
+ return getSubarray(state, oidLen);
84
64
  };
85
65
  function parseKeyHeader(state, keyFormat) {
86
- expectTag(state, 0x30, `Invalid ${keyFormat === 'spki' ? 'SPKI' : 'PKCS#8'} structure`);
87
- parseLength(state);
88
- if (keyFormat === 'pkcs8') {
89
- expectTag(state, 0x02, 'Expected version field');
90
- const length = parseLength(state);
91
- state.pos += length;
92
- }
93
- expectTag(state, 0x30, 'Expected algorithm identifier');
94
- parseLength(state);
66
+ if (expectTag(state, 48, `Invalid ${keyFormat === "spki" ? "SPKI" : "PKCS#8"} structure`), parseLength(state), keyFormat === "pkcs8") {
67
+ expectTag(state, 2, "Expected version field");
68
+ const length = parseLength(state);
69
+ state.pos += length;
70
+ }
71
+ expectTag(state, 48, "Expected algorithm identifier"), parseLength(state);
95
72
  }
96
73
  const parseECAlgorithmIdentifier = (state) => {
97
- const algOid = parseAlgorithmOID(state);
98
- if (bytesEqual(algOid, [0x2b, 0x65, 0x6e])) {
99
- return 'X25519';
100
- }
101
- if (!bytesEqual(algOid, [0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01])) {
102
- throw new Error('Unsupported key algorithm');
103
- }
104
- expectTag(state, 0x06, 'Expected curve OID');
105
- const curveOidLen = parseLength(state);
106
- const curveOid = getSubarray(state, curveOidLen);
107
- if (bytesEqual(curveOid, [0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07]))
108
- return 'P-256';
109
- if (bytesEqual(curveOid, [0x2b, 0x81, 0x04, 0x00, 0x22]))
110
- return 'P-384';
111
- if (bytesEqual(curveOid, [0x2b, 0x81, 0x04, 0x00, 0x23]))
112
- return 'P-521';
113
- throw new Error('Unsupported named curve');
114
- };
115
- const genericImport = async (keyFormat, keyData, alg, options) => {
116
- const extractable = validateExtractableOption(options?.extractable);
117
- const entry = keyAlgorithm(alg, algArgument);
118
- if (entry.secret) {
119
- unsupportedAlg(algArgument);
120
- }
121
- const isPublic = keyFormat === 'spki';
122
- let algorithm;
123
- if (entry.resolve) {
124
- try {
125
- const state = createASN1State(keyData);
126
- parseKeyHeader(state, keyFormat);
127
- algorithm = entry.resolve({ crv: parseECAlgorithmIdentifier(state) });
128
- }
129
- catch {
130
- throw new JOSENotSupported('Invalid or unsupported key format');
131
- }
132
- }
133
- else {
134
- algorithm = entry.subtle;
135
- }
136
- return crypto.subtle.importKey(keyFormat, keyData, algorithm, extractable ?? isPublic, entry.usages[isPublic ? 0 : 1]);
137
- };
138
- const processPEMData = (pem, pattern) => {
139
- return decodeBase64(pem.replace(pattern, ''));
140
- };
141
- export const fromPKCS8 = (pem, alg, options) => {
142
- const keyData = processPEMData(pem, /(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g);
143
- return genericImport('pkcs8', keyData, alg, options);
144
- };
145
- export const fromSPKI = (pem, alg, options) => {
146
- const keyData = processPEMData(pem, /(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g);
147
- return genericImport('spki', keyData, alg, options);
74
+ const algOid = parseAlgorithmOID(state);
75
+ if (bytesEqual(algOid, [43, 101, 110]))
76
+ return "X25519";
77
+ if (!bytesEqual(algOid, [42, 134, 72, 206, 61, 2, 1]))
78
+ throw new Error("Unsupported key algorithm");
79
+ expectTag(state, 6, "Expected curve OID");
80
+ const curveOidLen = parseLength(state), curveOid = getSubarray(state, curveOidLen);
81
+ if (bytesEqual(curveOid, [42, 134, 72, 206, 61, 3, 1, 7]))
82
+ return "P-256";
83
+ if (bytesEqual(curveOid, [43, 129, 4, 0, 34]))
84
+ return "P-384";
85
+ if (bytesEqual(curveOid, [43, 129, 4, 0, 35]))
86
+ return "P-521";
87
+ throw new Error("Unsupported named curve");
88
+ }, genericImport = async (keyFormat, keyData, alg, options) => {
89
+ const extractable = validateExtractableOption(options?.extractable), entry = keyAlgorithm(alg, algArgument);
90
+ entry.secret && unsupportedAlg(algArgument);
91
+ const isPublic = keyFormat === "spki";
92
+ let algorithm;
93
+ if (entry.resolve)
94
+ try {
95
+ const state = createASN1State(keyData);
96
+ parseKeyHeader(state, keyFormat), algorithm = entry.resolve({ crv: parseECAlgorithmIdentifier(state) });
97
+ } catch {
98
+ throw new JOSENotSupported("Invalid or unsupported key format");
99
+ }
100
+ else
101
+ algorithm = entry.subtle;
102
+ return crypto.subtle.importKey(keyFormat, keyData, algorithm, extractable ?? isPublic, entry.usages[isPublic ? 0 : 1]);
103
+ }, processPEMData = (pem, pattern) => decodeBase64(pem.replace(pattern, "")), fromPKCS8 = (pem, alg, options) => {
104
+ const keyData = processPEMData(pem, /(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g);
105
+ return genericImport("pkcs8", keyData, alg, options);
106
+ }, fromSPKI = (pem, alg, options) => {
107
+ const keyData = processPEMData(pem, /(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g);
108
+ return genericImport("spki", keyData, alg, options);
148
109
  };
149
110
  function spkiFromX509(buf) {
150
- const state = createASN1State(buf);
151
- expectTag(state, 0x30, 'Invalid certificate structure');
152
- const certificateLength = parseLength(state);
153
- if (certificateLength < 0 || state.pos + certificateLength > state.data.length) {
154
- throw new Error('Unexpected end of ASN.1 input');
155
- }
156
- expectTag(state, 0x30, 'Invalid tbsCertificate structure');
157
- parseLength(state);
158
- if (buf[state.pos] === 0xa0) {
159
- skipElement(state, 6);
160
- }
161
- else {
162
- skipElement(state, 5);
163
- }
164
- const spkiStart = state.pos;
165
- expectTag(state, 0x30, 'Invalid SPKI structure');
166
- const spkiContentLen = parseLength(state);
167
- return buf.subarray(spkiStart, spkiStart + spkiContentLen + (state.pos - spkiStart));
111
+ const state = createASN1State(buf);
112
+ expectTag(state, 48, "Invalid certificate structure");
113
+ const certificateLength = parseLength(state);
114
+ if (certificateLength < 0 || state.pos + certificateLength > state.data.length)
115
+ throw new Error("Unexpected end of ASN.1 input");
116
+ expectTag(state, 48, "Invalid tbsCertificate structure"), parseLength(state), buf[state.pos] === 160 ? skipElement(state, 6) : skipElement(state, 5);
117
+ const spkiStart = state.pos;
118
+ expectTag(state, 48, "Invalid SPKI structure");
119
+ const spkiContentLen = parseLength(state);
120
+ return buf.subarray(spkiStart, spkiStart + spkiContentLen + (state.pos - spkiStart));
168
121
  }
169
- export const fromX509 = (pem, alg, options) => {
170
- let spki;
171
- try {
172
- const certificate = processPEMData(pem, /(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g);
173
- spki = spkiFromX509(certificate);
174
- }
175
- catch (cause) {
176
- throw new TypeError('Failed to parse the X.509 certificate', { cause });
177
- }
178
- return genericImport('spki', spki, alg, options);
122
+ const fromX509 = (pem, alg, options) => {
123
+ let spki;
124
+ try {
125
+ const certificate = processPEMData(pem, /(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g);
126
+ spki = spkiFromX509(certificate);
127
+ } catch (cause) {
128
+ throw new TypeError("Failed to parse the X.509 certificate", { cause });
129
+ }
130
+ return genericImport("spki", spki, alg, options);
131
+ };
132
+ export {
133
+ fromPKCS8,
134
+ fromSPKI,
135
+ fromX509,
136
+ toPKCS8,
137
+ toSPKI
179
138
  };
@@ -1,44 +1,75 @@
1
- export const encoder = new TextEncoder();
2
- export const decoder = new TextDecoder();
3
- export const strictDecoder = new TextDecoder('utf-8', { fatal: true });
4
- const MAX_INT32 = 2 ** 32;
5
- export function concat(...buffers) {
6
- const size = buffers.reduce((acc, { length }) => acc + length, 0);
7
- const buf = new Uint8Array(size);
8
- let i = 0;
9
- for (const buffer of buffers) {
10
- buf.set(buffer, i);
11
- i += buffer.length;
12
- }
13
- return buf;
1
+ const encoder = new TextEncoder(), decoder = new TextDecoder(), strictDecoder = new TextDecoder("utf-8", { fatal: !0 }), MAX_INT32 = 2 ** 32;
2
+ function concat(...buffers) {
3
+ const size = buffers.reduce((acc, { length }) => acc + length, 0), buf = new Uint8Array(size);
4
+ let i = 0;
5
+ for (const buffer of buffers)
6
+ buf.set(buffer, i), i += buffer.length;
7
+ return buf;
14
8
  }
15
9
  function writeUInt32BE(buf, value, offset) {
16
- if (value < 0 || value >= MAX_INT32) {
17
- throw new RangeError(`value must be >= 0 and <= ${MAX_INT32 - 1}. Received ${value}`);
18
- }
19
- buf.set([value >>> 24, value >>> 16, value >>> 8, value & 0xff], offset);
20
- }
21
- export function uint64be(value) {
22
- const high = Math.floor(value / MAX_INT32);
23
- const low = value % MAX_INT32;
24
- const buf = new Uint8Array(8);
25
- writeUInt32BE(buf, high, 0);
26
- writeUInt32BE(buf, low, 4);
27
- return buf;
28
- }
29
- export function uint32be(value) {
30
- const buf = new Uint8Array(4);
31
- writeUInt32BE(buf, value);
32
- return buf;
33
- }
34
- export function encode(string) {
35
- const bytes = new Uint8Array(string.length);
36
- for (let i = 0; i < string.length; i++) {
37
- const code = string.charCodeAt(i);
38
- if (code > 127) {
39
- throw new TypeError('non-ASCII string encountered in encode()');
40
- }
41
- bytes[i] = code;
42
- }
43
- return bytes;
10
+ if (value < 0 || value >= MAX_INT32)
11
+ throw new RangeError(`value must be >= 0 and <= ${MAX_INT32 - 1}. Received ${value}`);
12
+ buf.set([value >>> 24, value >>> 16, value >>> 8, value & 255], offset);
44
13
  }
14
+ function uint64be(value) {
15
+ const high = Math.floor(value / MAX_INT32), low = value % MAX_INT32, buf = new Uint8Array(8);
16
+ return writeUInt32BE(buf, high, 0), writeUInt32BE(buf, low, 4), buf;
17
+ }
18
+ function uint32be(value) {
19
+ const buf = new Uint8Array(4);
20
+ return writeUInt32BE(buf, value), buf;
21
+ }
22
+ const NON_ASCII = /[^\x00-\x7f]/;
23
+ function encode(string) {
24
+ if (typeof string == "string" && string.length >= 128) {
25
+ if (NON_ASCII.test(string))
26
+ throw new TypeError("non-ASCII string encountered in encode()");
27
+ return encoder.encode(string);
28
+ }
29
+ const bytes = new Uint8Array(string.length);
30
+ for (let i = 0; i < string.length; i++) {
31
+ const code = string.charCodeAt(i);
32
+ if (code > 127)
33
+ throw new TypeError("non-ASCII string encountered in encode()");
34
+ bytes[i] = code;
35
+ }
36
+ return bytes;
37
+ }
38
+ function encodeBase64(input, url = !1) {
39
+ if (Uint8Array.prototype.toBase64)
40
+ return input.toBase64({ alphabet: url ? "base64url" : "base64", omitPadding: url });
41
+ const CHUNK_SIZE = 32768, arr = [];
42
+ for (let i = 0; i < input.length; i += CHUNK_SIZE)
43
+ arr.push(String.fromCharCode.apply(null, input.subarray(i, i + CHUNK_SIZE)));
44
+ const encoded = btoa(arr.join(""));
45
+ return url ? encoded.replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_") : encoded;
46
+ }
47
+ function decodeBase64(encoded, url = !1) {
48
+ if (Uint8Array.fromBase64)
49
+ return Uint8Array.fromBase64(encoded, { alphabet: url ? "base64url" : "base64" });
50
+ if (url) {
51
+ if (encoded.includes("+") || encoded.includes("/"))
52
+ throw new TypeError("Invalid base64url");
53
+ encoded = encoded.replace(/-/g, "+").replace(/_/g, "/");
54
+ }
55
+ const binary = atob(encoded), bytes = new Uint8Array(binary.length);
56
+ for (let i = 0; i < binary.length; i++)
57
+ bytes[i] = binary.charCodeAt(i);
58
+ return bytes;
59
+ }
60
+ async function digest(algorithm, data) {
61
+ const subtleDigest = `SHA-${algorithm.slice(-3)}`;
62
+ return new Uint8Array(await crypto.subtle.digest(subtleDigest, data));
63
+ }
64
+ export {
65
+ concat,
66
+ decodeBase64,
67
+ decoder,
68
+ digest,
69
+ encode,
70
+ encodeBase64,
71
+ encoder,
72
+ strictDecoder,
73
+ uint32be,
74
+ uint64be
75
+ };