@stytch/react 20.0.0-next.4 → 20.0.0-next.6

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 (316) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/StytchSSRProxy-Bz6LNYdq.js.map +1 -1
  3. package/dist/cjs/adminPortal/index.cjs +2 -2
  4. package/dist/cjs/b2b/index.cjs +11 -8
  5. package/dist/cjs/b2b/index.cjs.map +1 -1
  6. package/dist/cjs/b2b/index.headless.cjs +456 -496
  7. package/dist/cjs/b2b/index.headless.cjs.map +1 -1
  8. package/dist/cjs/{idpHelpers-Bj_7pbfW.js → idpHelpers-UZaYQqT8.js} +111 -129
  9. package/dist/cjs/{idpHelpers-Bj_7pbfW.js.map → idpHelpers-UZaYQqT8.js.map} +1 -1
  10. package/dist/cjs/{index-BIjXBvf_.js → index-MDH3lelI.js} +2 -2
  11. package/dist/cjs/{index-BIjXBvf_.js.map → index-MDH3lelI.js.map} +1 -1
  12. package/dist/cjs/index.cjs +18 -14
  13. package/dist/cjs/index.cjs.map +1 -1
  14. package/dist/cjs/index.headless.cjs +401 -448
  15. package/dist/cjs/index.headless.cjs.map +1 -1
  16. package/dist/cjs/{passwordManagerDisableAutofillProps-DV31RTL_.js → passwordManagerDisableAutofillProps-BzR1GTDj.js} +42 -33
  17. package/dist/cjs/passwordManagerDisableAutofillProps-BzR1GTDj.js.map +1 -0
  18. package/dist/cjs/{shadcn-aVU6Lm9q.js → shadcn-BNtf3uZr.js} +7 -6
  19. package/dist/cjs/shadcn-BNtf3uZr.js.map +1 -0
  20. package/dist/cjs-dev/adminPortal/index.cjs +2 -2
  21. package/dist/cjs-dev/b2b/index.cjs +11 -8
  22. package/dist/cjs-dev/b2b/index.cjs.map +1 -1
  23. package/dist/cjs-dev/b2b/index.headless.cjs +468 -508
  24. package/dist/cjs-dev/b2b/index.headless.cjs.map +1 -1
  25. package/dist/cjs-dev/dev-DaCGDI6V.js.map +1 -1
  26. package/dist/cjs-dev/{idpHelpers-DOYYSxsX.js → idpHelpers-CVk39K69.js} +111 -129
  27. package/dist/cjs-dev/{idpHelpers-DOYYSxsX.js.map → idpHelpers-CVk39K69.js.map} +1 -1
  28. package/dist/cjs-dev/{index-rquGmIlv.js → index-BDTK8QN0.js} +2 -2
  29. package/dist/cjs-dev/{index-rquGmIlv.js.map → index-BDTK8QN0.js.map} +1 -1
  30. package/dist/cjs-dev/index.cjs +18 -14
  31. package/dist/cjs-dev/index.cjs.map +1 -1
  32. package/dist/cjs-dev/index.headless.cjs +405 -452
  33. package/dist/cjs-dev/index.headless.cjs.map +1 -1
  34. package/dist/cjs-dev/{passwordManagerDisableAutofillProps-CgiK2M_U.js → passwordManagerDisableAutofillProps--FLcEDiY.js} +42 -33
  35. package/dist/cjs-dev/passwordManagerDisableAutofillProps--FLcEDiY.js.map +1 -0
  36. package/dist/cjs-dev/{shadcn-DMk6ZSoD.js → shadcn-CvmoCuzj.js} +9 -8
  37. package/dist/cjs-dev/shadcn-CvmoCuzj.js.map +1 -0
  38. package/dist/esm/_virtual/index3.mjs +3 -5
  39. package/dist/esm/_virtual/index3.mjs.map +1 -1
  40. package/dist/esm/_virtual/index4.mjs +5 -3
  41. package/dist/esm/_virtual/index4.mjs.map +1 -1
  42. package/dist/esm/node_modules/@lingui/react/dist/index.mjs +14 -13
  43. package/dist/esm/node_modules/@lingui/react/dist/index.mjs.map +1 -1
  44. package/dist/esm/node_modules/@lingui/react/dist/shared/{react.31c3b5fa.mjs → react.8970326b.mjs} +32 -23
  45. package/dist/esm/node_modules/@lingui/react/dist/shared/react.8970326b.mjs.map +1 -0
  46. package/dist/esm/packages/core/src/DFPProtectedAuthProvider.mjs +39 -43
  47. package/dist/esm/packages/core/src/DFPProtectedAuthProvider.mjs.map +1 -1
  48. package/dist/esm/packages/core/src/EventLogger.mjs.map +1 -1
  49. package/dist/esm/packages/core/src/HeadlessClients/HeadlessCryptoWalletClient.mjs.map +1 -1
  50. package/dist/esm/packages/core/src/HeadlessClients/HeadlessIDPClient.mjs +15 -18
  51. package/dist/esm/packages/core/src/HeadlessClients/HeadlessIDPClient.mjs.map +1 -1
  52. package/dist/esm/packages/core/src/HeadlessClients/HeadlessImpersonationClient.mjs.map +1 -1
  53. package/dist/esm/packages/core/src/HeadlessClients/HeadlessMagicLinkClient.mjs.map +1 -1
  54. package/dist/esm/packages/core/src/HeadlessClients/HeadlessOAuthClient.mjs +58 -77
  55. package/dist/esm/packages/core/src/HeadlessClients/HeadlessOAuthClient.mjs.map +1 -1
  56. package/dist/esm/packages/core/src/HeadlessClients/HeadlessOTPClient.mjs +100 -103
  57. package/dist/esm/packages/core/src/HeadlessClients/HeadlessOTPClient.mjs.map +1 -1
  58. package/dist/esm/packages/core/src/HeadlessClients/HeadlessPasswordClient.mjs.map +1 -1
  59. package/dist/esm/packages/core/src/HeadlessClients/HeadlessRBACClient.mjs +6 -8
  60. package/dist/esm/packages/core/src/HeadlessClients/HeadlessRBACClient.mjs.map +1 -1
  61. package/dist/esm/packages/core/src/HeadlessClients/HeadlessSessionClient.mjs +77 -82
  62. package/dist/esm/packages/core/src/HeadlessClients/HeadlessSessionClient.mjs.map +1 -1
  63. package/dist/esm/packages/core/src/HeadlessClients/HeadlessTOTPClient.mjs.map +1 -1
  64. package/dist/esm/packages/core/src/HeadlessClients/HeadlessUserClient.mjs +111 -125
  65. package/dist/esm/packages/core/src/HeadlessClients/HeadlessUserClient.mjs.map +1 -1
  66. package/dist/esm/packages/core/src/HeadlessClients/HeadlessWebAuthnClient.mjs +10 -11
  67. package/dist/esm/packages/core/src/HeadlessClients/HeadlessWebAuthnClient.mjs.map +1 -1
  68. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BDiscoveryClient.mjs.map +1 -1
  69. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BIDPClient.mjs +16 -19
  70. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BIDPClient.mjs.map +1 -1
  71. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BImpersonationClient.mjs.map +1 -1
  72. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BMagicLinkClient.mjs.map +1 -1
  73. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BOAuthClient.mjs.map +1 -1
  74. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BOTPsClient.mjs.map +1 -1
  75. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BOrganizationClient.mjs +142 -153
  76. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BOrganizationClient.mjs.map +1 -1
  77. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BPasswordsClient.mjs.map +1 -1
  78. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BRBACClient.mjs +7 -9
  79. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BRBACClient.mjs.map +1 -1
  80. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BRecoveryCodesClient.mjs.map +1 -1
  81. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BSCIMClient.mjs.map +1 -1
  82. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BSSOClient.mjs +67 -70
  83. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BSSOClient.mjs.map +1 -1
  84. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BSelfClient.mjs +81 -93
  85. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BSelfClient.mjs.map +1 -1
  86. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BSessionClient.mjs +67 -73
  87. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BSessionClient.mjs.map +1 -1
  88. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BTOTPsClient.mjs.map +1 -1
  89. package/dist/esm/packages/core/src/NetworkClient.mjs.map +1 -1
  90. package/dist/esm/packages/core/src/SearchManager.mjs.map +1 -1
  91. package/dist/esm/packages/core/src/SessionManager.mjs +28 -31
  92. package/dist/esm/packages/core/src/SessionManager.mjs.map +1 -1
  93. package/dist/esm/packages/core/src/StateChangeClient.mjs +5 -6
  94. package/dist/esm/packages/core/src/StateChangeClient.mjs.map +1 -1
  95. package/dist/esm/packages/core/src/public/SDKErrors.mjs.map +1 -1
  96. package/dist/esm/packages/core/src/rbac.mjs.map +1 -1
  97. package/dist/esm/packages/core/src/rpc/FrameClient.mjs.map +1 -1
  98. package/dist/esm/packages/web/src/BootstrapDataManager.mjs.map +1 -1
  99. package/dist/esm/packages/web/src/CaptchaProvider.mjs +10 -11
  100. package/dist/esm/packages/web/src/CaptchaProvider.mjs.map +1 -1
  101. package/dist/esm/packages/web/src/ClientsideServicesProvider.mjs +4 -8
  102. package/dist/esm/packages/web/src/ClientsideServicesProvider.mjs.map +1 -1
  103. package/dist/esm/packages/web/src/HeadlessOAuthClient.mjs +24 -24
  104. package/dist/esm/packages/web/src/HeadlessOAuthClient.mjs.map +1 -1
  105. package/dist/esm/packages/web/src/NetworkClient.mjs +4 -5
  106. package/dist/esm/packages/web/src/NetworkClient.mjs.map +1 -1
  107. package/dist/esm/packages/web/src/PKCEManager.mjs.map +1 -1
  108. package/dist/esm/packages/web/src/StytchClient.mjs.map +1 -1
  109. package/dist/esm/packages/web/src/SubscriptionService.mjs +8 -10
  110. package/dist/esm/packages/web/src/SubscriptionService.mjs.map +1 -1
  111. package/dist/esm/packages/web/src/adminPortal/utils/theme.mjs +1 -1
  112. package/dist/esm/packages/web/src/b2b/HeadlessB2BOAuthClient.mjs +48 -48
  113. package/dist/esm/packages/web/src/b2b/HeadlessB2BOAuthClient.mjs.map +1 -1
  114. package/dist/esm/packages/web/src/b2b/StytchB2BClient.mjs.map +1 -1
  115. package/dist/esm/packages/web/src/b2b/oneTap/B2BOneTapProvider.mjs +27 -30
  116. package/dist/esm/packages/web/src/b2b/oneTap/B2BOneTapProvider.mjs.map +1 -1
  117. package/dist/esm/packages/web/src/oneTap/GoogleOneTapClient.mjs.map +1 -1
  118. package/dist/esm/packages/web/src/oneTap/OneTapProvider.mjs +12 -14
  119. package/dist/esm/packages/web/src/oneTap/OneTapProvider.mjs.map +1 -1
  120. package/dist/esm/packages/web/src/ui/b2b/App.mjs +3 -1
  121. package/dist/esm/packages/web/src/ui/b2b/App.mjs.map +1 -1
  122. package/dist/esm/packages/web/src/ui/b2b/InternalAppContainer.mjs +1 -1
  123. package/dist/esm/packages/web/src/ui/b2b/InternalAppContainer.mjs.map +1 -1
  124. package/dist/esm/packages/web/src/ui/b2b/components/OAuthB2BButton.mjs +1 -1
  125. package/dist/esm/packages/web/src/ui/b2b/components/OAuthB2BButton.mjs.map +1 -1
  126. package/dist/esm/packages/web/src/ui/b2b/screens/SMSOTPEnrollScreen.mjs.map +1 -1
  127. package/dist/esm/packages/web/src/ui/b2c/AppContainer.mjs +1 -1
  128. package/dist/esm/packages/web/src/ui/b2c/AppContainer.mjs.map +1 -1
  129. package/dist/esm/packages/web/src/ui/b2c/IDPContainer.mjs +3 -1
  130. package/dist/esm/packages/web/src/ui/b2c/IDPContainer.mjs.map +1 -1
  131. package/dist/esm/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs +1 -1
  132. package/dist/esm/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs.map +1 -1
  133. package/dist/esm/packages/web/src/ui/b2c/ResetPasswordContainer.mjs +1 -1
  134. package/dist/esm/packages/web/src/ui/b2c/ResetPasswordContainer.mjs.map +1 -1
  135. package/dist/esm/packages/web/src/ui/b2c/components/GoogleOneTap.mjs +4 -2
  136. package/dist/esm/packages/web/src/ui/b2c/components/GoogleOneTap.mjs.map +1 -1
  137. package/dist/esm/packages/web/src/ui/b2c/screens/Main/index.mjs +2 -1
  138. package/dist/esm/packages/web/src/ui/b2c/screens/Main/index.mjs.map +1 -1
  139. package/dist/esm/packages/web/src/ui/components/PresentationConfig.mjs +2 -1
  140. package/dist/esm/packages/web/src/ui/components/PresentationConfig.mjs.map +1 -1
  141. package/dist/esm/packages/web/src/ui/components/mixins/Root.module.css.mjs +1 -1
  142. package/dist/esm/packages/web/src/ui/components/molecules/MainContainer.module.css.mjs +1 -1
  143. package/dist/esm/packages/web/src/ui/hooks/usePromptPasskey.mjs +3 -3
  144. package/dist/esm/packages/web/src/ui/hooks/usePromptPasskey.mjs.map +1 -1
  145. package/dist/esm/packages/web/src/ui/react/bindings/createB2BComponent.mjs +2 -2
  146. package/dist/esm/packages/web/src/ui/react/bindings/createB2BComponent.mjs.map +1 -1
  147. package/dist/esm/packages/web/src/ui/react/bindings/createB2CComponent.mjs +2 -2
  148. package/dist/esm/packages/web/src/ui/react/bindings/createB2CComponent.mjs.map +1 -1
  149. package/dist/esm/packages/web/src/utils/crypto.mjs +1 -1
  150. package/dist/esm-dev/_virtual/index.mjs +3 -5
  151. package/dist/esm-dev/_virtual/index.mjs.map +1 -1
  152. package/dist/esm-dev/_virtual/index2.mjs +5 -3
  153. package/dist/esm-dev/_virtual/index2.mjs.map +1 -1
  154. package/dist/esm-dev/_virtual/index3.mjs +5 -3
  155. package/dist/esm-dev/_virtual/index3.mjs.map +1 -1
  156. package/dist/esm-dev/_virtual/index4.mjs +3 -5
  157. package/dist/esm-dev/_virtual/index4.mjs.map +1 -1
  158. package/dist/esm-dev/node_modules/@lingui/react/dist/index.mjs +14 -13
  159. package/dist/esm-dev/node_modules/@lingui/react/dist/index.mjs.map +1 -1
  160. package/dist/esm-dev/node_modules/@lingui/react/dist/shared/{react.31c3b5fa.mjs → react.8970326b.mjs} +32 -23
  161. package/dist/esm-dev/node_modules/@lingui/react/dist/shared/react.8970326b.mjs.map +1 -0
  162. package/dist/esm-dev/node_modules/swr/core/dist/index.mjs +1 -1
  163. package/dist/esm-dev/node_modules/swr/infinite/dist/index.mjs +1 -1
  164. package/dist/esm-dev/packages/core/src/DFPProtectedAuthProvider.mjs +39 -43
  165. package/dist/esm-dev/packages/core/src/DFPProtectedAuthProvider.mjs.map +1 -1
  166. package/dist/esm-dev/packages/core/src/EventLogger.mjs.map +1 -1
  167. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessCryptoWalletClient.mjs.map +1 -1
  168. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessIDPClient.mjs +15 -18
  169. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessIDPClient.mjs.map +1 -1
  170. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessImpersonationClient.mjs.map +1 -1
  171. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessMagicLinkClient.mjs.map +1 -1
  172. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessOAuthClient.mjs +58 -77
  173. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessOAuthClient.mjs.map +1 -1
  174. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessOTPClient.mjs +100 -103
  175. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessOTPClient.mjs.map +1 -1
  176. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessPasswordClient.mjs.map +1 -1
  177. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessRBACClient.mjs +6 -8
  178. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessRBACClient.mjs.map +1 -1
  179. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessSessionClient.mjs +77 -82
  180. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessSessionClient.mjs.map +1 -1
  181. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessTOTPClient.mjs.map +1 -1
  182. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessUserClient.mjs +114 -128
  183. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessUserClient.mjs.map +1 -1
  184. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessWebAuthnClient.mjs +10 -11
  185. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessWebAuthnClient.mjs.map +1 -1
  186. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BDiscoveryClient.mjs.map +1 -1
  187. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BIDPClient.mjs +16 -19
  188. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BIDPClient.mjs.map +1 -1
  189. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BImpersonationClient.mjs.map +1 -1
  190. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BMagicLinkClient.mjs.map +1 -1
  191. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BOAuthClient.mjs.map +1 -1
  192. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BOTPsClient.mjs.map +1 -1
  193. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BOrganizationClient.mjs +144 -155
  194. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BOrganizationClient.mjs.map +1 -1
  195. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BPasswordsClient.mjs.map +1 -1
  196. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BRBACClient.mjs +7 -9
  197. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BRBACClient.mjs.map +1 -1
  198. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BRecoveryCodesClient.mjs.map +1 -1
  199. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BSCIMClient.mjs.map +1 -1
  200. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BSSOClient.mjs +67 -70
  201. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BSSOClient.mjs.map +1 -1
  202. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BSelfClient.mjs +88 -100
  203. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BSelfClient.mjs.map +1 -1
  204. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BSessionClient.mjs +70 -76
  205. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BSessionClient.mjs.map +1 -1
  206. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BTOTPsClient.mjs.map +1 -1
  207. package/dist/esm-dev/packages/core/src/NetworkClient.mjs.map +1 -1
  208. package/dist/esm-dev/packages/core/src/SearchManager.mjs.map +1 -1
  209. package/dist/esm-dev/packages/core/src/SessionManager.mjs +28 -31
  210. package/dist/esm-dev/packages/core/src/SessionManager.mjs.map +1 -1
  211. package/dist/esm-dev/packages/core/src/StateChangeClient.mjs +5 -6
  212. package/dist/esm-dev/packages/core/src/StateChangeClient.mjs.map +1 -1
  213. package/dist/esm-dev/packages/core/src/public/SDKErrors.mjs.map +1 -1
  214. package/dist/esm-dev/packages/core/src/rbac.mjs.map +1 -1
  215. package/dist/esm-dev/packages/core/src/rpc/FrameClient.mjs.map +1 -1
  216. package/dist/esm-dev/packages/web/src/BootstrapDataManager.mjs.map +1 -1
  217. package/dist/esm-dev/packages/web/src/CaptchaProvider.mjs +10 -11
  218. package/dist/esm-dev/packages/web/src/CaptchaProvider.mjs.map +1 -1
  219. package/dist/esm-dev/packages/web/src/ClientsideServicesProvider.mjs +4 -8
  220. package/dist/esm-dev/packages/web/src/ClientsideServicesProvider.mjs.map +1 -1
  221. package/dist/esm-dev/packages/web/src/HeadlessOAuthClient.mjs +24 -24
  222. package/dist/esm-dev/packages/web/src/HeadlessOAuthClient.mjs.map +1 -1
  223. package/dist/esm-dev/packages/web/src/NetworkClient.mjs +4 -5
  224. package/dist/esm-dev/packages/web/src/NetworkClient.mjs.map +1 -1
  225. package/dist/esm-dev/packages/web/src/PKCEManager.mjs.map +1 -1
  226. package/dist/esm-dev/packages/web/src/StytchClient.mjs.map +1 -1
  227. package/dist/esm-dev/packages/web/src/SubscriptionService.mjs +8 -10
  228. package/dist/esm-dev/packages/web/src/SubscriptionService.mjs.map +1 -1
  229. package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/AuthManagementSection.mjs +1 -1
  230. package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/useMemberActivation.mjs +1 -1
  231. package/dist/esm-dev/packages/web/src/adminPortal/scim/SCIMConnectionDangerZoneSection.mjs +1 -1
  232. package/dist/esm-dev/packages/web/src/adminPortal/scim/SCIMConnectionTokenRotationSection.mjs +1 -1
  233. package/dist/esm-dev/packages/web/src/adminPortal/scim/SCIMNewConnectionScreen.mjs +1 -1
  234. package/dist/esm-dev/packages/web/src/adminPortal/sso/SSONewConnectionScreen.mjs +1 -1
  235. package/dist/esm-dev/packages/web/src/adminPortal/utils/theme.mjs +1 -1
  236. package/dist/esm-dev/packages/web/src/adminPortal/utils/useMutateMember.mjs +1 -1
  237. package/dist/esm-dev/packages/web/src/adminPortal/utils/useMutateOrganization.mjs +1 -1
  238. package/dist/esm-dev/packages/web/src/adminPortal/utils/useMutateScimConnection.mjs +1 -1
  239. package/dist/esm-dev/packages/web/src/adminPortal/utils/useMutateSsoConnection.mjs +1 -1
  240. package/dist/esm-dev/packages/web/src/adminPortal/utils/useRevalidateConnectionList.mjs +1 -1
  241. package/dist/esm-dev/packages/web/src/b2b/HeadlessB2BOAuthClient.mjs +48 -48
  242. package/dist/esm-dev/packages/web/src/b2b/HeadlessB2BOAuthClient.mjs.map +1 -1
  243. package/dist/esm-dev/packages/web/src/b2b/StytchB2BClient.mjs.map +1 -1
  244. package/dist/esm-dev/packages/web/src/b2b/oneTap/B2BOneTapProvider.mjs +27 -30
  245. package/dist/esm-dev/packages/web/src/b2b/oneTap/B2BOneTapProvider.mjs.map +1 -1
  246. package/dist/esm-dev/packages/web/src/oneTap/GoogleOneTapClient.mjs.map +1 -1
  247. package/dist/esm-dev/packages/web/src/oneTap/OneTapProvider.mjs +12 -14
  248. package/dist/esm-dev/packages/web/src/oneTap/OneTapProvider.mjs.map +1 -1
  249. package/dist/esm-dev/packages/web/src/ui/b2b/App.mjs +3 -1
  250. package/dist/esm-dev/packages/web/src/ui/b2b/App.mjs.map +1 -1
  251. package/dist/esm-dev/packages/web/src/ui/b2b/Container.mjs +1 -1
  252. package/dist/esm-dev/packages/web/src/ui/b2b/InternalAppContainer.mjs +1 -1
  253. package/dist/esm-dev/packages/web/src/ui/b2b/InternalAppContainer.mjs.map +1 -1
  254. package/dist/esm-dev/packages/web/src/ui/b2b/components/OAuthB2BButton.mjs +1 -1
  255. package/dist/esm-dev/packages/web/src/ui/b2b/components/OAuthB2BButton.mjs.map +1 -1
  256. package/dist/esm-dev/packages/web/src/ui/b2b/components/OrganizationRow.mjs +1 -1
  257. package/dist/esm-dev/packages/web/src/ui/b2b/screens/SMSOTPEnrollScreen.mjs.map +1 -1
  258. package/dist/esm-dev/packages/web/src/ui/b2c/AppContainer.mjs +1 -1
  259. package/dist/esm-dev/packages/web/src/ui/b2c/AppContainer.mjs.map +1 -1
  260. package/dist/esm-dev/packages/web/src/ui/b2c/IDPContainer.mjs +3 -1
  261. package/dist/esm-dev/packages/web/src/ui/b2c/IDPContainer.mjs.map +1 -1
  262. package/dist/esm-dev/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs +1 -1
  263. package/dist/esm-dev/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs.map +1 -1
  264. package/dist/esm-dev/packages/web/src/ui/b2c/ResetPasswordContainer.mjs +1 -1
  265. package/dist/esm-dev/packages/web/src/ui/b2c/ResetPasswordContainer.mjs.map +1 -1
  266. package/dist/esm-dev/packages/web/src/ui/b2c/components/GoogleOneTap.mjs +5 -3
  267. package/dist/esm-dev/packages/web/src/ui/b2c/components/GoogleOneTap.mjs.map +1 -1
  268. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Main/LoginForm/index.mjs +1 -1
  269. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Main/index.mjs +2 -1
  270. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Main/index.mjs.map +1 -1
  271. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Passkey/EditableRow.mjs +1 -1
  272. package/dist/esm-dev/packages/web/src/ui/components/PresentationConfig.mjs +2 -1
  273. package/dist/esm-dev/packages/web/src/ui/components/PresentationConfig.mjs.map +1 -1
  274. package/dist/esm-dev/packages/web/src/ui/components/atoms/AnimatedContainer.mjs +1 -1
  275. package/dist/esm-dev/packages/web/src/ui/components/atoms/Button.mjs +1 -1
  276. package/dist/esm-dev/packages/web/src/ui/components/atoms/CodeContainer.mjs +1 -1
  277. package/dist/esm-dev/packages/web/src/ui/components/atoms/Column.mjs +1 -1
  278. package/dist/esm-dev/packages/web/src/ui/components/atoms/Typography.mjs +1 -1
  279. package/dist/esm-dev/packages/web/src/ui/components/atoms/VerticalTransition.mjs +1 -1
  280. package/dist/esm-dev/packages/web/src/ui/components/atoms/VisuallyHidden.mjs +1 -1
  281. package/dist/esm-dev/packages/web/src/ui/components/mixins/Root.module.css.mjs +1 -1
  282. package/dist/esm-dev/packages/web/src/ui/components/molecules/Badge.mjs +1 -1
  283. package/dist/esm-dev/packages/web/src/ui/components/molecules/Input.mjs +1 -1
  284. package/dist/esm-dev/packages/web/src/ui/components/molecules/MainContainer.mjs +1 -1
  285. package/dist/esm-dev/packages/web/src/ui/components/molecules/MainContainer.module.css.mjs +1 -1
  286. package/dist/esm-dev/packages/web/src/ui/components/molecules/OtpInput.mjs +1 -1
  287. package/dist/esm-dev/packages/web/src/ui/components/molecules/PasswordStrengthCheck.mjs +1 -1
  288. package/dist/esm-dev/packages/web/src/ui/components/organisms/IDPConsentManifest.mjs +1 -1
  289. package/dist/esm-dev/packages/web/src/ui/components/organisms/OneTapError.mjs +2 -2
  290. package/dist/esm-dev/packages/web/src/ui/components/organisms/OneTapError.mjs.map +1 -1
  291. package/dist/esm-dev/packages/web/src/ui/hooks/usePromptPasskey.mjs +3 -3
  292. package/dist/esm-dev/packages/web/src/ui/hooks/usePromptPasskey.mjs.map +1 -1
  293. package/dist/esm-dev/packages/web/src/ui/react/bindings/createB2BComponent.mjs +2 -2
  294. package/dist/esm-dev/packages/web/src/ui/react/bindings/createB2BComponent.mjs.map +1 -1
  295. package/dist/esm-dev/packages/web/src/ui/react/bindings/createB2CComponent.mjs +2 -2
  296. package/dist/esm-dev/packages/web/src/ui/react/bindings/createB2CComponent.mjs.map +1 -1
  297. package/dist/esm-dev/packages/web/src/utils/crypto.mjs +1 -1
  298. package/dist/types/{PresentationConfig-B2jX85oV.d.ts → PresentationConfig-CdAymT0c.d.ts} +5 -0
  299. package/dist/types/{StytchB2BClient-D16e_lp1.d.ts → StytchB2BClient-DYF9xGAB.d.ts} +1 -1
  300. package/dist/types/{StytchClient-BwQdJzdj.d.ts → StytchClient-IyY7-cpI.d.ts} +1 -1
  301. package/dist/types/adminPortal/index.d.ts +3 -3
  302. package/dist/types/b2b/index.d.ts +7 -7
  303. package/dist/types/b2b/index.headless.d.ts +2 -2
  304. package/dist/types/compat.d.ts +1 -1
  305. package/dist/types/{createAuthUrlHandler-R1kNNQD_.d.ts → createAuthUrlHandler-CFZ0DGWC.d.ts} +6 -2
  306. package/dist/types/index.d.ts +7 -7
  307. package/dist/types/index.headless.d.ts +2 -2
  308. package/dist/types/{shadcn-CGdmyIUF.d.ts → shadcn-USiNERNw.d.ts} +4 -4
  309. package/messages/en.po +3 -3
  310. package/package.json +1 -1
  311. package/dist/cjs/passwordManagerDisableAutofillProps-DV31RTL_.js.map +0 -1
  312. package/dist/cjs/shadcn-aVU6Lm9q.js.map +0 -1
  313. package/dist/cjs-dev/passwordManagerDisableAutofillProps-CgiK2M_U.js.map +0 -1
  314. package/dist/cjs-dev/shadcn-DMk6ZSoD.js.map +0 -1
  315. package/dist/esm/node_modules/@lingui/react/dist/shared/react.31c3b5fa.mjs.map +0 -1
  316. package/dist/esm-dev/node_modules/@lingui/react/dist/shared/react.31c3b5fa.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dev-DaCGDI6V.js","sources":["../../../core/src/public/SDKErrors.ts","../../../core/src/utils/dev.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { StytchAPIErrorType } from './StytchAPIErrorType';\n\n/**\n * An Error class thrown when the SDK is unable to reach the Stytch servers,\n * or when the Stytch servers return a value the SDK cannot understand.\n * Usually - it means that you're offline!\n */\nexport class SDKAPIUnreachableError extends Error {\n details: string;\n\n constructor(message: string, details: string) {\n super(message + '\\n' + details);\n this.message = message + '\\n' + details;\n this.name = 'SDKAPIUnreachableError';\n this.details = details;\n Object.setPrototypeOf(this, SDKAPIUnreachableError.prototype);\n }\n}\n\n/**\n * An Error class thrown when the provided input fails client-side validation -\n * for example if a field that was expected to be a number is instead a string.\n */\nexport class StytchSDKUsageError extends Error {\n constructor(methodName: string, message: string) {\n super();\n this.name = 'StytchSDKUsageError';\n this.message = `Invalid call to ${methodName}\\n` + message;\n }\n}\n\n// Example invalid schema error\n// {\n// body: [\n// {\n// keyword: 'type',\n// dataPath: '.session_duration_minutes',\n// schemaPath: '#/properties/session_duration_minutes/type',\n// params: { type: 'number' },\n// message: 'should be number',\n// },\n// ],\n// };\n// Taken from ajv/lib/ajv.d.ts\ninterface ErrorObject {\n keyword: string;\n dataPath: string;\n schemaPath: string;\n message?: string;\n}\n\n/**\n * An Error class thrown when the provided input does not adhere to the Stytch API schema -\n * for example if a field that was expected to be a number is instead a string.\n */\nexport class StytchSDKSchemaError extends Error {\n constructor(schemaError: { body?: ErrorObject[] }) {\n super();\n this.name = 'StytchSDKSchemaError';\n\n const messages = schemaError.body?.map((err) => `${err.dataPath}: ${err.message}`).join('\\n');\n\n this.message = `[400] Request does not match expected schema\\n${messages}`;\n }\n}\n\ninterface APIError {\n status_code: number;\n request_id?: string;\n error_type: StytchAPIErrorType;\n error_message: string;\n error_url: string;\n error_details?: object;\n}\n\n/**\n * An Error class wrapping a well-formed JSON error from the Stytch API.\n * The Stytch error should match one listed at {@link https://stytch.com/docs/api/errors}\n */\nexport class StytchSDKAPIError extends Error {\n error_type: StytchAPIErrorType;\n error_message: string;\n error_url: string;\n request_id?: string;\n status_code: number;\n error_details?: object;\n\n constructor(details: APIError) {\n super();\n this.name = 'StytchSDKAPIError';\n\n const { status_code, error_type, error_message, error_url, request_id, error_details } = details;\n this.error_type = error_type;\n this.error_message = error_message;\n this.error_url = error_url;\n this.request_id = request_id;\n this.status_code = status_code;\n this.error_details = error_details;\n\n this.message =\n `[${status_code}] ${error_type}\\n` +\n `${error_message}\\n` +\n `See ${error_url} for more information.\\n` +\n // Web-Backend doesn't have request IDs yet, so if a request fails there it won't have one.\n // We should figure out how returning tracing info should work\n (request_id ? `request_id: ${request_id}\\n` : '') +\n (this.error_details ? `Details: \\n` + JSON.stringify(this.error_details) + '\\n' : '');\n }\n}\n\n/**\n * If the SDK throws an error with an error type included in this array, the local session and\n * user state will be cleared locally.\n */\nexport const UNRECOVERABLE_ERROR_TYPES: StytchAPIErrorType[] = [\n 'unauthorized_credentials',\n 'user_unauthenticated',\n 'invalid_secret_authentication',\n 'session_not_found',\n];\n\n/**\n * An Error class representing an error within Stytch.\n */\nexport class StytchError extends Error {\n constructor(name: string, message: string) {\n super(message);\n this.name = name;\n }\n}\n\n/**\n * An Error class thrown when the SDK is unable to reach the Stytch servers,\n * or when the Stytch servers return a value the SDK cannot understand.\n * Usually - it means that you're offline!\n */\nexport class StytchAPIUnreachableError extends StytchError {\n constructor(details: string) {\n super('StytchAPIUnreachableError', details);\n Object.setPrototypeOf(this, StytchAPIUnreachableError.prototype);\n }\n}\n\n/**\n * An Error class thrown when the provided input does not adhere to the Stytch API schema -\n * for example if a field that was expected to be a number is instead a string.\n */\nexport class StytchAPISchemaError extends StytchError {\n constructor(schemaError: { body?: ErrorObject[] }) {\n const messages = schemaError.body?.map((err) => `${err.dataPath}: ${err.message}`).join('\\n');\n super('StytchAPISchemaError', `Request does not match expected schema\\n${messages}`);\n }\n}\n\n/**\n * An Error class wrapping a well-formed JSON error from the Stytch API.\n * The Stytch error should match one listed at {@link https://stytch.com/docs/api/errors}\n */\nexport class StytchAPIError extends StytchError {\n error_type: string;\n error_message: string;\n error_url: string;\n request_id?: string;\n status_code: number;\n error_details?: object;\n\n constructor(details: APIError) {\n const { status_code, error_type, error_message, error_url, request_id, error_details } = details;\n super(\n 'StytchAPIError',\n `[${status_code}] ${error_type}\\n` +\n `${error_message}\\n` +\n `See ${error_url} for more information.\\n` +\n // Web-Backend doesn't have request IDs yet, so if a request fails there it won't have one.\n // We should figure out how returning tracing info should work\n (request_id ? `request_id: ${request_id}\\n` : '') +\n (error_details ? `Details: \\n` + JSON.stringify(error_details) + '\\n' : ''),\n );\n this.error_type = error_type;\n this.error_message = error_message;\n this.error_url = error_url;\n this.request_id = request_id;\n this.status_code = status_code;\n this.error_details = error_details;\n }\n\n static from(err: unknown): StytchAPIError {\n if (err instanceof StytchAPIError) {\n return err;\n }\n if (err && typeof err === 'object') {\n const maybe = err as Partial<APIError>;\n if (\n typeof maybe.status_code === 'number' &&\n typeof maybe.error_type === 'string' &&\n typeof maybe.error_message === 'string' &&\n typeof maybe.error_url === 'string'\n ) {\n return new StytchAPIError({\n status_code: maybe.status_code,\n error_type: maybe.error_type,\n error_message: maybe.error_message,\n error_url: maybe.error_url,\n request_id: typeof maybe.request_id === 'string' ? maybe.request_id : undefined,\n error_details: typeof maybe.error_details === 'object' ? maybe.error_details : undefined,\n });\n }\n }\n const message = err instanceof Error ? err.message : 'Unknown error: ' + String(err);\n return new StytchAPIError({\n status_code: 400,\n error_type: 'unknown_error',\n error_message: message,\n error_url: '',\n request_id: undefined,\n error_details: undefined,\n });\n }\n}\n\nexport type StytchSDKErrorOptions = {\n url?: string;\n};\n\n/**\n * An Error class used in the Stytch SDK.\n */\nexport class StytchSDKError extends StytchError {\n options?: StytchSDKErrorOptions;\n\n constructor(name: string, description: string, options?: StytchSDKErrorOptions) {\n super(name, description);\n this.options = options;\n }\n}\n\nexport type StytchSDKUIError = {\n message: string;\n};\n\n/**\n * Thrown when you attempt to perform an action that requires a session, but no local session exists\n */\nexport class NoCurrentSessionError extends StytchSDKError {\n constructor() {\n super(\n 'NoCurrentSessionError',\n 'There is no session currently available. Make sure the user is authenticated with a valid session.',\n );\n }\n}\n\n/**\n * Thrown when an unrecognized error is thrown\n */\nexport class InternalError extends StytchSDKError {\n nativeStack?: unknown;\n\n constructor(error: any) {\n super(\n error.name ? error.name : 'Internal Error',\n error.message ? error.message : 'An internal error has occurred. Please contact Stytch if this occurs.',\n );\n this.nativeStack = error.nativeStackAndroid || error.nativeStackIOS;\n }\n}\n\n/**\n * Thrown when no biometric registration exists\n */\nexport class NoBiometricsRegistrationError extends StytchSDKError {\n constructor() {\n super(\n 'NoBiometricsRegistrationError',\n 'There is no biometric registration available. Authenticate with another method and add a new biometric registration first.',\n );\n }\n}\n\n/**\n * Thrown when biometrics are unavailable on the device\n */\nexport class BiometricsUnavailableError extends StytchSDKError {\n constructor() {\n super('BiometricsUnavailableError', 'Biometrics is not available on the device.');\n }\n}\n\n/**\n * Thrown when the biometrics enrollment has changed, and the underlying key is no longer usable\n */\nexport class KeyInvalidatedError extends StytchSDKError {\n constructor() {\n super('KeyInvalidatedError', 'The biometrics enrollment on the device has changed.');\n }\n}\n\n/**\n * Thrown when the Keystore is determined to be unavailable\n */\nexport class KeystoreUnavailableError extends StytchSDKError {\n constructor() {\n super(\n 'KeystoreUnavailableError',\n 'The Android keystore is unavailable on the device. Consider setting allowFallbackToCleartext to true.',\n );\n }\n}\n\n/**\n * Thrown when there is no biometric factor enrolled on device\n */\nexport class NoBiometricsEnrolledError extends StytchSDKError {\n constructor() {\n super(\n 'NoBiometricsEnrolledError',\n 'There is no biometric factor enrolled on the device. Add a biometric factor in the device settings.',\n );\n }\n}\n\n/**\n * Thrown when there is no biometric factor enrolled on device\n */\nexport class BiometricsAlreadyEnrolledError extends StytchSDKError {\n constructor() {\n super(\n 'BiometricsAlreadyEnrolledError',\n 'There is already a biometric factor enrolled on this device. Fully authenticate with all factors and remove the existing registration before attempting to register again.',\n );\n }\n}\n\n/**\n * Thrown when the user has cancelled the prompt\n */\nexport class UserCancellationError extends StytchSDKError {\n constructor() {\n super('UserCancellationError', 'The user canceled the prompt. Ask the user to try again.');\n }\n}\n\n/**\n * Thrown when the user has been locked out of biometrics\n */\nexport class UserLockedOutError extends StytchSDKError {\n constructor() {\n super(\n 'UserLockedOutError',\n 'The user has been locked out due to too many failed attempts. Ask the user to try again later.',\n );\n }\n}\n\n/**\n * Thrown when biometrics register/authenticate calls are made with mismatched `allowDeviceCredentials` parameter\n */\nexport class DeviceCredentialsNotAllowedError extends StytchSDKError {\n constructor() {\n super(\n 'DeviceCredentialsNotAllowedError',\n 'The device credentials allowment is mismatched. Change the allowDeviceCredentials parameter to be the same in both the register and authenticate methods.',\n );\n }\n}\n\n/**\n * Thrown when no Google client ID is found for the project\n */\nexport class MissingGoogleClientIDError extends StytchSDKError {\n constructor() {\n super('MissingGoogleClientIDError', 'No Google client ID was found in the project.');\n }\n}\n\n/**\n * Thrown when there was an error generating or retrieving a PKCE keypair\n */\nexport class MissingPKCEError extends StytchSDKError {\n constructor() {\n super('MissingPKCEError', 'Make sure this flow is completed on the same device on which it was started.');\n }\n}\n\n/**\n * Thrown when a native OAuth flow is missing the id_token\n */\nexport class MissingAuthorizationCredentialIDTokenError extends StytchSDKError {\n constructor() {\n super('MissingAuthorizationCredentialIDTokenError', 'The authorization credential is missing an ID token.');\n }\n}\n\n/**\n * Thrown when a native OAuth flow returns an invalid credential\n */\nexport class InvalidAuthorizationCredentialError extends StytchSDKError {\n constructor() {\n super(\n 'InvalidAuthorizationCredentialError',\n 'The authorization credential is invalid. Verify that OAuth is set up correctly in the developer console, and call the start flow method.',\n );\n }\n}\n\n/**\n * Thrown when a Google OneTap flow is not completed successfully\n */\nexport class NoCredentialsPresentError extends StytchSDKError {\n constructor() {\n super('NoCredentialsPresentError', 'The user did not provide credentials for a Google OneTap attempt');\n }\n}\n\n/**\n * Thrown when a public key was not found\n */\nexport class MissingPublicKeyError extends StytchSDKError {\n constructor() {\n super('MissingPublicKeyError', 'Failed to retrieve the public key. Add a new biometric registration.');\n }\n}\n\n/**\n * Thrown when the challenge string failed to be signed\n */\nexport class ChallengeSigningFailedError extends StytchSDKError {\n constructor() {\n super('ChallengeSigningFailedError', 'Failed to sign the challenge with the key.');\n }\n}\n\n/**\n * Thrown when the SDK has not been configured\n */\nexport class SDKNotConfiguredError extends StytchSDKError {\n constructor() {\n super(\n 'SDKNotConfiguredError',\n 'Stytch client is not confiured. You must call the configure method before using the SDK',\n );\n }\n}\n\n/**\n * Thrown when the code challenge failed to be generated\n */\nexport class FailedCodeChallengeError extends StytchSDKError {\n constructor() {\n super('FailedCodeChallengeError', 'Failed to create a code challenge');\n }\n}\n\n/**\n * Thrown when Passkeys are unsupported on a device\n */\nexport class PasskeysUnsupportedError extends StytchSDKError {\n constructor() {\n super('PasskeysUnsupportedError', 'Passkeys are not supported on this device');\n }\n}\n\n/**\n * Thrown when user data failed to be decrypted\n */\nexport class FailedToDecryptDataError extends StytchSDKError {\n constructor() {\n super('FailedToDecryptDataError', 'Failed to decrypt user data');\n }\n}\n\n/**\n * Thrown when Biometrics failed\n */\nexport class BiometricsFailedError extends StytchSDKError {\n constructor() {\n super('BiometricsFailedError', 'Biometric authentication failed');\n }\n}\n\n/**\n * Thrown when a start URL was invalid\n */\nexport class InvalidStartUrlError extends StytchSDKError {\n constructor() {\n super('InvalidStartUrlError', 'The start URL was invalid or improperly formatted.');\n }\n}\n\n/**\n * Thrown when a redirect url was invalid\n */\nexport class InvalidRedirectSchemeError extends StytchSDKError {\n constructor() {\n super(\n 'InvalidRedirectSchemeError',\n 'The scheme from the given redirect urls was invalid. Possible reasons include: nil scheme, non-custom scheme (using http or https), or differing schemes for login/signup urls.',\n );\n }\n}\n\n/**\n * Thrown when the underlying web authentication service failed to return a URL.\n */\nexport class MissingUrlError extends StytchSDKError {\n constructor() {\n super('MissingUrlError', 'The underlying web authentication service failed to return a URL.');\n }\n}\n\n/**\n * Thrown when the public key credential type was not of the expected type.\n */\nexport class InvalidCredentialTypeError extends StytchSDKError {\n constructor() {\n super('InvalidCredentialTypeError', 'The public key credential type was not of the expected type.');\n }\n}\n\n/**\n * Thrown when the public key credential is missing the attestation object\n */\nexport class MissingAttestationObjectError extends StytchSDKError {\n constructor() {\n super('MissingAttestationObjectError', 'The public key credential is missing the attestation object.');\n }\n}\n\n/**\n * Thrown when we received JSON data that could not be converted to a string\n */\nexport class JSONDataNotConvertibleToStringError extends StytchSDKError {\n constructor() {\n super('JSONDataNotConvertibleToStringError', 'JSON data unable to be converted to String type.');\n }\n}\n\n/**\n * Thrown when RNG fails\n */\nexport class RandomNumberGenerationFailed extends StytchSDKError {\n constructor() {\n super('RandomNumberGenerationFailed', 'Random number generation failed');\n }\n}\n\n/**\n * Thrown when there was an invalid encoding used for a Passkeys request\n */\nexport class PasskeysInvalidEncoding extends StytchSDKError {\n constructor() {\n super('PasskeysInvalidEncoding', 'Invalid passkey encoding');\n }\n}\n\n/**\n * Thrown when Passkeys support is misconfigured\n */\nexport class PasskeysMisconfigured extends StytchSDKError {\n constructor() {\n super(\n 'PasskeysMisconfigured',\n 'Passkeys are misconfigured. Verify that you have added the correct associated domain for your application, and that the signing information is correct.',\n );\n }\n}\n\n/**\n * Thrown when there was an invalid encoding used for a Passkeys request\n */\nexport class SignInWithAppleMisconfigured extends StytchSDKError {\n constructor() {\n super(\n 'SignInWithAppleMisconfigured',\n 'Sign In With Apple is misconfigured. Verify that you have correctly configured Apple OAuth in the Stytch Dashboard and added the Sign In With Apple capability to your project.',\n );\n }\n}\n\nexport class MissingCipherIv extends StytchSDKError {\n constructor() {\n super(\n 'MissingCipherIv',\n 'The expected cipher Iv was not found when attempting to decrypt an existing biometric key.',\n );\n }\n}\n\nexport class InvalidPrivateKeyLength extends StytchSDKError {\n constructor() {\n super('InvalidPrivateKeyLength', `The private key was of an incorrect length.`);\n }\n}\n\nexport class BiometricRegistrationIdIsNullOrBlank extends StytchSDKError {\n constructor() {\n super(\n 'BiometricRegistrationIdIsNullOrBlank',\n 'Attempted to set a blank or null biometric registration ID. This is not allowed, and indicates no registration was created on the server. Consider deleting any local keys that may have been generated.',\n );\n }\n}\n\nexport class DFPNotConfigured extends StytchSDKError {\n constructor() {\n super(\n 'DFPNotConfigured',\n 'You have attempted to retrieve a telemetry ID before the DFP client has been configured.',\n );\n }\n}\n\n/**\n * Thrown when a client attempts to start an OAuth flow but does not pass all required fields\n */\nexport class IDPOAuthFlowMissingParamError extends StytchSDKError {\n constructor(details: string) {\n super('IDPOAuthFlowMissingParamError', details);\n }\n}\n\nexport function errorToStytchError(error: any): StytchSDKError {\n if (error instanceof StytchSDKError) return error;\n\n switch (error.message) {\n case 'no_current_session':\n return new NoCurrentSessionError();\n case 'no_biometrics_registration':\n return new NoBiometricsRegistrationError();\n case 'biometrics_unavailable':\n return new BiometricsUnavailableError();\n case 'key_invalidated':\n return new KeyInvalidatedError();\n case 'device_hardware_error':\n return new BiometricsUnavailableError();\n case 'biometrics_not_available':\n return new BiometricsUnavailableError();\n case 'no_biometrics_enrolled':\n return new NoBiometricsEnrolledError();\n case 'keystore_unavailable':\n return new KeystoreUnavailableError();\n case 'no_biometric_key':\n return new KeyInvalidatedError();\n case 'device_credentials_not_allowed':\n return new DeviceCredentialsNotAllowedError();\n case 'user_cancellation':\n return new UserCancellationError();\n case 'user_locked_out':\n return new UserLockedOutError();\n case 'google_onetap_missing_id_token':\n return new MissingAuthorizationCredentialIDTokenError();\n case 'google_onetap_missing_member':\n return new InvalidAuthorizationCredentialError();\n case 'oauth_apple_missing_id_token':\n return new MissingAuthorizationCredentialIDTokenError();\n case 'oauth_apple_credential_invalid':\n return new InvalidAuthorizationCredentialError();\n case 'missing_public_key':\n return new MissingPublicKeyError();\n case 'challenge_signing_failed':\n return new ChallengeSigningFailedError();\n case 'missing_authorization_credential_id_token':\n return new MissingAuthorizationCredentialIDTokenError();\n case 'invalid_authorization_credential':\n return new InvalidAuthorizationCredentialError();\n case 'no_credentials_present':\n return new NoCredentialsPresentError();\n case 'sdk_not_configured':\n return new SDKNotConfiguredError();\n case 'failed_code_challenge':\n return new FailedCodeChallengeError();\n case 'passkeys_unsupported':\n return new PasskeysUnsupportedError();\n case 'failed_to_decrypt_data':\n return new FailedToDecryptDataError();\n case 'biometrics_failed':\n return new BiometricsFailedError();\n case 'invalid_start_url':\n return new InvalidStartUrlError();\n case 'invalid_redirect_scheme':\n return new InvalidRedirectSchemeError();\n case 'missing_url':\n return new MissingUrlError();\n case 'invalid_credential_type':\n return new InvalidCredentialTypeError();\n case 'missing_attestation_object':\n return new MissingAttestationObjectError();\n case 'json_data_not_convertible_to_string':\n return new JSONDataNotConvertibleToStringError();\n case 'random_number_generation_failed':\n return new RandomNumberGenerationFailed();\n case 'passkeys_invalid_encoding':\n return new PasskeysInvalidEncoding();\n case 'passkeys_misconfigured':\n return new PasskeysMisconfigured();\n case 'signinwithapple_misconfigured':\n return new SignInWithAppleMisconfigured();\n case 'missing_cipher_iv':\n return new MissingCipherIv();\n case 'invalid_private_key_length':\n return new InvalidPrivateKeyLength();\n case 'biometric_registration_id_is_null_or_blank':\n return new BiometricRegistrationIdIsNullOrBlank();\n case 'dfp_not_configured':\n return new DFPNotConfigured();\n default:\n return new InternalError(error);\n }\n}\n","import { StytchSDKUsageError } from '../public';\n\n/**\n * This function and its parameter is stripped in production builds using rollup plugin.\n * NOTE: Be careful when wrapping render function return values. React before v18 do not allow undefined\n * to be returned, so wrapping the entire return value will crash those runtimes.\n */\nexport const DEV = <T>(input: T): T | undefined => input;\n\n/**\n * This function is stripped in production builds using rollup plugin. Useful for adding\n * logging or validation in dev only\n */\nexport function RUN_IN_DEV(callback: () => void) {\n callback();\n}\n\nexport type ValidateRule =\n | 'object'\n | 'optionalObject'\n | 'string'\n | 'optionalString'\n | 'number'\n | 'optionalNumber'\n | 'stringArray'\n | 'optionalStringArray'\n | 'boolean'\n | 'optionalBoolean';\n\nexport const validateInDev = <T extends Record<string, unknown>>(\n methodName: string,\n obj: T,\n rules: Partial<Record<keyof T, ValidateRule>>,\n) => {\n const errors: StytchSDKUsageError[] = [];\n for (const [key, rule] of Object.entries(rules)) {\n if (rule == null) continue;\n\n const val = obj[key];\n if (rule.startsWith('optional') && val == null) continue;\n\n switch (rule) {\n case 'object':\n case 'optionalObject': {\n const isObject = typeof val === 'object' && !Array.isArray(val) && val !== null;\n if (!isObject) {\n errors.push(new StytchSDKUsageError(methodName, `${key} must be an object.`));\n }\n break;\n }\n\n case 'string':\n case 'optionalString':\n if (typeof val !== 'string') {\n errors.push(new StytchSDKUsageError(methodName, `${key} must be a string.`));\n }\n break;\n\n case 'number':\n case 'optionalNumber':\n if (typeof val !== 'number') {\n errors.push(new StytchSDKUsageError(methodName, `${key} must be a number.`));\n }\n break;\n\n case 'stringArray':\n case 'optionalStringArray':\n if (!Array.isArray(val) || !val.every((str) => typeof str === 'string')) {\n errors.push(new StytchSDKUsageError(methodName, `${key} must be an array of strings.`));\n }\n break;\n\n case 'boolean':\n case 'optionalBoolean':\n if (typeof val !== 'boolean') {\n errors.push(new StytchSDKUsageError(methodName, `${key} must be a boolean.`));\n }\n break;\n }\n }\n\n if (errors.length > 0) {\n if (errors.length === 1) {\n throw errors[0];\n } else {\n throw new AggregateError(errors);\n }\n }\n};\n"],"names":["SDKAPIUnreachableError","Error","details","constructor","message","name","Object","setPrototypeOf","prototype","StytchSDKUsageError","methodName","StytchSDKSchemaError","schemaError","messages","body","map","err","dataPath","join","StytchSDKAPIError","error_type","error_message","error_url","request_id","status_code","error_details","JSON","stringify","UNRECOVERABLE_ERROR_TYPES","StytchError","StytchAPIUnreachableError","StytchAPISchemaError","StytchAPIError","from","maybe","undefined","String","StytchSDKError","options","description","NoCurrentSessionError","InternalError","nativeStack","error","nativeStackAndroid","nativeStackIOS","NoBiometricsRegistrationError","BiometricsUnavailableError","KeyInvalidatedError","KeystoreUnavailableError","NoBiometricsEnrolledError","BiometricsAlreadyEnrolledError","UserCancellationError","UserLockedOutError","DeviceCredentialsNotAllowedError","MissingGoogleClientIDError","MissingPKCEError","MissingAuthorizationCredentialIDTokenError","InvalidAuthorizationCredentialError","NoCredentialsPresentError","MissingPublicKeyError","ChallengeSigningFailedError","SDKNotConfiguredError","FailedCodeChallengeError","PasskeysUnsupportedError","FailedToDecryptDataError","BiometricsFailedError","InvalidStartUrlError","InvalidRedirectSchemeError","MissingUrlError","InvalidCredentialTypeError","MissingAttestationObjectError","JSONDataNotConvertibleToStringError","RandomNumberGenerationFailed","PasskeysInvalidEncoding","PasskeysMisconfigured","SignInWithAppleMisconfigured","MissingCipherIv","InvalidPrivateKeyLength","BiometricRegistrationIdIsNullOrBlank","DFPNotConfigured","IDPOAuthFlowMissingParamError","errorToStytchError","DEV","input","RUN_IN_DEV","callback","validateInDev","obj","rules","errors","key","rule","entries","val","startsWith","isObject","Array","isArray","push","every","str","length","AggregateError"],"mappings":"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"}
1
+ {"version":3,"file":"dev-DaCGDI6V.js","sources":["../../../core/src/public/SDKErrors.ts","../../../core/src/utils/dev.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { StytchAPIErrorType } from './StytchAPIErrorType';\n\n/**\n * An Error class thrown when the SDK is unable to reach the Stytch servers,\n * or when the Stytch servers return a value the SDK cannot understand.\n * Usually - it means that you're offline!\n */\nexport class SDKAPIUnreachableError extends Error {\n details: string;\n\n constructor(message: string, details: string) {\n super(message + '\\n' + details);\n this.message = message + '\\n' + details;\n this.name = 'SDKAPIUnreachableError';\n this.details = details;\n Object.setPrototypeOf(this, SDKAPIUnreachableError.prototype);\n }\n}\n\n/**\n * An Error class thrown when the provided input fails client-side validation -\n * for example if a field that was expected to be a number is instead a string.\n */\nexport class StytchSDKUsageError extends Error {\n constructor(methodName: string, message: string) {\n super();\n this.name = 'StytchSDKUsageError';\n this.message = `Invalid call to ${methodName}\\n` + message;\n }\n}\n\n// Example invalid schema error\n// {\n// body: [\n// {\n// keyword: 'type',\n// dataPath: '.session_duration_minutes',\n// schemaPath: '#/properties/session_duration_minutes/type',\n// params: { type: 'number' },\n// message: 'should be number',\n// },\n// ],\n// };\n// Taken from ajv/lib/ajv.d.ts\ninterface ErrorObject {\n keyword: string;\n dataPath: string;\n schemaPath: string;\n message?: string;\n}\n\n/**\n * An Error class thrown when the provided input does not adhere to the Stytch API schema -\n * for example if a field that was expected to be a number is instead a string.\n */\nexport class StytchSDKSchemaError extends Error {\n constructor(schemaError: { body?: ErrorObject[] }) {\n super();\n this.name = 'StytchSDKSchemaError';\n\n const messages = schemaError.body?.map((err) => `${err.dataPath}: ${err.message}`).join('\\n');\n\n this.message = `[400] Request does not match expected schema\\n${messages}`;\n }\n}\n\ninterface APIError {\n status_code: number;\n request_id?: string;\n error_type: StytchAPIErrorType;\n error_message: string;\n error_url: string;\n error_details?: object;\n}\n\n/**\n * An Error class wrapping a well-formed JSON error from the Stytch API.\n * The Stytch error should match one listed at {@link https://stytch.com/docs/api/errors}\n */\nexport class StytchSDKAPIError extends Error {\n error_type: StytchAPIErrorType;\n error_message: string;\n error_url: string;\n request_id?: string;\n status_code: number;\n error_details?: object;\n\n constructor(details: APIError) {\n super();\n this.name = 'StytchSDKAPIError';\n\n const { status_code, error_type, error_message, error_url, request_id, error_details } = details;\n this.error_type = error_type;\n this.error_message = error_message;\n this.error_url = error_url;\n this.request_id = request_id;\n this.status_code = status_code;\n this.error_details = error_details;\n\n this.message =\n `[${status_code}] ${error_type}\\n` +\n `${error_message}\\n` +\n `See ${error_url} for more information.\\n` +\n // Web-Backend doesn't have request IDs yet, so if a request fails there it won't have one.\n // We should figure out how returning tracing info should work\n (request_id ? `request_id: ${request_id}\\n` : '') +\n (this.error_details ? `Details: \\n` + JSON.stringify(this.error_details) + '\\n' : '');\n }\n}\n\n/**\n * If the SDK throws an error with an error type included in this array, the local session and\n * user state will be cleared locally.\n */\nexport const UNRECOVERABLE_ERROR_TYPES: StytchAPIErrorType[] = [\n 'unauthorized_credentials',\n 'user_unauthenticated',\n 'invalid_secret_authentication',\n 'session_not_found',\n];\n\n/**\n * An Error class representing an error within Stytch.\n */\nexport class StytchError extends Error {\n constructor(name: string, message: string) {\n super(message);\n this.name = name;\n }\n}\n\n/**\n * An Error class thrown when the SDK is unable to reach the Stytch servers,\n * or when the Stytch servers return a value the SDK cannot understand.\n * Usually - it means that you're offline!\n */\nexport class StytchAPIUnreachableError extends StytchError {\n constructor(details: string) {\n super('StytchAPIUnreachableError', details);\n Object.setPrototypeOf(this, StytchAPIUnreachableError.prototype);\n }\n}\n\n/**\n * An Error class thrown when the provided input does not adhere to the Stytch API schema -\n * for example if a field that was expected to be a number is instead a string.\n */\nexport class StytchAPISchemaError extends StytchError {\n constructor(schemaError: { body?: ErrorObject[] }) {\n const messages = schemaError.body?.map((err) => `${err.dataPath}: ${err.message}`).join('\\n');\n super('StytchAPISchemaError', `Request does not match expected schema\\n${messages}`);\n }\n}\n\n/**\n * An Error class wrapping a well-formed JSON error from the Stytch API.\n * The Stytch error should match one listed at {@link https://stytch.com/docs/api/errors}\n */\nexport class StytchAPIError extends StytchError {\n error_type: string;\n error_message: string;\n error_url: string;\n request_id?: string;\n status_code: number;\n error_details?: object;\n\n constructor(details: APIError) {\n const { status_code, error_type, error_message, error_url, request_id, error_details } = details;\n super(\n 'StytchAPIError',\n `[${status_code}] ${error_type}\\n` +\n `${error_message}\\n` +\n `See ${error_url} for more information.\\n` +\n // Web-Backend doesn't have request IDs yet, so if a request fails there it won't have one.\n // We should figure out how returning tracing info should work\n (request_id ? `request_id: ${request_id}\\n` : '') +\n (error_details ? `Details: \\n` + JSON.stringify(error_details) + '\\n' : ''),\n );\n this.error_type = error_type;\n this.error_message = error_message;\n this.error_url = error_url;\n this.request_id = request_id;\n this.status_code = status_code;\n this.error_details = error_details;\n }\n\n static from(err: unknown): StytchAPIError {\n if (err instanceof StytchAPIError) {\n return err;\n }\n if (err && typeof err === 'object') {\n const maybe = err as Partial<APIError>;\n if (\n typeof maybe.status_code === 'number' &&\n typeof maybe.error_type === 'string' &&\n typeof maybe.error_message === 'string' &&\n typeof maybe.error_url === 'string'\n ) {\n return new StytchAPIError({\n status_code: maybe.status_code,\n error_type: maybe.error_type,\n error_message: maybe.error_message,\n error_url: maybe.error_url,\n request_id: typeof maybe.request_id === 'string' ? maybe.request_id : undefined,\n error_details: typeof maybe.error_details === 'object' ? maybe.error_details : undefined,\n });\n }\n }\n const message = err instanceof Error ? err.message : 'Unknown error: ' + String(err);\n return new StytchAPIError({\n status_code: 400,\n error_type: 'unknown_error',\n error_message: message,\n error_url: '',\n request_id: undefined,\n error_details: undefined,\n });\n }\n}\n\nexport type StytchSDKErrorOptions = {\n url?: string;\n};\n\n/**\n * An Error class used in the Stytch SDK.\n */\nexport class StytchSDKError extends StytchError {\n options?: StytchSDKErrorOptions;\n\n constructor(name: string, description: string, options?: StytchSDKErrorOptions) {\n super(name, description);\n this.options = options;\n }\n}\n\nexport type StytchSDKUIError = {\n message: string;\n};\n\n/**\n * Thrown when you attempt to perform an action that requires a session, but no local session exists\n */\nexport class NoCurrentSessionError extends StytchSDKError {\n constructor() {\n super(\n 'NoCurrentSessionError',\n 'There is no session currently available. Make sure the user is authenticated with a valid session.',\n );\n }\n}\n\n/**\n * Thrown when an unrecognized error is thrown\n */\nexport class InternalError extends StytchSDKError {\n nativeStack?: unknown;\n\n constructor(error: any) {\n super(\n error.name ? error.name : 'Internal Error',\n error.message ? error.message : 'An internal error has occurred. Please contact Stytch if this occurs.',\n );\n this.nativeStack = error.nativeStackAndroid || error.nativeStackIOS;\n }\n}\n\n/**\n * Thrown when no biometric registration exists\n */\nexport class NoBiometricsRegistrationError extends StytchSDKError {\n constructor() {\n super(\n 'NoBiometricsRegistrationError',\n 'There is no biometric registration available. Authenticate with another method and add a new biometric registration first.',\n );\n }\n}\n\n/**\n * Thrown when biometrics are unavailable on the device\n */\nexport class BiometricsUnavailableError extends StytchSDKError {\n constructor() {\n super('BiometricsUnavailableError', 'Biometrics is not available on the device.');\n }\n}\n\n/**\n * Thrown when the biometrics enrollment has changed, and the underlying key is no longer usable\n */\nexport class KeyInvalidatedError extends StytchSDKError {\n constructor() {\n super('KeyInvalidatedError', 'The biometrics enrollment on the device has changed.');\n }\n}\n\n/**\n * Thrown when the Keystore is determined to be unavailable\n */\nexport class KeystoreUnavailableError extends StytchSDKError {\n constructor() {\n super(\n 'KeystoreUnavailableError',\n 'The Android keystore is unavailable on the device. Consider setting allowFallbackToCleartext to true.',\n );\n }\n}\n\n/**\n * Thrown when there is no biometric factor enrolled on device\n */\nexport class NoBiometricsEnrolledError extends StytchSDKError {\n constructor() {\n super(\n 'NoBiometricsEnrolledError',\n 'There is no biometric factor enrolled on the device. Add a biometric factor in the device settings.',\n );\n }\n}\n\n/**\n * Thrown when there is no biometric factor enrolled on device\n */\nexport class BiometricsAlreadyEnrolledError extends StytchSDKError {\n constructor() {\n super(\n 'BiometricsAlreadyEnrolledError',\n 'There is already a biometric factor enrolled on this device. Fully authenticate with all factors and remove the existing registration before attempting to register again.',\n );\n }\n}\n\n/**\n * Thrown when the user has cancelled the prompt\n */\nexport class UserCancellationError extends StytchSDKError {\n constructor() {\n super('UserCancellationError', 'The user canceled the prompt. Ask the user to try again.');\n }\n}\n\n/**\n * Thrown when the user has been locked out of biometrics\n */\nexport class UserLockedOutError extends StytchSDKError {\n constructor() {\n super(\n 'UserLockedOutError',\n 'The user has been locked out due to too many failed attempts. Ask the user to try again later.',\n );\n }\n}\n\n/**\n * Thrown when biometrics register/authenticate calls are made with mismatched `allowDeviceCredentials` parameter\n */\nexport class DeviceCredentialsNotAllowedError extends StytchSDKError {\n constructor() {\n super(\n 'DeviceCredentialsNotAllowedError',\n 'The device credentials allowment is mismatched. Change the allowDeviceCredentials parameter to be the same in both the register and authenticate methods.',\n );\n }\n}\n\n/**\n * Thrown when no Google client ID is found for the project\n */\nexport class MissingGoogleClientIDError extends StytchSDKError {\n constructor() {\n super('MissingGoogleClientIDError', 'No Google client ID was found in the project.');\n }\n}\n\n/**\n * Thrown when there was an error generating or retrieving a PKCE keypair\n */\nexport class MissingPKCEError extends StytchSDKError {\n constructor() {\n super('MissingPKCEError', 'Make sure this flow is completed on the same device on which it was started.');\n }\n}\n\n/**\n * Thrown when a native OAuth flow is missing the id_token\n */\nexport class MissingAuthorizationCredentialIDTokenError extends StytchSDKError {\n constructor() {\n super('MissingAuthorizationCredentialIDTokenError', 'The authorization credential is missing an ID token.');\n }\n}\n\n/**\n * Thrown when a native OAuth flow returns an invalid credential\n */\nexport class InvalidAuthorizationCredentialError extends StytchSDKError {\n constructor() {\n super(\n 'InvalidAuthorizationCredentialError',\n 'The authorization credential is invalid. Verify that OAuth is set up correctly in the developer console, and call the start flow method.',\n );\n }\n}\n\n/**\n * Thrown when a Google OneTap flow is not completed successfully\n */\nexport class NoCredentialsPresentError extends StytchSDKError {\n constructor() {\n super('NoCredentialsPresentError', 'The user did not provide credentials for a Google OneTap attempt');\n }\n}\n\n/**\n * Thrown when a public key was not found\n */\nexport class MissingPublicKeyError extends StytchSDKError {\n constructor() {\n super('MissingPublicKeyError', 'Failed to retrieve the public key. Add a new biometric registration.');\n }\n}\n\n/**\n * Thrown when the challenge string failed to be signed\n */\nexport class ChallengeSigningFailedError extends StytchSDKError {\n constructor() {\n super('ChallengeSigningFailedError', 'Failed to sign the challenge with the key.');\n }\n}\n\n/**\n * Thrown when the SDK has not been configured\n */\nexport class SDKNotConfiguredError extends StytchSDKError {\n constructor() {\n super(\n 'SDKNotConfiguredError',\n 'Stytch client is not confiured. You must call the configure method before using the SDK',\n );\n }\n}\n\n/**\n * Thrown when the code challenge failed to be generated\n */\nexport class FailedCodeChallengeError extends StytchSDKError {\n constructor() {\n super('FailedCodeChallengeError', 'Failed to create a code challenge');\n }\n}\n\n/**\n * Thrown when Passkeys are unsupported on a device\n */\nexport class PasskeysUnsupportedError extends StytchSDKError {\n constructor() {\n super('PasskeysUnsupportedError', 'Passkeys are not supported on this device');\n }\n}\n\n/**\n * Thrown when user data failed to be decrypted\n */\nexport class FailedToDecryptDataError extends StytchSDKError {\n constructor() {\n super('FailedToDecryptDataError', 'Failed to decrypt user data');\n }\n}\n\n/**\n * Thrown when Biometrics failed\n */\nexport class BiometricsFailedError extends StytchSDKError {\n constructor() {\n super('BiometricsFailedError', 'Biometric authentication failed');\n }\n}\n\n/**\n * Thrown when a start URL was invalid\n */\nexport class InvalidStartUrlError extends StytchSDKError {\n constructor() {\n super('InvalidStartUrlError', 'The start URL was invalid or improperly formatted.');\n }\n}\n\n/**\n * Thrown when a redirect url was invalid\n */\nexport class InvalidRedirectSchemeError extends StytchSDKError {\n constructor() {\n super(\n 'InvalidRedirectSchemeError',\n 'The scheme from the given redirect urls was invalid. Possible reasons include: nil scheme, non-custom scheme (using http or https), or differing schemes for login/signup urls.',\n );\n }\n}\n\n/**\n * Thrown when the underlying web authentication service failed to return a URL.\n */\nexport class MissingUrlError extends StytchSDKError {\n constructor() {\n super('MissingUrlError', 'The underlying web authentication service failed to return a URL.');\n }\n}\n\n/**\n * Thrown when the public key credential type was not of the expected type.\n */\nexport class InvalidCredentialTypeError extends StytchSDKError {\n constructor() {\n super('InvalidCredentialTypeError', 'The public key credential type was not of the expected type.');\n }\n}\n\n/**\n * Thrown when the public key credential is missing the attestation object\n */\nexport class MissingAttestationObjectError extends StytchSDKError {\n constructor() {\n super('MissingAttestationObjectError', 'The public key credential is missing the attestation object.');\n }\n}\n\n/**\n * Thrown when we received JSON data that could not be converted to a string\n */\nexport class JSONDataNotConvertibleToStringError extends StytchSDKError {\n constructor() {\n super('JSONDataNotConvertibleToStringError', 'JSON data unable to be converted to String type.');\n }\n}\n\n/**\n * Thrown when RNG fails\n */\nexport class RandomNumberGenerationFailed extends StytchSDKError {\n constructor() {\n super('RandomNumberGenerationFailed', 'Random number generation failed');\n }\n}\n\n/**\n * Thrown when there was an invalid encoding used for a Passkeys request\n */\nexport class PasskeysInvalidEncoding extends StytchSDKError {\n constructor() {\n super('PasskeysInvalidEncoding', 'Invalid passkey encoding');\n }\n}\n\n/**\n * Thrown when Passkeys support is misconfigured\n */\nexport class PasskeysMisconfigured extends StytchSDKError {\n constructor() {\n super(\n 'PasskeysMisconfigured',\n 'Passkeys are misconfigured. Verify that you have added the correct associated domain for your application, and that the signing information is correct.',\n );\n }\n}\n\n/**\n * Thrown when there was an invalid encoding used for a Passkeys request\n */\nexport class SignInWithAppleMisconfigured extends StytchSDKError {\n constructor() {\n super(\n 'SignInWithAppleMisconfigured',\n 'Sign In With Apple is misconfigured. Verify that you have correctly configured Apple OAuth in the Stytch Dashboard and added the Sign In With Apple capability to your project.',\n );\n }\n}\n\nexport class MissingCipherIv extends StytchSDKError {\n constructor() {\n super(\n 'MissingCipherIv',\n 'The expected cipher Iv was not found when attempting to decrypt an existing biometric key.',\n );\n }\n}\n\nexport class InvalidPrivateKeyLength extends StytchSDKError {\n constructor() {\n super('InvalidPrivateKeyLength', `The private key was of an incorrect length.`);\n }\n}\n\nexport class BiometricRegistrationIdIsNullOrBlank extends StytchSDKError {\n constructor() {\n super(\n 'BiometricRegistrationIdIsNullOrBlank',\n 'Attempted to set a blank or null biometric registration ID. This is not allowed, and indicates no registration was created on the server. Consider deleting any local keys that may have been generated.',\n );\n }\n}\n\nexport class DFPNotConfigured extends StytchSDKError {\n constructor() {\n super(\n 'DFPNotConfigured',\n 'You have attempted to retrieve a telemetry ID before the DFP client has been configured.',\n );\n }\n}\n\n/**\n * Thrown when a client attempts to start an OAuth flow but does not pass all required fields\n */\nexport class IDPOAuthFlowMissingParamError extends StytchSDKError {\n constructor(details: string) {\n super('IDPOAuthFlowMissingParamError', details);\n }\n}\n\nexport function errorToStytchError(error: any): StytchSDKError {\n if (error instanceof StytchSDKError) return error;\n\n switch (error.message) {\n case 'no_current_session':\n return new NoCurrentSessionError();\n case 'no_biometrics_registration':\n return new NoBiometricsRegistrationError();\n case 'biometrics_unavailable':\n return new BiometricsUnavailableError();\n case 'key_invalidated':\n return new KeyInvalidatedError();\n case 'device_hardware_error':\n return new BiometricsUnavailableError();\n case 'biometrics_not_available':\n return new BiometricsUnavailableError();\n case 'no_biometrics_enrolled':\n return new NoBiometricsEnrolledError();\n case 'keystore_unavailable':\n return new KeystoreUnavailableError();\n case 'no_biometric_key':\n return new KeyInvalidatedError();\n case 'device_credentials_not_allowed':\n return new DeviceCredentialsNotAllowedError();\n case 'user_cancellation':\n return new UserCancellationError();\n case 'user_locked_out':\n return new UserLockedOutError();\n case 'google_onetap_missing_id_token':\n return new MissingAuthorizationCredentialIDTokenError();\n case 'google_onetap_missing_member':\n return new InvalidAuthorizationCredentialError();\n case 'oauth_apple_missing_id_token':\n return new MissingAuthorizationCredentialIDTokenError();\n case 'oauth_apple_credential_invalid':\n return new InvalidAuthorizationCredentialError();\n case 'missing_public_key':\n return new MissingPublicKeyError();\n case 'challenge_signing_failed':\n return new ChallengeSigningFailedError();\n case 'missing_authorization_credential_id_token':\n return new MissingAuthorizationCredentialIDTokenError();\n case 'invalid_authorization_credential':\n return new InvalidAuthorizationCredentialError();\n case 'no_credentials_present':\n return new NoCredentialsPresentError();\n case 'sdk_not_configured':\n return new SDKNotConfiguredError();\n case 'failed_code_challenge':\n return new FailedCodeChallengeError();\n case 'passkeys_unsupported':\n return new PasskeysUnsupportedError();\n case 'failed_to_decrypt_data':\n return new FailedToDecryptDataError();\n case 'biometrics_failed':\n return new BiometricsFailedError();\n case 'invalid_start_url':\n return new InvalidStartUrlError();\n case 'invalid_redirect_scheme':\n return new InvalidRedirectSchemeError();\n case 'missing_url':\n return new MissingUrlError();\n case 'invalid_credential_type':\n return new InvalidCredentialTypeError();\n case 'missing_attestation_object':\n return new MissingAttestationObjectError();\n case 'json_data_not_convertible_to_string':\n return new JSONDataNotConvertibleToStringError();\n case 'random_number_generation_failed':\n return new RandomNumberGenerationFailed();\n case 'passkeys_invalid_encoding':\n return new PasskeysInvalidEncoding();\n case 'passkeys_misconfigured':\n return new PasskeysMisconfigured();\n case 'signinwithapple_misconfigured':\n return new SignInWithAppleMisconfigured();\n case 'missing_cipher_iv':\n return new MissingCipherIv();\n case 'invalid_private_key_length':\n return new InvalidPrivateKeyLength();\n case 'biometric_registration_id_is_null_or_blank':\n return new BiometricRegistrationIdIsNullOrBlank();\n case 'dfp_not_configured':\n return new DFPNotConfigured();\n default:\n return new InternalError(error);\n }\n}\n","import { StytchSDKUsageError } from '../public';\n\n/**\n * This function and its parameter is stripped in production builds using rollup plugin.\n * NOTE: Be careful when wrapping render function return values. React before v18 do not allow undefined\n * to be returned, so wrapping the entire return value will crash those runtimes.\n */\nexport const DEV = <T>(input: T): T | undefined => input;\n\n/**\n * This function is stripped in production builds using rollup plugin. Useful for adding\n * logging or validation in dev only\n */\nexport function RUN_IN_DEV(callback: () => void) {\n callback();\n}\n\nexport type ValidateRule =\n | 'object'\n | 'optionalObject'\n | 'string'\n | 'optionalString'\n | 'number'\n | 'optionalNumber'\n | 'stringArray'\n | 'optionalStringArray'\n | 'boolean'\n | 'optionalBoolean';\n\nexport const validateInDev = <T extends Record<string, unknown>>(\n methodName: string,\n obj: T,\n rules: Partial<Record<keyof T, ValidateRule>>,\n) => {\n const errors: StytchSDKUsageError[] = [];\n for (const [key, rule] of Object.entries(rules)) {\n if (rule == null) continue;\n\n const val = obj[key];\n if (rule.startsWith('optional') && val == null) continue;\n\n switch (rule) {\n case 'object':\n case 'optionalObject': {\n const isObject = typeof val === 'object' && !Array.isArray(val) && val !== null;\n if (!isObject) {\n errors.push(new StytchSDKUsageError(methodName, `${key} must be an object.`));\n }\n break;\n }\n\n case 'string':\n case 'optionalString':\n if (typeof val !== 'string') {\n errors.push(new StytchSDKUsageError(methodName, `${key} must be a string.`));\n }\n break;\n\n case 'number':\n case 'optionalNumber':\n if (typeof val !== 'number') {\n errors.push(new StytchSDKUsageError(methodName, `${key} must be a number.`));\n }\n break;\n\n case 'stringArray':\n case 'optionalStringArray':\n if (!Array.isArray(val) || !val.every((str) => typeof str === 'string')) {\n errors.push(new StytchSDKUsageError(methodName, `${key} must be an array of strings.`));\n }\n break;\n\n case 'boolean':\n case 'optionalBoolean':\n if (typeof val !== 'boolean') {\n errors.push(new StytchSDKUsageError(methodName, `${key} must be a boolean.`));\n }\n break;\n }\n }\n\n if (errors.length > 0) {\n if (errors.length === 1) {\n throw errors[0];\n } else {\n throw new AggregateError(errors);\n }\n }\n};\n"],"names":["SDKAPIUnreachableError","Error","details","message","name","Object","setPrototypeOf","prototype","StytchSDKUsageError","methodName","StytchSDKSchemaError","schemaError","messages","body","map","err","dataPath","join","StytchSDKAPIError","error_type","error_message","error_url","request_id","status_code","error_details","JSON","stringify","UNRECOVERABLE_ERROR_TYPES","StytchError","StytchAPIUnreachableError","StytchAPISchemaError","StytchAPIError","from","maybe","undefined","String","StytchSDKError","options","description","NoCurrentSessionError","InternalError","nativeStack","error","nativeStackAndroid","nativeStackIOS","NoBiometricsRegistrationError","BiometricsUnavailableError","KeyInvalidatedError","KeystoreUnavailableError","NoBiometricsEnrolledError","BiometricsAlreadyEnrolledError","UserCancellationError","UserLockedOutError","DeviceCredentialsNotAllowedError","MissingGoogleClientIDError","MissingPKCEError","MissingAuthorizationCredentialIDTokenError","InvalidAuthorizationCredentialError","NoCredentialsPresentError","MissingPublicKeyError","ChallengeSigningFailedError","SDKNotConfiguredError","FailedCodeChallengeError","PasskeysUnsupportedError","FailedToDecryptDataError","BiometricsFailedError","InvalidStartUrlError","InvalidRedirectSchemeError","MissingUrlError","InvalidCredentialTypeError","MissingAttestationObjectError","JSONDataNotConvertibleToStringError","RandomNumberGenerationFailed","PasskeysInvalidEncoding","PasskeysMisconfigured","SignInWithAppleMisconfigured","MissingCipherIv","InvalidPrivateKeyLength","BiometricRegistrationIdIsNullOrBlank","DFPNotConfigured","IDPOAuthFlowMissingParamError","errorToStytchError","DEV","input","RUN_IN_DEV","callback","validateInDev","obj","rules","errors","key","rule","entries","val","startsWith","isObject","Array","isArray","push","every","str","length","AggregateError"],"mappings":"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"}
@@ -354,45 +354,6 @@ class DFPProtectedAuthProvider {
354
354
  state;
355
355
  constructor(publicToken, dfpBackendURL, dfpCdnDomain, bootstrapPromise, executeRecaptcha = ()=>Promise.resolve(undefined)){
356
356
  this.bootstrapPromise = bootstrapPromise;
357
- this.isEnabled = async ()=>{
358
- return this.state.then((state)=>state.enabled);
359
- };
360
- this.getTelemetryID = async ()=>{
361
- const { publicToken, enabled, dfpBackendURL } = await this.state;
362
- if (!enabled) {
363
- return undefined;
364
- }
365
- return await window.GetTelemetryID(publicToken, `${dfpBackendURL}/submit`);
366
- };
367
- this.getDFPTelemetryIDAndCaptcha = async ()=>{
368
- const { enabled, executeRecaptcha, mode } = await this.state;
369
- let dfp_telemetry_id = undefined;
370
- let captcha_token = undefined;
371
- if (!enabled) {
372
- captcha_token = await executeRecaptcha();
373
- }
374
- if (mode === 'DECISIONING') {
375
- dfp_telemetry_id = await this.getTelemetryID();
376
- } else if (mode === 'OBSERVATION') {
377
- dfp_telemetry_id = await this.getTelemetryID();
378
- captcha_token = await executeRecaptcha();
379
- }
380
- return {
381
- dfp_telemetry_id,
382
- captcha_token
383
- };
384
- };
385
- this.retryWithCaptchaAndDFP = async (e, req)=>{
386
- const { enabled, executeRecaptcha } = await this.state;
387
- if (e.type === RetriableErrorType.RequiredCaptcha && enabled) {
388
- if (req.body) {
389
- req.body.dfp_telemetry_id = await this.getTelemetryID();
390
- req.body.captcha_token = await executeRecaptcha();
391
- }
392
- return req;
393
- }
394
- throw new Error('Unable to query captcha and/or dfp telemetry ID');
395
- };
396
357
  this.state = bootstrapPromise.then(async (bootstrapData)=>{
397
358
  if (!bootstrapData.runDFPProtectedAuth) {
398
359
  return {
@@ -414,10 +375,45 @@ class DFPProtectedAuthProvider {
414
375
  };
415
376
  });
416
377
  }
417
- isEnabled;
418
- getTelemetryID;
419
- getDFPTelemetryIDAndCaptcha;
420
- retryWithCaptchaAndDFP;
378
+ isEnabled = async ()=>{
379
+ return this.state.then((state)=>state.enabled);
380
+ };
381
+ getTelemetryID = async ()=>{
382
+ const { publicToken, enabled, dfpBackendURL } = await this.state;
383
+ if (!enabled) {
384
+ return undefined;
385
+ }
386
+ return await window.GetTelemetryID(publicToken, `${dfpBackendURL}/submit`);
387
+ };
388
+ getDFPTelemetryIDAndCaptcha = async ()=>{
389
+ const { enabled, executeRecaptcha, mode } = await this.state;
390
+ let dfp_telemetry_id = undefined;
391
+ let captcha_token = undefined;
392
+ if (!enabled) {
393
+ captcha_token = await executeRecaptcha();
394
+ }
395
+ if (mode === 'DECISIONING') {
396
+ dfp_telemetry_id = await this.getTelemetryID();
397
+ } else if (mode === 'OBSERVATION') {
398
+ dfp_telemetry_id = await this.getTelemetryID();
399
+ captcha_token = await executeRecaptcha();
400
+ }
401
+ return {
402
+ dfp_telemetry_id,
403
+ captcha_token
404
+ };
405
+ };
406
+ retryWithCaptchaAndDFP = async (e, req)=>{
407
+ const { enabled, executeRecaptcha } = await this.state;
408
+ if (e.type === RetriableErrorType.RequiredCaptcha && enabled) {
409
+ if (req.body) {
410
+ req.body.dfp_telemetry_id = await this.getTelemetryID();
411
+ req.body.captcha_token = await executeRecaptcha();
412
+ }
413
+ return req;
414
+ }
415
+ throw new Error('Unable to query captcha and/or dfp telemetry ID');
416
+ };
421
417
  }
422
418
  const DisabledDFPProtectedAuthProvider = ()=>({
423
419
  isEnabled: async ()=>false,
@@ -1547,7 +1543,7 @@ class SessionManager {
1547
1543
  static REFRESH_INTERVAL_MS = 1000 * 60 * 3;
1548
1544
  // When testing - it's often more useful to set to a shorter duration
1549
1545
  // private static REFRESH_INTERVAL_MS = 1000 * 3;
1550
- timeout;
1546
+ timeout = null;
1551
1547
  /** In minutes */ lastAuthenticationSessionDuration;
1552
1548
  static registry = new SessionManagerRegistry();
1553
1549
  register() {
@@ -1561,34 +1557,6 @@ class SessionManager {
1561
1557
  this._headlessSessionClient = _headlessSessionClient;
1562
1558
  this._publicToken = _publicToken;
1563
1559
  this._options = _options;
1564
- this.timeout = null;
1565
- this._onDataChange = (state)=>{
1566
- if (state != null && state.sessionDurationMinutes) {
1567
- this.lastAuthenticationSessionDuration = state.sessionDurationMinutes;
1568
- }
1569
- if (shouldTryRefresh(state)) {
1570
- this.scheduleBackgroundRefresh();
1571
- } else {
1572
- this.cancelBackgroundRefresh();
1573
- }
1574
- };
1575
- this._reauthenticateWithBackoff = async ()=>{
1576
- let count = 0;
1577
- while(true){
1578
- try {
1579
- const options = {
1580
- session_duration_minutes: this._options.keepSessionAlive ? this.lastAuthenticationSessionDuration : undefined
1581
- };
1582
- return await this._headlessSessionClient.authenticate(options);
1583
- } catch (err) {
1584
- if (SessionManager.isUnrecoverableError(err)) {
1585
- return Promise.reject(err);
1586
- }
1587
- count++;
1588
- await new Promise((done)=>setTimeout(done, SessionManager.timeoutForAttempt(count)));
1589
- }
1590
- }
1591
- };
1592
1560
  this._subscriptionService.subscribeToState(this._onDataChange);
1593
1561
  }
1594
1562
  /**
@@ -1625,12 +1593,37 @@ class SessionManager {
1625
1593
  * - If the user steps up their authentication via another .authenticate call(), we should restart the background worker
1626
1594
  * - If the user logs out, we should terminate the worker
1627
1595
  * - We should ignore session changes that we ourselves caused - so if we already have a timeout, leave it be!
1628
- */ _onDataChange;
1596
+ */ _onDataChange = (state)=>{
1597
+ if (state != null && state.sessionDurationMinutes) {
1598
+ this.lastAuthenticationSessionDuration = state.sessionDurationMinutes;
1599
+ }
1600
+ if (shouldTryRefresh(state)) {
1601
+ this.scheduleBackgroundRefresh();
1602
+ } else {
1603
+ this.cancelBackgroundRefresh();
1604
+ }
1605
+ };
1629
1606
  // In cases where we cannot get a satisfactory request:
1630
1607
  // - Stytch is hard-down
1631
1608
  // - The user's network is disconnected for an extended period of time
1632
1609
  // we will continue to retry every 4 minutes ad infinum
1633
- _reauthenticateWithBackoff;
1610
+ _reauthenticateWithBackoff = async ()=>{
1611
+ let count = 0;
1612
+ while(true){
1613
+ try {
1614
+ const options = {
1615
+ session_duration_minutes: this._options.keepSessionAlive ? this.lastAuthenticationSessionDuration : undefined
1616
+ };
1617
+ return await this._headlessSessionClient.authenticate(options);
1618
+ } catch (err) {
1619
+ if (SessionManager.isUnrecoverableError(err)) {
1620
+ return Promise.reject(err);
1621
+ }
1622
+ count++;
1623
+ await new Promise((done)=>setTimeout(done, SessionManager.timeoutForAttempt(count)));
1624
+ }
1625
+ }
1626
+ };
1634
1627
  // We start with a backoff of 2000ms and increase exponentially to ~4 minutes (+/- 175 ms for jitter)
1635
1628
  // A short backoff initially helps increase the chance that we refresh the session before the JWT expires
1636
1629
  static timeoutForAttempt(count) {
@@ -1651,13 +1644,12 @@ class StateChangeClient {
1651
1644
  constructor(_subscriptionService, emptyState){
1652
1645
  this._subscriptionService = _subscriptionService;
1653
1646
  this.emptyState = emptyState;
1654
- this.onStateChange = (callback)=>{
1655
- return this._subscriptionService.subscribeToState((state)=>{
1656
- callback(state ?? this.emptyState);
1657
- });
1658
- };
1659
1647
  }
1660
- onStateChange;
1648
+ onStateChange = (callback)=>{
1649
+ return this._subscriptionService.subscribeToState((state)=>{
1650
+ callback(state ?? this.emptyState);
1651
+ });
1652
+ };
1661
1653
  }
1662
1654
 
1663
1655
  const VERTICAL_B2B = 'B2B';
@@ -1756,16 +1748,6 @@ class CaptchaProvider {
1756
1748
  state;
1757
1749
  constructor(bootstrapPromise){
1758
1750
  this.bootstrapPromise = bootstrapPromise;
1759
- this.executeRecaptcha = async ()=>{
1760
- const { captchaClient, configured, siteKey } = await this.state;
1761
- if (!configured) {
1762
- return undefined;
1763
- }
1764
- await new Promise((resolve)=>captchaClient.ready(resolve));
1765
- return captchaClient.execute(siteKey, {
1766
- action: 'LOGIN'
1767
- });
1768
- };
1769
1751
  this.state = bootstrapPromise.then(async (bootstrapData)=>{
1770
1752
  if (!bootstrapData.captchaSettings.enabled) {
1771
1753
  return {
@@ -1779,7 +1761,16 @@ class CaptchaProvider {
1779
1761
  };
1780
1762
  });
1781
1763
  }
1782
- executeRecaptcha;
1764
+ executeRecaptcha = async ()=>{
1765
+ const { captchaClient, configured, siteKey } = await this.state;
1766
+ if (!configured) {
1767
+ return undefined;
1768
+ }
1769
+ await new Promise((resolve)=>captchaClient.ready(resolve));
1770
+ return captchaClient.execute(siteKey, {
1771
+ action: 'LOGIN'
1772
+ });
1773
+ };
1783
1774
  }
1784
1775
 
1785
1776
  class ClientsideServicesProvider {
@@ -1787,10 +1778,6 @@ class ClientsideServicesProvider {
1787
1778
  _frameClient;
1788
1779
  constructor(iframeURL){
1789
1780
  this.iframeURL = iframeURL;
1790
- this.oneTapStart = (req)=>this.call('oneTapStart', req);
1791
- this.oneTapSubmit = (req)=>this.call('oneTapSubmit', req);
1792
- this.parsedPhoneNumber = (req)=>this.call('parsedPhoneNumber', req);
1793
- this.getExamplePhoneNumber = (req)=>this.call('getExamplePhoneNumber', req);
1794
1781
  }
1795
1782
  /**
1796
1783
  * The frameClient is lazily initialized - we don't want to force users
@@ -1805,10 +1792,10 @@ class ClientsideServicesProvider {
1805
1792
  req
1806
1793
  ]);
1807
1794
  }
1808
- oneTapStart;
1809
- oneTapSubmit;
1810
- parsedPhoneNumber;
1811
- getExamplePhoneNumber;
1795
+ oneTapStart = (req)=>this.call('oneTapStart', req);
1796
+ oneTapSubmit = (req)=>this.call('oneTapSubmit', req);
1797
+ parsedPhoneNumber = (req)=>this.call('parsedPhoneNumber', req);
1798
+ getExamplePhoneNumber = (req)=>this.call('getExamplePhoneNumber', req);
1812
1799
  }
1813
1800
 
1814
1801
  var version = "0.0.0";
@@ -1823,10 +1810,6 @@ class NetworkClient {
1823
1810
  this._publicToken = _publicToken;
1824
1811
  this._subscriptionDataLayer = _subscriptionDataLayer;
1825
1812
  this.additionalTelemetryDataFn = additionalTelemetryDataFn;
1826
- this.// @deprecated Use the new sessions.updateSession() method instead
1827
- updateSessionToken = ()=>{
1828
- return null;
1829
- };
1830
1813
  this.baseURL = _liveAPIURL;
1831
1814
  if (isTestPublicToken(_publicToken)) {
1832
1815
  this.baseURL = _testAPIURL;
@@ -1837,7 +1820,10 @@ class NetworkClient {
1837
1820
  logEventURL: this.buildSDKUrl('/events')
1838
1821
  });
1839
1822
  }
1840
- updateSessionToken;
1823
+ // @deprecated Use the new sessions.updateSession() method instead
1824
+ updateSessionToken = ()=>{
1825
+ return null;
1826
+ };
1841
1827
  logEvent({ name, details, error = {} }) {
1842
1828
  this.eventLogger.logEvent(this.createTelemetryBlob(), {
1843
1829
  public_token: this._publicToken,
@@ -2058,18 +2044,6 @@ const loadGoogleOneTapClient = ()=>loadESModule(GOOGLE_ONE_TAP_SCRIPT_URL, ()=>w
2058
2044
  constructor(_publicToken, clientsideServices){
2059
2045
  this._publicToken = _publicToken;
2060
2046
  this.clientsideServices = clientsideServices;
2061
- this.createOnSuccessHandler = ({ loginRedirectUrl, signupRedirectUrl, onSuccess })=>async (response)=>{
2062
- const { credential } = response;
2063
- const { redirect_url } = await this.submitGoogleOneTapToken({
2064
- credential,
2065
- loginRedirectUrl,
2066
- signupRedirectUrl
2067
- });
2068
- onSuccess(redirect_url);
2069
- };
2070
- this.redirectOnSuccess = (redirect_url)=>{
2071
- window.location.href = redirect_url;
2072
- };
2073
2047
  }
2074
2048
  async createOneTapClient() {
2075
2049
  let googleClientId;
@@ -2094,7 +2068,15 @@ const loadGoogleOneTapClient = ()=>loadESModule(GOOGLE_ONE_TAP_SCRIPT_URL, ()=>w
2094
2068
  client
2095
2069
  };
2096
2070
  }
2097
- createOnSuccessHandler;
2071
+ createOnSuccessHandler = ({ loginRedirectUrl, signupRedirectUrl, onSuccess })=>async (response)=>{
2072
+ const { credential } = response;
2073
+ const { redirect_url } = await this.submitGoogleOneTapToken({
2074
+ credential,
2075
+ loginRedirectUrl,
2076
+ signupRedirectUrl
2077
+ });
2078
+ onSuccess(redirect_url);
2079
+ };
2098
2080
  fetchGoogleStart() {
2099
2081
  if (this.googleConfig) {
2100
2082
  return this.googleConfig;
@@ -2114,7 +2096,9 @@ const loadGoogleOneTapClient = ()=>loadESModule(GOOGLE_ONE_TAP_SCRIPT_URL, ()=>w
2114
2096
  signupRedirectURL: signupRedirectUrl
2115
2097
  });
2116
2098
  }
2117
- redirectOnSuccess;
2099
+ redirectOnSuccess = (redirect_url)=>{
2100
+ window.location.href = redirect_url;
2101
+ };
2118
2102
  /**
2119
2103
  * Google One Tap will show a banner on the bottom of the screen on certain mobile devices
2120
2104
  * This logic is controlled via some sniffing of the useragent string on startup
@@ -2605,18 +2589,10 @@ class BaseSubscriptionService {
2605
2589
  _datalayer;
2606
2590
  /**
2607
2591
  * Whether the state was retrieved from the cache and is awaiting a refresh
2608
- */ fromCache;
2592
+ */ fromCache = true;
2609
2593
  constructor(_publicToken, _datalayer, { usingCustomApiEndpoint }){
2610
2594
  this._publicToken = _publicToken;
2611
2595
  this._datalayer = _datalayer;
2612
- this.fromCache = true;
2613
- this._listen = (e)=>{
2614
- if (e.key !== StytchSSRProxy.getPersistentStorageKey(this._publicToken, '')) {
2615
- return;
2616
- }
2617
- const parsedValue = e.newValue === null || e.newValue === 'null' ? null : JSON.parse(e.newValue);
2618
- this.updateState(parsedValue, true);
2619
- };
2620
2596
  window.addEventListener('storage', this._listen);
2621
2597
  // If a custom API endpoint is being used, the session may be being managed
2622
2598
  // by HttpOnly cookies, which we can't detect.
@@ -2631,7 +2607,13 @@ class BaseSubscriptionService {
2631
2607
  }
2632
2608
  }
2633
2609
  // Listening for state changes across tabs
2634
- _listen;
2610
+ _listen = (e)=>{
2611
+ if (e.key !== StytchSSRProxy.getPersistentStorageKey(this._publicToken, '')) {
2612
+ return;
2613
+ }
2614
+ const parsedValue = e.newValue === null || e.newValue === 'null' ? null : JSON.parse(e.newValue);
2615
+ this.updateState(parsedValue, true);
2616
+ };
2635
2617
  getTokens() {
2636
2618
  const { session_token, session_jwt } = this._datalayer.readSessionCookie();
2637
2619
  if (!(typeof session_token === 'string') || !(typeof session_jwt === 'string')) {
@@ -3224,4 +3206,4 @@ exports.parseIDPParams = parseIDPParams;
3224
3206
  exports.parseOAuthAuthorizeParams = parseOAuthAuthorizeParams;
3225
3207
  exports.parseOAuthLogoutParams = parseOAuthLogoutParams;
3226
3208
  exports.removeResponseCommon = removeResponseCommon;
3227
- //# sourceMappingURL=idpHelpers-DOYYSxsX.js.map
3209
+ //# sourceMappingURL=idpHelpers-CVk39K69.js.map