@clerk/shared 3.31.1 → 3.31.2-canary.v20251107164741
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.
- package/dist/runtime/alternativePhoneCode.d.mts +1 -1
- package/dist/runtime/alternativePhoneCode.d.ts +1 -1
- package/dist/runtime/alternativePhoneCode.js.map +1 -1
- package/dist/runtime/alternativePhoneCode.mjs.map +1 -1
- package/dist/runtime/{apiUrlFromPublishableKey-DFxUPTKg.mjs → apiUrlFromPublishableKey-BrEJDXM6.mjs} +4 -4
- package/dist/runtime/apiUrlFromPublishableKey-BrEJDXM6.mjs.map +1 -0
- package/dist/runtime/{apiUrlFromPublishableKey-BK2JHLjb.d.ts → apiUrlFromPublishableKey-CEUyf_FP.d.ts} +3 -3
- package/dist/runtime/apiUrlFromPublishableKey-CEUyf_FP.d.ts.map +1 -0
- package/dist/runtime/{apiUrlFromPublishableKey-Bjv-2nJ1.js → apiUrlFromPublishableKey-CY46bNyR.js} +2 -2
- package/dist/runtime/apiUrlFromPublishableKey-CY46bNyR.js.map +1 -0
- package/dist/runtime/{apiUrlFromPublishableKey-Bn4sVlIN.d.mts → apiUrlFromPublishableKey-mDB2xBW0.d.mts} +3 -3
- package/dist/runtime/apiUrlFromPublishableKey-mDB2xBW0.d.mts.map +1 -0
- package/dist/runtime/apiUrlFromPublishableKey.d.mts +1 -1
- package/dist/runtime/apiUrlFromPublishableKey.d.ts +1 -1
- package/dist/runtime/apiUrlFromPublishableKey.js +2 -2
- package/dist/runtime/apiUrlFromPublishableKey.mjs +5 -5
- package/dist/runtime/authorization-CJB1hjGu.js.map +1 -1
- package/dist/runtime/{authorization-XX4mKaAz.mjs → authorization-DslZKDr7.mjs} +2 -2
- package/dist/runtime/authorization-DslZKDr7.mjs.map +1 -0
- package/dist/runtime/{authorization-errors-CS1pNy8i.mjs → authorization-errors-BmyMJ_xr.mjs} +2 -2
- package/dist/runtime/authorization-errors-BmyMJ_xr.mjs.map +1 -0
- package/dist/runtime/authorization-errors-dSnD6mpz.js.map +1 -1
- package/dist/runtime/authorization-errors.d.mts +1 -1
- package/dist/runtime/authorization-errors.d.mts.map +1 -1
- package/dist/runtime/authorization-errors.d.ts +1 -1
- package/dist/runtime/authorization-errors.d.ts.map +1 -1
- package/dist/runtime/authorization-errors.mjs +1 -1
- package/dist/runtime/authorization.d.mts +1 -1
- package/dist/runtime/authorization.d.mts.map +1 -1
- package/dist/runtime/authorization.d.ts +1 -1
- package/dist/runtime/authorization.d.ts.map +1 -1
- package/dist/runtime/authorization.mjs +1 -1
- package/dist/runtime/{browser-hvvxjQRr.mjs → browser-CSZli54M.mjs} +5 -7
- package/dist/runtime/browser-CSZli54M.mjs.map +1 -0
- package/dist/runtime/{browser-DJuTPwze.js → browser-Ch5Nzweq.js} +4 -6
- package/dist/runtime/browser-Ch5Nzweq.js.map +1 -0
- package/dist/runtime/{browser-CT1g0w-N.d.ts → browser-Dnks5mlF.d.ts} +2 -2
- package/dist/runtime/{browser-CT1g0w-N.d.ts.map → browser-Dnks5mlF.d.ts.map} +1 -1
- package/dist/runtime/{browser-BZxfK_h9.d.mts → browser-PBKCCO2m.d.mts} +2 -2
- package/dist/runtime/{browser-BZxfK_h9.d.mts.map → browser-PBKCCO2m.d.mts.map} +1 -1
- package/dist/runtime/browser.d.mts +1 -1
- package/dist/runtime/browser.d.ts +1 -1
- package/dist/runtime/browser.js +1 -1
- package/dist/runtime/browser.mjs +1 -1
- package/dist/runtime/buildAccountsBaseUrl.js +1 -2
- package/dist/runtime/buildAccountsBaseUrl.js.map +1 -1
- package/dist/runtime/buildAccountsBaseUrl.mjs +1 -2
- package/dist/runtime/buildAccountsBaseUrl.mjs.map +1 -1
- package/dist/runtime/clerkEventBus.d.mts +1 -1
- package/dist/runtime/clerkEventBus.d.ts +1 -1
- package/dist/runtime/clerkEventBus.js +1 -1
- package/dist/runtime/clerkEventBus.js.map +1 -1
- package/dist/runtime/clerkEventBus.mjs +1 -1
- package/dist/runtime/clerkEventBus.mjs.map +1 -1
- package/dist/runtime/{color-CUlAHjgk.js → color-BHugulfx.js} +5 -9
- package/dist/runtime/color-BHugulfx.js.map +1 -0
- package/dist/runtime/{color-BNvwghW-.d.mts → color-CBFFLnqz.d.mts} +3 -3
- package/dist/runtime/{color-BNvwghW-.d.mts.map → color-CBFFLnqz.d.mts.map} +1 -1
- package/dist/runtime/{color-BKHR7Z5r.mjs → color-D19NgqOS.mjs} +6 -10
- package/dist/runtime/color-D19NgqOS.mjs.map +1 -0
- package/dist/runtime/{color-CU2yOrXx.d.ts → color-DcLIZ46j.d.ts} +3 -3
- package/dist/runtime/color-DcLIZ46j.d.ts.map +1 -0
- package/dist/runtime/color.d.mts +2 -2
- package/dist/runtime/color.d.ts +2 -2
- package/dist/runtime/color.js +1 -1
- package/dist/runtime/color.mjs +1 -1
- package/dist/runtime/constants-B8tEdUlH.js.map +1 -1
- package/dist/runtime/{constants-DOglH9d9.d.mts → constants-BcofaOQm.d.mts} +2 -2
- package/dist/runtime/{constants-DOglH9d9.d.mts.map → constants-BcofaOQm.d.mts.map} +1 -1
- package/dist/runtime/{constants-ByUssRbE.mjs → constants-Bp0qtelQ.mjs} +2 -2
- package/dist/runtime/constants-Bp0qtelQ.mjs.map +1 -0
- package/dist/runtime/{constants-DP5-fAPw.d.ts → constants-Do5-U5wF.d.ts} +2 -2
- package/dist/runtime/{constants-DP5-fAPw.d.ts.map → constants-Do5-U5wF.d.ts.map} +1 -1
- package/dist/runtime/constants.d.mts +1 -1
- package/dist/runtime/constants.d.ts +1 -1
- package/dist/runtime/constants.mjs +1 -1
- package/dist/runtime/cookie.js +2 -1
- package/dist/runtime/cookie.js.map +1 -1
- package/dist/runtime/cookie.mjs.map +1 -1
- package/dist/runtime/{createDeferredPromise-UKTFg5ib.mjs → createDeferredPromise-Bgc5FoG6.mjs} +7 -8
- package/dist/runtime/{createDeferredPromise-UKTFg5ib.mjs.map → createDeferredPromise-Bgc5FoG6.mjs.map} +1 -1
- package/dist/runtime/{createDeferredPromise-qVNWqG9g.js → createDeferredPromise-BgvUcqYv.js} +5 -6
- package/dist/runtime/{createDeferredPromise-qVNWqG9g.js.map → createDeferredPromise-BgvUcqYv.js.map} +1 -1
- package/dist/runtime/{date-C3XsmxKq.js → date-DNGgJHFN.js} +4 -5
- package/dist/runtime/date-DNGgJHFN.js.map +1 -0
- package/dist/runtime/{date-B6mK5i-_.mjs → date-DSP_ZkyV.mjs} +5 -6
- package/dist/runtime/date-DSP_ZkyV.mjs.map +1 -0
- package/dist/runtime/{date-zJX4Bh-h.d.mts → date-DXASI50t.d.mts} +2 -2
- package/dist/runtime/{date-zJX4Bh-h.d.mts.map → date-DXASI50t.d.mts.map} +1 -1
- package/dist/runtime/{date-DDNRUU0r.d.ts → date-DwskwSsr.d.ts} +2 -2
- package/dist/runtime/{date-DDNRUU0r.d.ts.map → date-DwskwSsr.d.ts.map} +1 -1
- package/dist/runtime/date.d.mts +1 -1
- package/dist/runtime/date.d.ts +1 -1
- package/dist/runtime/date.js +1 -1
- package/dist/runtime/date.mjs +1 -1
- package/dist/runtime/{deprecated-CFM4jPRM.mjs → deprecated-5YowWRtd.mjs} +4 -4
- package/dist/runtime/deprecated-5YowWRtd.mjs.map +1 -0
- package/dist/runtime/{deprecated-DXforbxJ.js → deprecated-B-fX5ZX6.js} +2 -2
- package/dist/runtime/deprecated-B-fX5ZX6.js.map +1 -0
- package/dist/runtime/{deprecated-BnVl0yxv.d.ts → deprecated-Cu0VCYMa.d.ts} +2 -2
- package/dist/runtime/{deprecated-BnVl0yxv.d.ts.map → deprecated-Cu0VCYMa.d.ts.map} +1 -1
- package/dist/runtime/{deprecated-RhqbBb4P.d.mts → deprecated-Do4C0Ve_.d.mts} +2 -2
- package/dist/runtime/{deprecated-RhqbBb4P.d.mts.map → deprecated-Do4C0Ve_.d.mts.map} +1 -1
- package/dist/runtime/deprecated.d.mts +1 -1
- package/dist/runtime/deprecated.d.ts +1 -1
- package/dist/runtime/deprecated.js +1 -1
- package/dist/runtime/deprecated.mjs +2 -2
- package/dist/runtime/{deriveState-BwW5Y_o5.mjs → deriveState-B0JG4g-j.mjs} +11 -20
- package/dist/runtime/deriveState-B0JG4g-j.mjs.map +1 -0
- package/dist/runtime/{deriveState-Dmgui85U.js → deriveState-Bsd1S6r4.js} +10 -19
- package/dist/runtime/deriveState-Bsd1S6r4.js.map +1 -0
- package/dist/runtime/{deriveState-CYx-lCdu.d.mts → deriveState-ClPDdiPx.d.ts} +3 -3
- package/dist/runtime/{deriveState-niRZ96_b.d.ts.map → deriveState-ClPDdiPx.d.ts.map} +1 -1
- package/dist/runtime/{deriveState-niRZ96_b.d.ts → deriveState-aExmDt28.d.mts} +3 -3
- package/dist/runtime/{deriveState-CYx-lCdu.d.mts.map → deriveState-aExmDt28.d.mts.map} +1 -1
- package/dist/runtime/deriveState.d.mts +2 -2
- package/dist/runtime/deriveState.d.ts +2 -2
- package/dist/runtime/deriveState.js +1 -1
- package/dist/runtime/deriveState.mjs +1 -1
- package/dist/runtime/{devBrowser-BaOZgb06.d.mts → devBrowser-CZKhXv5v.d.mts} +2 -2
- package/dist/runtime/{devBrowser-BaOZgb06.d.mts.map → devBrowser-CZKhXv5v.d.mts.map} +1 -1
- package/dist/runtime/{devBrowser-tYnimKYY.mjs → devBrowser-CZTqhFrD.mjs} +3 -4
- package/dist/runtime/devBrowser-CZTqhFrD.mjs.map +1 -0
- package/dist/runtime/{devBrowser-ezvLE7uo.d.ts → devBrowser-CmraQpMt.d.ts} +2 -2
- package/dist/runtime/{devBrowser-ezvLE7uo.d.ts.map → devBrowser-CmraQpMt.d.ts.map} +1 -1
- package/dist/runtime/{devBrowser-DwTLFX_-.js → devBrowser-DGSLF_56.js} +2 -3
- package/dist/runtime/devBrowser-DGSLF_56.js.map +1 -0
- package/dist/runtime/devBrowser.d.mts +1 -1
- package/dist/runtime/devBrowser.d.ts +1 -1
- package/dist/runtime/devBrowser.js +1 -1
- package/dist/runtime/devBrowser.mjs +1 -1
- package/dist/runtime/dom/index.d.mts +1 -1
- package/dist/runtime/dom/index.d.ts +1 -1
- package/dist/runtime/dom/index.mjs +1 -1
- package/dist/runtime/dom/waitForElement.d.mts +1 -1
- package/dist/runtime/dom/waitForElement.d.ts +1 -1
- package/dist/runtime/dom/waitForElement.mjs +1 -1
- package/dist/runtime/{error-NFHSiOIP.d.ts → error-BpnsVD6M.d.ts} +12 -12
- package/dist/runtime/error-BpnsVD6M.d.ts.map +1 -0
- package/dist/runtime/{error-2EVDpisQ.d.mts → error-DaoaRLex.d.mts} +12 -12
- package/dist/runtime/error-DaoaRLex.d.mts.map +1 -0
- package/dist/runtime/{error-B8rjBHwB.js → error-DmyHwAOc.js} +4 -11
- package/dist/runtime/error-DmyHwAOc.js.map +1 -0
- package/dist/runtime/{error-B2RA62bv.mjs → error-Dy2SiVmF.mjs} +5 -12
- package/dist/runtime/error-Dy2SiVmF.mjs.map +1 -0
- package/dist/runtime/error.d.mts +2 -2
- package/dist/runtime/error.d.ts +2 -2
- package/dist/runtime/error.js +1 -1
- package/dist/runtime/error.mjs +1 -1
- package/dist/runtime/{eventBus-BcGgxxPn.mjs → eventBus-CvrvDGDL.mjs} +5 -5
- package/dist/runtime/{eventBus-BcGgxxPn.mjs.map → eventBus-CvrvDGDL.mjs.map} +1 -1
- package/dist/runtime/{eventBus-Br28g2jP.js → eventBus-DwIqUhlf.js} +4 -4
- package/dist/runtime/{eventBus-Br28g2jP.js.map → eventBus-DwIqUhlf.js.map} +1 -1
- package/dist/runtime/eventBus.d.mts.map +1 -1
- package/dist/runtime/eventBus.d.ts.map +1 -1
- package/dist/runtime/eventBus.js +1 -1
- package/dist/runtime/eventBus.mjs +1 -1
- package/dist/runtime/{file-C0BFy6W1.mjs → file-BN-3wQc7.mjs} +3 -4
- package/dist/runtime/file-BN-3wQc7.mjs.map +1 -0
- package/dist/runtime/{file-REpQjIf5.d.mts → file-CL_6tFT0.d.mts} +2 -2
- package/dist/runtime/{file-REpQjIf5.d.mts.map → file-CL_6tFT0.d.mts.map} +1 -1
- package/dist/runtime/{file-COwNkc7n.js → file-CLbjMOtb.js} +2 -3
- package/dist/runtime/file-CLbjMOtb.js.map +1 -0
- package/dist/runtime/{file-B_f0oD8h.d.ts → file-DdqXckd-.d.ts} +2 -2
- package/dist/runtime/{file-B_f0oD8h.d.ts.map → file-DdqXckd-.d.ts.map} +1 -1
- package/dist/runtime/file.d.mts +1 -1
- package/dist/runtime/file.d.ts +1 -1
- package/dist/runtime/file.js +1 -1
- package/dist/runtime/file.mjs +1 -1
- package/dist/runtime/{getEnvVariable-DSWxcBzg.d.mts → getEnvVariable-5D5Bn9Xr.d.mts} +2 -2
- package/dist/runtime/getEnvVariable-5D5Bn9Xr.d.mts.map +1 -0
- package/dist/runtime/{getEnvVariable-CWQ3x95R.js → getEnvVariable-BBmyrE42.js} +2 -1
- package/dist/runtime/getEnvVariable-BBmyrE42.js.map +1 -0
- package/dist/runtime/{getEnvVariable-BSXrgsT3.mjs → getEnvVariable-CGauWqhQ.mjs} +2 -2
- package/dist/runtime/getEnvVariable-CGauWqhQ.mjs.map +1 -0
- package/dist/runtime/{getEnvVariable-BcT_PqmA.d.ts → getEnvVariable-hWcrOrGN.d.ts} +2 -2
- package/dist/runtime/getEnvVariable-hWcrOrGN.d.ts.map +1 -0
- package/dist/runtime/getEnvVariable.d.mts +1 -1
- package/dist/runtime/getEnvVariable.d.ts +1 -1
- package/dist/runtime/getEnvVariable.js +1 -1
- package/dist/runtime/getEnvVariable.mjs +1 -1
- package/dist/runtime/globs.d.mts.map +1 -1
- package/dist/runtime/globs.d.ts.map +1 -1
- package/dist/runtime/globs.js +2 -1
- package/dist/runtime/globs.js.map +1 -1
- package/dist/runtime/globs.mjs.map +1 -1
- package/dist/runtime/{handleValueOrFn-C3bdLKGZ.mjs → handleValueOrFn-BNKfPZXV.mjs} +2 -3
- package/dist/runtime/handleValueOrFn-BNKfPZXV.mjs.map +1 -0
- package/dist/runtime/{handleValueOrFn--vEw4xcO.js → handleValueOrFn-KR1byaCL.js} +1 -2
- package/dist/runtime/handleValueOrFn-KR1byaCL.js.map +1 -0
- package/dist/runtime/{handleValueOrFn-DDzNVpWF.d.mts → handleValueOrFn-miIP9HYO.d.mts} +2 -2
- package/dist/runtime/{handleValueOrFn-DDzNVpWF.d.mts.map → handleValueOrFn-miIP9HYO.d.mts.map} +1 -1
- package/dist/runtime/{handleValueOrFn-BpIDq7Ek.d.ts → handleValueOrFn-xtFks4pT.d.ts} +2 -2
- package/dist/runtime/{handleValueOrFn-BpIDq7Ek.d.ts.map → handleValueOrFn-xtFks4pT.d.ts.map} +1 -1
- package/dist/runtime/handleValueOrFn.d.mts +3 -3
- package/dist/runtime/handleValueOrFn.d.mts.map +1 -1
- package/dist/runtime/handleValueOrFn.d.ts +3 -3
- package/dist/runtime/handleValueOrFn.d.ts.map +1 -1
- package/dist/runtime/handleValueOrFn.js +3 -3
- package/dist/runtime/handleValueOrFn.js.map +1 -1
- package/dist/runtime/handleValueOrFn.mjs +3 -3
- package/dist/runtime/handleValueOrFn.mjs.map +1 -1
- package/dist/runtime/{index-Cq2zCNhv.d.mts → index-BWZyc9Ij.d.mts} +2 -2
- package/dist/runtime/{index-Cq2zCNhv.d.mts.map → index-BWZyc9Ij.d.mts.map} +1 -1
- package/dist/runtime/{index-OCkMWBUr.d.mts → index-BmFYQinq.d.mts} +39 -5
- package/dist/runtime/index-BmFYQinq.d.mts.map +1 -0
- package/dist/runtime/{index-z_SguuaJ.d.ts → index-CZ2uCmT-.d.ts} +2 -2
- package/dist/runtime/{index-z_SguuaJ.d.ts.map → index-CZ2uCmT-.d.ts.map} +1 -1
- package/dist/runtime/{index-jRkVeeXT.d.ts → index-DEeSkCwV.d.ts} +39 -5
- package/dist/runtime/index-DEeSkCwV.d.ts.map +1 -0
- package/dist/runtime/{index-Cc1Hn1M-.d.mts → index-DPR1fUWZ.d.mts} +2 -2
- package/dist/runtime/{index-Cc1Hn1M-.d.mts.map → index-DPR1fUWZ.d.mts.map} +1 -1
- package/dist/runtime/{index-DcfXAwQx.d.ts → index-hbtcP5V-.d.ts} +2 -2
- package/dist/runtime/{index-DcfXAwQx.d.ts.map → index-hbtcP5V-.d.ts.map} +1 -1
- package/dist/runtime/index.d.mts +30 -30
- package/dist/runtime/index.d.ts +30 -30
- package/dist/runtime/index.js +24 -24
- package/dist/runtime/index.mjs +35 -35
- package/dist/runtime/{instance-DOysmj3a.mjs → instance-B9sghgF1.mjs} +2 -2
- package/dist/runtime/instance-B9sghgF1.mjs.map +1 -0
- package/dist/runtime/instance-CDcvbQik.js.map +1 -1
- package/dist/runtime/{isomorphicAtob-DybBXGFR.mjs → isomorphicAtob-CYR5fxvZ.mjs} +2 -2
- package/dist/runtime/isomorphicAtob-CYR5fxvZ.mjs.map +1 -0
- package/dist/runtime/isomorphicAtob-Chnw1Md3.js.map +1 -1
- package/dist/runtime/{isomorphicAtob-CjUFU8Gx.d.mts → isomorphicAtob-Dc_r7YK5.d.mts} +2 -2
- package/dist/runtime/isomorphicAtob-Dc_r7YK5.d.mts.map +1 -0
- package/dist/runtime/{isomorphicAtob-D61jyCi3.d.ts → isomorphicAtob-JRA09t0F.d.ts} +2 -2
- package/dist/runtime/isomorphicAtob-JRA09t0F.d.ts.map +1 -0
- package/dist/runtime/isomorphicAtob.d.mts +1 -1
- package/dist/runtime/isomorphicAtob.d.ts +1 -1
- package/dist/runtime/isomorphicAtob.mjs +1 -1
- package/dist/runtime/{isomorphicBtoa-DZZ0MKdz.d.ts → isomorphicBtoa-B_bxXEIA.d.ts} +2 -2
- package/dist/runtime/isomorphicBtoa-B_bxXEIA.d.ts.map +1 -0
- package/dist/runtime/{isomorphicBtoa-Dr7WubZv.mjs → isomorphicBtoa-Db71q4D6.mjs} +2 -2
- package/dist/runtime/isomorphicBtoa-Db71q4D6.mjs.map +1 -0
- package/dist/runtime/{isomorphicBtoa-CrWZNFLW.d.mts → isomorphicBtoa-ZCyCjGVs.d.mts} +2 -2
- package/dist/runtime/isomorphicBtoa-ZCyCjGVs.d.mts.map +1 -0
- package/dist/runtime/isomorphicBtoa-oWNvIgSP.js.map +1 -1
- package/dist/runtime/isomorphicBtoa.d.mts +1 -1
- package/dist/runtime/isomorphicBtoa.d.ts +1 -1
- package/dist/runtime/isomorphicBtoa.mjs +1 -1
- package/dist/runtime/jwtPayloadParser.d.mts +1 -1
- package/dist/runtime/jwtPayloadParser.d.ts +1 -1
- package/dist/runtime/jwtPayloadParser.js +2 -4
- package/dist/runtime/jwtPayloadParser.js.map +1 -1
- package/dist/runtime/jwtPayloadParser.mjs +3 -5
- package/dist/runtime/jwtPayloadParser.mjs.map +1 -1
- package/dist/runtime/{keys-Dcilj3cS.mjs → keys-BGyzAyGu.mjs} +10 -15
- package/dist/runtime/keys-BGyzAyGu.mjs.map +1 -0
- package/dist/runtime/{keys-BCZ_Hpt_.d.ts → keys-B_p9PlXv.d.ts} +3 -3
- package/dist/runtime/{keys-BCZ_Hpt_.d.ts.map → keys-B_p9PlXv.d.ts.map} +1 -1
- package/dist/runtime/{keys-QzXNrhgU.d.mts → keys-Cx4uH9Pe.d.mts} +3 -3
- package/dist/runtime/{keys-QzXNrhgU.d.mts.map → keys-Cx4uH9Pe.d.mts.map} +1 -1
- package/dist/runtime/{keys-CHdYWeEj.js → keys-wr08qE7Y.js} +6 -11
- package/dist/runtime/keys-wr08qE7Y.js.map +1 -0
- package/dist/runtime/keys.d.mts +2 -2
- package/dist/runtime/keys.d.ts +2 -2
- package/dist/runtime/keys.js +1 -1
- package/dist/runtime/keys.mjs +4 -4
- package/dist/runtime/{loadClerkJsScript-BAVQO8ds.d.mts → loadClerkJsScript-6VWZvBIn.d.mts} +3 -3
- package/dist/runtime/loadClerkJsScript-6VWZvBIn.d.mts.map +1 -0
- package/dist/runtime/{loadClerkJsScript-ZPKpwAcP.mjs → loadClerkJsScript-CIpK2R3v.mjs} +9 -10
- package/dist/runtime/loadClerkJsScript-CIpK2R3v.mjs.map +1 -0
- package/dist/runtime/{loadClerkJsScript-CfW0DlXQ.js → loadClerkJsScript-Cij1wT_2.js} +7 -8
- package/dist/runtime/loadClerkJsScript-Cij1wT_2.js.map +1 -0
- package/dist/runtime/{loadClerkJsScript-DH2j0rtf.d.ts → loadClerkJsScript-DqdDbLL6.d.ts} +3 -3
- package/dist/runtime/loadClerkJsScript-DqdDbLL6.d.ts.map +1 -0
- package/dist/runtime/loadClerkJsScript.d.mts +2 -2
- package/dist/runtime/loadClerkJsScript.d.ts +2 -2
- package/dist/runtime/loadClerkJsScript.js +6 -6
- package/dist/runtime/loadClerkJsScript.mjs +12 -12
- package/dist/runtime/{loadScript-Bll0Ohcb.mjs → loadScript-CWAtpo-p.mjs} +4 -4
- package/dist/runtime/loadScript-CWAtpo-p.mjs.map +1 -0
- package/dist/runtime/{loadScript-BPX0RAWu.d.ts → loadScript-Cto6wpZS.d.ts} +2 -2
- package/dist/runtime/{loadScript-BPX0RAWu.d.ts.map → loadScript-Cto6wpZS.d.ts.map} +1 -1
- package/dist/runtime/{loadScript-CRbXHvGF.js → loadScript-D8zceEj8.js} +2 -2
- package/dist/runtime/loadScript-D8zceEj8.js.map +1 -0
- package/dist/runtime/{loadScript-pn9tVsQH.d.mts → loadScript-rqBGOE2l.d.mts} +2 -2
- package/dist/runtime/{loadScript-pn9tVsQH.d.mts.map → loadScript-rqBGOE2l.d.mts.map} +1 -1
- package/dist/runtime/loadScript.d.mts +1 -1
- package/dist/runtime/loadScript.d.ts +1 -1
- package/dist/runtime/loadScript.js +1 -1
- package/dist/runtime/loadScript.mjs +2 -2
- package/dist/runtime/{localStorageBroadcastChannel-BSisnDfR.d.ts → localStorageBroadcastChannel-3y9Jbk0V.d.ts} +2 -2
- package/dist/runtime/{localStorageBroadcastChannel-BSisnDfR.d.ts.map → localStorageBroadcastChannel-3y9Jbk0V.d.ts.map} +1 -1
- package/dist/runtime/{localStorageBroadcastChannel-BSJY81in.js → localStorageBroadcastChannel-Bgbc3aUe.js} +2 -2
- package/dist/runtime/localStorageBroadcastChannel-Bgbc3aUe.js.map +1 -0
- package/dist/runtime/{localStorageBroadcastChannel-sPutPiqo.mjs → localStorageBroadcastChannel-DoowNgS3.mjs} +3 -3
- package/dist/runtime/localStorageBroadcastChannel-DoowNgS3.mjs.map +1 -0
- package/dist/runtime/{localStorageBroadcastChannel-6RgxS6Gn.d.mts → localStorageBroadcastChannel-v7zxR26a.d.mts} +2 -2
- package/dist/runtime/{localStorageBroadcastChannel-6RgxS6Gn.d.mts.map → localStorageBroadcastChannel-v7zxR26a.d.mts.map} +1 -1
- package/dist/runtime/localStorageBroadcastChannel.d.mts +1 -1
- package/dist/runtime/localStorageBroadcastChannel.d.ts +1 -1
- package/dist/runtime/localStorageBroadcastChannel.js +2 -2
- package/dist/runtime/localStorageBroadcastChannel.mjs +3 -3
- package/dist/runtime/{logger-Dt3NshH5.d.mts → logger-Dug9WfZ-.d.mts} +2 -2
- package/dist/runtime/logger-Dug9WfZ-.d.mts.map +1 -0
- package/dist/runtime/{logger-CcFDMizk.js → logger-Dv_S1aDO.js} +2 -2
- package/dist/runtime/logger-Dv_S1aDO.js.map +1 -0
- package/dist/runtime/{logger-DmtxRp_g.mjs → logger-SMMEBPOB.mjs} +3 -3
- package/dist/runtime/logger-SMMEBPOB.mjs.map +1 -0
- package/dist/runtime/{logger-CWWjPZMR.d.ts → logger-i7rYANU9.d.ts} +2 -2
- package/dist/runtime/logger-i7rYANU9.d.ts.map +1 -0
- package/dist/runtime/logger.d.mts +1 -1
- package/dist/runtime/logger.d.ts +1 -1
- package/dist/runtime/logger.js +1 -1
- package/dist/runtime/logger.mjs +1 -1
- package/dist/runtime/{netlifyCacheHandler-Fbxnlay6.mjs → netlifyCacheHandler-BTbE45Yv.mjs} +4 -5
- package/dist/runtime/{netlifyCacheHandler-Fbxnlay6.mjs.map → netlifyCacheHandler-BTbE45Yv.mjs.map} +1 -1
- package/dist/runtime/{netlifyCacheHandler-Di70sUEE.d.ts → netlifyCacheHandler-BvN9315t.d.ts} +2 -2
- package/dist/runtime/netlifyCacheHandler-BvN9315t.d.ts.map +1 -0
- package/dist/runtime/{netlifyCacheHandler-D1MSkiyk.js → netlifyCacheHandler-CGV6jGfB.js} +3 -4
- package/dist/runtime/netlifyCacheHandler-CGV6jGfB.js.map +1 -0
- package/dist/runtime/{netlifyCacheHandler-CGIrch8G.d.mts → netlifyCacheHandler-DibubjcU.d.mts} +2 -2
- package/dist/runtime/netlifyCacheHandler-DibubjcU.d.mts.map +1 -0
- package/dist/runtime/netlifyCacheHandler.d.mts +1 -1
- package/dist/runtime/netlifyCacheHandler.d.ts +1 -1
- package/dist/runtime/netlifyCacheHandler.js +2 -2
- package/dist/runtime/netlifyCacheHandler.mjs +5 -5
- package/dist/runtime/noop-Bi5xtB31.js.map +1 -1
- package/dist/runtime/{noop-8bk75rVj.mjs → noop-D4EW5c4i.mjs} +2 -2
- package/dist/runtime/{noop-8bk75rVj.mjs.map → noop-D4EW5c4i.mjs.map} +1 -1
- package/dist/runtime/oauth.d.mts +1 -1
- package/dist/runtime/oauth.d.ts +1 -1
- package/dist/runtime/oauth.js.map +1 -1
- package/dist/runtime/oauth.mjs.map +1 -1
- package/dist/runtime/{object-Be3MMNTQ.mjs → object-BS_KT1Ih.mjs} +2 -2
- package/dist/runtime/object-BS_KT1Ih.mjs.map +1 -0
- package/dist/runtime/{object-5d8ACLdH.d.ts → object-ClRncbvo.d.ts} +2 -2
- package/dist/runtime/{object-5d8ACLdH.d.ts.map → object-ClRncbvo.d.ts.map} +1 -1
- package/dist/runtime/{object-rOX3tIZ7.d.mts → object-DA_yEJmv.d.mts} +2 -2
- package/dist/runtime/{object-rOX3tIZ7.d.mts.map → object-DA_yEJmv.d.mts.map} +1 -1
- package/dist/runtime/object-DrKQtwRq.js.map +1 -1
- package/dist/runtime/object.d.mts +1 -1
- package/dist/runtime/object.d.ts +1 -1
- package/dist/runtime/object.mjs +1 -1
- package/dist/runtime/{organization-D9SEGukq.mjs → organization-CLYKtC4A.mjs} +2 -2
- package/dist/runtime/organization-CLYKtC4A.mjs.map +1 -0
- package/dist/runtime/organization-CdNRqdLj.js.map +1 -1
- package/dist/runtime/organization.d.mts +1 -1
- package/dist/runtime/organization.d.ts +1 -1
- package/dist/runtime/organization.mjs +1 -1
- package/dist/runtime/{pathMatcher-5_zM4h7v.d.mts → pathMatcher-BD3w5DnH.d.ts} +3 -3
- package/dist/runtime/{pathMatcher-BWcuDAAh.d.ts.map → pathMatcher-BD3w5DnH.d.ts.map} +1 -1
- package/dist/runtime/{pathMatcher-BWcuDAAh.d.ts → pathMatcher-CFlN630V.d.mts} +3 -3
- package/dist/runtime/{pathMatcher-5_zM4h7v.d.mts.map → pathMatcher-CFlN630V.d.mts.map} +1 -1
- package/dist/runtime/{pathMatcher-CD_CcUjS.mjs → pathMatcher-COQW187f.mjs} +4 -5
- package/dist/runtime/pathMatcher-COQW187f.mjs.map +1 -0
- package/dist/runtime/{pathMatcher-BhJ0wlUt.js → pathMatcher-Co1RhryO.js} +3 -4
- package/dist/runtime/pathMatcher-Co1RhryO.js.map +1 -0
- package/dist/runtime/pathMatcher.d.mts +2 -2
- package/dist/runtime/pathMatcher.d.ts +2 -2
- package/dist/runtime/pathMatcher.js +2 -2
- package/dist/runtime/pathMatcher.mjs +2 -2
- package/dist/runtime/{pathToRegexp-DqVOlvi0.js → pathToRegexp-DNM_UlMK.js} +4 -5
- package/dist/runtime/pathToRegexp-DNM_UlMK.js.map +1 -0
- package/dist/runtime/{pathToRegexp-cujoshIK.mjs → pathToRegexp-EuYtsd3y.mjs} +5 -6
- package/dist/runtime/pathToRegexp-EuYtsd3y.mjs.map +1 -0
- package/dist/runtime/pathToRegexp.d.mts.map +1 -1
- package/dist/runtime/pathToRegexp.d.ts.map +1 -1
- package/dist/runtime/pathToRegexp.js +1 -1
- package/dist/runtime/pathToRegexp.mjs +1 -1
- package/dist/runtime/{poller-Cn-a74Uo.d.mts → poller-BB3eTe-Z.d.mts} +2 -2
- package/dist/runtime/{poller-Cn-a74Uo.d.mts.map → poller-BB3eTe-Z.d.mts.map} +1 -1
- package/dist/runtime/{poller-QBwri4RY.js → poller-CVTUNwuX.js} +2 -2
- package/dist/runtime/poller-CVTUNwuX.js.map +1 -0
- package/dist/runtime/{poller-Co9NmMWr.mjs → poller-DjvU24N5.mjs} +3 -3
- package/dist/runtime/{poller-Co9NmMWr.mjs.map → poller-DjvU24N5.mjs.map} +1 -1
- package/dist/runtime/{poller-CIrx6NwR.d.ts → poller-x9-KSCex.d.ts} +2 -2
- package/dist/runtime/{poller-CIrx6NwR.d.ts.map → poller-x9-KSCex.d.ts.map} +1 -1
- package/dist/runtime/poller.d.mts +1 -1
- package/dist/runtime/poller.d.ts +1 -1
- package/dist/runtime/poller.js +2 -2
- package/dist/runtime/poller.mjs +3 -3
- package/dist/runtime/proxy-B_Yui2Mf.js.map +1 -1
- package/dist/runtime/{proxy-qCuO73U4.d.mts → proxy-Cc2RAGJI.d.mts} +2 -2
- package/dist/runtime/{proxy-qCuO73U4.d.mts.map → proxy-Cc2RAGJI.d.mts.map} +1 -1
- package/dist/runtime/{proxy-QCdxwhZi.d.ts → proxy-Cvn8UjHB.d.ts} +2 -2
- package/dist/runtime/{proxy-QCdxwhZi.d.ts.map → proxy-Cvn8UjHB.d.ts.map} +1 -1
- package/dist/runtime/{proxy-Bq8EHApG.mjs → proxy-Cw3rAt0M.mjs} +2 -2
- package/dist/runtime/proxy-Cw3rAt0M.mjs.map +1 -0
- package/dist/runtime/proxy.d.mts +1 -1
- package/dist/runtime/proxy.d.ts +1 -1
- package/dist/runtime/proxy.mjs +1 -1
- package/dist/runtime/react/index.d.mts +30 -30
- package/dist/runtime/react/index.d.mts.map +1 -1
- package/dist/runtime/react/index.d.ts +30 -30
- package/dist/runtime/react/index.d.ts.map +1 -1
- package/dist/runtime/react/index.js +91 -144
- package/dist/runtime/react/index.js.map +1 -1
- package/dist/runtime/react/index.mjs +90 -147
- package/dist/runtime/react/index.mjs.map +1 -1
- package/dist/runtime/{retry-DAlTROH9.mjs → retry-D-2K5OKd.mjs} +2 -2
- package/dist/runtime/retry-D-2K5OKd.mjs.map +1 -0
- package/dist/runtime/retry-rhkPbMCS.js.map +1 -1
- package/dist/runtime/retry.mjs +1 -1
- package/dist/runtime/router.d.mts +1 -1
- package/dist/runtime/router.d.mts.map +1 -1
- package/dist/runtime/router.d.ts +1 -1
- package/dist/runtime/router.d.ts.map +1 -1
- package/dist/runtime/router.js +8 -9
- package/dist/runtime/router.js.map +1 -1
- package/dist/runtime/router.mjs +8 -10
- package/dist/runtime/router.mjs.map +1 -1
- package/dist/runtime/{runtimeEnvironment-aTp6aZUT.mjs → runtimeEnvironment-CIK_mM28.mjs} +2 -2
- package/dist/runtime/{runtimeEnvironment-aTp6aZUT.mjs.map → runtimeEnvironment-CIK_mM28.mjs.map} +1 -1
- package/dist/runtime/runtimeEnvironment-MfBG-86q.js.map +1 -1
- package/dist/runtime/saml.d.mts +1 -1
- package/dist/runtime/saml.d.ts +1 -1
- package/dist/runtime/saml.js.map +1 -1
- package/dist/runtime/saml.mjs.map +1 -1
- package/dist/runtime/{telemetry-x9LpQpc1.mjs → telemetry-CjUYsEid.mjs} +24 -19
- package/dist/runtime/telemetry-CjUYsEid.mjs.map +1 -0
- package/dist/runtime/{telemetry-6CzUREWH.js → telemetry-DeWIp3r1.js} +22 -17
- package/dist/runtime/telemetry-DeWIp3r1.js.map +1 -0
- package/dist/runtime/telemetry.d.mts +3 -3
- package/dist/runtime/telemetry.d.mts.map +1 -1
- package/dist/runtime/telemetry.d.ts +3 -3
- package/dist/runtime/telemetry.d.ts.map +1 -1
- package/dist/runtime/telemetry.js +2 -2
- package/dist/runtime/telemetry.mjs +6 -6
- package/dist/runtime/types/index.d.mts +2 -2
- package/dist/runtime/types/index.d.ts +2 -2
- package/dist/runtime/underscore-C7r5Yoz7.js.map +1 -1
- package/dist/runtime/{underscore-DjQrhefX.mjs → underscore-DlGFLHFx.mjs} +2 -2
- package/dist/runtime/underscore-DlGFLHFx.mjs.map +1 -0
- package/dist/runtime/{underscore-D7jy9HIv.d.ts → underscore-pCLZrwOa.d.ts} +2 -2
- package/dist/runtime/underscore-pCLZrwOa.d.ts.map +1 -0
- package/dist/runtime/{underscore-D9zbLnC5.d.mts → underscore-umF0I_Al.d.mts} +2 -2
- package/dist/runtime/underscore-umF0I_Al.d.mts.map +1 -0
- package/dist/runtime/underscore.d.mts +1 -1
- package/dist/runtime/underscore.d.ts +1 -1
- package/dist/runtime/underscore.mjs +1 -1
- package/dist/runtime/{url-BuzaT2V9.mjs → url-BbKTKX00.mjs} +5 -6
- package/dist/runtime/url-BbKTKX00.mjs.map +1 -0
- package/dist/runtime/{url-DngZvS9Y.js → url-Clb-n8zC.js} +2 -3
- package/dist/runtime/url-Clb-n8zC.js.map +1 -0
- package/dist/runtime/{url-2rfd29Os.d.mts → url-FYx-WNSR.d.mts} +2 -2
- package/dist/runtime/{url-2rfd29Os.d.mts.map → url-FYx-WNSR.d.mts.map} +1 -1
- package/dist/runtime/{url-Ms4rigVZ.d.ts → url-h8G1SdMd.d.ts} +2 -2
- package/dist/runtime/{url-Ms4rigVZ.d.ts.map → url-h8G1SdMd.d.ts.map} +1 -1
- package/dist/runtime/url.d.mts +1 -1
- package/dist/runtime/url.d.ts +1 -1
- package/dist/runtime/url.js +1 -1
- package/dist/runtime/url.mjs +3 -3
- package/dist/runtime/utils/index.d.mts +2 -2
- package/dist/runtime/utils/index.d.ts +2 -2
- package/dist/runtime/utils/index.js +2 -2
- package/dist/runtime/utils/index.mjs +6 -6
- package/dist/runtime/{utils-DFvkL3Ii.mjs → utils-BhWtCGz9.mjs} +3 -3
- package/dist/runtime/utils-BhWtCGz9.mjs.map +1 -0
- package/dist/runtime/utils-H_S828Pv.js.map +1 -1
- package/dist/runtime/{versionSelector-DUl1fjbR.mjs → versionSelector-BLnVN63z.mjs} +4 -4
- package/dist/runtime/versionSelector-BLnVN63z.mjs.map +1 -0
- package/dist/runtime/{versionSelector-CP0JpoAM.d.ts → versionSelector-C1NNM7oN.d.ts} +2 -2
- package/dist/runtime/versionSelector-C1NNM7oN.d.ts.map +1 -0
- package/dist/runtime/{versionSelector-CIC6yM0C.js → versionSelector-Dbo_GZF0.js} +3 -3
- package/dist/runtime/versionSelector-Dbo_GZF0.js.map +1 -0
- package/dist/runtime/{versionSelector-CX1qgO7X.d.mts → versionSelector-xoAPlSjp.d.mts} +2 -2
- package/dist/runtime/versionSelector-xoAPlSjp.d.mts.map +1 -0
- package/dist/runtime/versionSelector.d.mts +1 -1
- package/dist/runtime/versionSelector.d.ts +1 -1
- package/dist/runtime/versionSelector.js +1 -1
- package/dist/runtime/versionSelector.mjs +1 -1
- package/dist/runtime/waitForElement-BUretf0K.js.map +1 -1
- package/dist/runtime/{waitForElement-Cl1uDYXK.mjs → waitForElement-DCDYqZEF.mjs} +2 -2
- package/dist/runtime/waitForElement-DCDYqZEF.mjs.map +1 -0
- package/dist/runtime/{waitForElement-DQ2FkEJH.d.ts → waitForElement-DefmGXsY.d.ts} +2 -2
- package/dist/runtime/waitForElement-DefmGXsY.d.ts.map +1 -0
- package/dist/runtime/{waitForElement-B3tX_z6T.d.mts → waitForElement-r2Id_EEt.d.mts} +2 -2
- package/dist/runtime/waitForElement-r2Id_EEt.d.mts.map +1 -0
- package/dist/runtime/web3.d.mts +1 -1
- package/dist/runtime/web3.d.ts +1 -1
- package/dist/runtime/web3.js.map +1 -1
- package/dist/runtime/web3.mjs.map +1 -1
- package/dist/runtime/webauthn.js +1 -1
- package/dist/runtime/webauthn.js.map +1 -1
- package/dist/runtime/webauthn.mjs +1 -1
- package/dist/runtime/webauthn.mjs.map +1 -1
- package/dist/runtime/workerTimers/index.d.mts +1 -1
- package/dist/runtime/workerTimers/index.d.ts +1 -1
- package/dist/runtime/workerTimers/index.js +1 -1
- package/dist/runtime/workerTimers/index.mjs +2 -2
- package/dist/runtime/{workerTimers-CyP1YqyG.js → workerTimers-0T9WnoJq.js} +6 -10
- package/dist/runtime/workerTimers-0T9WnoJq.js.map +1 -0
- package/dist/runtime/{workerTimers-SDJuCuGo.mjs → workerTimers-qeFdWxf5.mjs} +8 -12
- package/dist/runtime/workerTimers-qeFdWxf5.mjs.map +1 -0
- package/dist/types/index.d.mts +38 -4
- package/dist/types/index.d.mts.map +1 -1
- package/dist/types/index.d.ts +38 -4
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/runtime/apiUrlFromPublishableKey-BK2JHLjb.d.ts.map +0 -1
- package/dist/runtime/apiUrlFromPublishableKey-Bjv-2nJ1.js.map +0 -1
- package/dist/runtime/apiUrlFromPublishableKey-Bn4sVlIN.d.mts.map +0 -1
- package/dist/runtime/apiUrlFromPublishableKey-DFxUPTKg.mjs.map +0 -1
- package/dist/runtime/authorization-XX4mKaAz.mjs.map +0 -1
- package/dist/runtime/authorization-errors-CS1pNy8i.mjs.map +0 -1
- package/dist/runtime/browser-DJuTPwze.js.map +0 -1
- package/dist/runtime/browser-hvvxjQRr.mjs.map +0 -1
- package/dist/runtime/color-BKHR7Z5r.mjs.map +0 -1
- package/dist/runtime/color-CU2yOrXx.d.ts.map +0 -1
- package/dist/runtime/color-CUlAHjgk.js.map +0 -1
- package/dist/runtime/constants-ByUssRbE.mjs.map +0 -1
- package/dist/runtime/date-B6mK5i-_.mjs.map +0 -1
- package/dist/runtime/date-C3XsmxKq.js.map +0 -1
- package/dist/runtime/deprecated-CFM4jPRM.mjs.map +0 -1
- package/dist/runtime/deprecated-DXforbxJ.js.map +0 -1
- package/dist/runtime/deriveState-BwW5Y_o5.mjs.map +0 -1
- package/dist/runtime/deriveState-Dmgui85U.js.map +0 -1
- package/dist/runtime/devBrowser-DwTLFX_-.js.map +0 -1
- package/dist/runtime/devBrowser-tYnimKYY.mjs.map +0 -1
- package/dist/runtime/error-2EVDpisQ.d.mts.map +0 -1
- package/dist/runtime/error-B2RA62bv.mjs.map +0 -1
- package/dist/runtime/error-B8rjBHwB.js.map +0 -1
- package/dist/runtime/error-NFHSiOIP.d.ts.map +0 -1
- package/dist/runtime/file-C0BFy6W1.mjs.map +0 -1
- package/dist/runtime/file-COwNkc7n.js.map +0 -1
- package/dist/runtime/getEnvVariable-BSXrgsT3.mjs.map +0 -1
- package/dist/runtime/getEnvVariable-BcT_PqmA.d.ts.map +0 -1
- package/dist/runtime/getEnvVariable-CWQ3x95R.js.map +0 -1
- package/dist/runtime/getEnvVariable-DSWxcBzg.d.mts.map +0 -1
- package/dist/runtime/handleValueOrFn--vEw4xcO.js.map +0 -1
- package/dist/runtime/handleValueOrFn-C3bdLKGZ.mjs.map +0 -1
- package/dist/runtime/index-OCkMWBUr.d.mts.map +0 -1
- package/dist/runtime/index-jRkVeeXT.d.ts.map +0 -1
- package/dist/runtime/instance-DOysmj3a.mjs.map +0 -1
- package/dist/runtime/isomorphicAtob-CjUFU8Gx.d.mts.map +0 -1
- package/dist/runtime/isomorphicAtob-D61jyCi3.d.ts.map +0 -1
- package/dist/runtime/isomorphicAtob-DybBXGFR.mjs.map +0 -1
- package/dist/runtime/isomorphicBtoa-CrWZNFLW.d.mts.map +0 -1
- package/dist/runtime/isomorphicBtoa-DZZ0MKdz.d.ts.map +0 -1
- package/dist/runtime/isomorphicBtoa-Dr7WubZv.mjs.map +0 -1
- package/dist/runtime/keys-CHdYWeEj.js.map +0 -1
- package/dist/runtime/keys-Dcilj3cS.mjs.map +0 -1
- package/dist/runtime/loadClerkJsScript-BAVQO8ds.d.mts.map +0 -1
- package/dist/runtime/loadClerkJsScript-CfW0DlXQ.js.map +0 -1
- package/dist/runtime/loadClerkJsScript-DH2j0rtf.d.ts.map +0 -1
- package/dist/runtime/loadClerkJsScript-ZPKpwAcP.mjs.map +0 -1
- package/dist/runtime/loadScript-Bll0Ohcb.mjs.map +0 -1
- package/dist/runtime/loadScript-CRbXHvGF.js.map +0 -1
- package/dist/runtime/localStorageBroadcastChannel-BSJY81in.js.map +0 -1
- package/dist/runtime/localStorageBroadcastChannel-sPutPiqo.mjs.map +0 -1
- package/dist/runtime/logger-CWWjPZMR.d.ts.map +0 -1
- package/dist/runtime/logger-CcFDMizk.js.map +0 -1
- package/dist/runtime/logger-DmtxRp_g.mjs.map +0 -1
- package/dist/runtime/logger-Dt3NshH5.d.mts.map +0 -1
- package/dist/runtime/netlifyCacheHandler-CGIrch8G.d.mts.map +0 -1
- package/dist/runtime/netlifyCacheHandler-D1MSkiyk.js.map +0 -1
- package/dist/runtime/netlifyCacheHandler-Di70sUEE.d.ts.map +0 -1
- package/dist/runtime/object-Be3MMNTQ.mjs.map +0 -1
- package/dist/runtime/organization-D9SEGukq.mjs.map +0 -1
- package/dist/runtime/pathMatcher-BhJ0wlUt.js.map +0 -1
- package/dist/runtime/pathMatcher-CD_CcUjS.mjs.map +0 -1
- package/dist/runtime/pathToRegexp-DqVOlvi0.js.map +0 -1
- package/dist/runtime/pathToRegexp-cujoshIK.mjs.map +0 -1
- package/dist/runtime/poller-QBwri4RY.js.map +0 -1
- package/dist/runtime/proxy-Bq8EHApG.mjs.map +0 -1
- package/dist/runtime/retry-DAlTROH9.mjs.map +0 -1
- package/dist/runtime/telemetry-6CzUREWH.js.map +0 -1
- package/dist/runtime/telemetry-x9LpQpc1.mjs.map +0 -1
- package/dist/runtime/underscore-D7jy9HIv.d.ts.map +0 -1
- package/dist/runtime/underscore-D9zbLnC5.d.mts.map +0 -1
- package/dist/runtime/underscore-DjQrhefX.mjs.map +0 -1
- package/dist/runtime/url-BuzaT2V9.mjs.map +0 -1
- package/dist/runtime/url-DngZvS9Y.js.map +0 -1
- package/dist/runtime/utils-DFvkL3Ii.mjs.map +0 -1
- package/dist/runtime/versionSelector-CIC6yM0C.js.map +0 -1
- package/dist/runtime/versionSelector-CP0JpoAM.d.ts.map +0 -1
- package/dist/runtime/versionSelector-CX1qgO7X.d.mts.map +0 -1
- package/dist/runtime/versionSelector-DUl1fjbR.mjs.map +0 -1
- package/dist/runtime/waitForElement-B3tX_z6T.d.mts.map +0 -1
- package/dist/runtime/waitForElement-Cl1uDYXK.mjs.map +0 -1
- package/dist/runtime/waitForElement-DQ2FkEJH.d.ts.map +0 -1
- package/dist/runtime/workerTimers-CyP1YqyG.js.map +0 -1
- package/dist/runtime/workerTimers-SDJuCuGo.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alternativePhoneCode.js","names":["ALTERNATIVE_PHONE_CODE_PROVIDERS: PhoneCodeChannelData[]"
|
|
1
|
+
{"version":3,"file":"alternativePhoneCode.js","names":["ALTERNATIVE_PHONE_CODE_PROVIDERS: PhoneCodeChannelData[]"],"sources":["../../src/alternativePhoneCode.ts"],"sourcesContent":["import type { PhoneCodeChannelData } from './types';\n\nexport const ALTERNATIVE_PHONE_CODE_PROVIDERS: PhoneCodeChannelData[] = [\n {\n channel: 'whatsapp',\n name: 'WhatsApp',\n },\n];\n\nexport const getAlternativePhoneCodeProviderData = (channel?: string): PhoneCodeChannelData | null => {\n if (!channel) {\n return null;\n }\n return ALTERNATIVE_PHONE_CODE_PROVIDERS.find(p => p.channel === channel) || null;\n};\n"],"mappings":";;AAEA,MAAaA,mCAA2D,CACtE;CACE,SAAS;CACT,MAAM;CACP,CACF;AAED,MAAa,uCAAuC,YAAkD;AACpG,KAAI,CAAC,QACH,QAAO;AAET,QAAO,iCAAiC,MAAK,MAAK,EAAE,YAAY,QAAQ,IAAI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alternativePhoneCode.mjs","names":["ALTERNATIVE_PHONE_CODE_PROVIDERS: PhoneCodeChannelData[]"
|
|
1
|
+
{"version":3,"file":"alternativePhoneCode.mjs","names":["ALTERNATIVE_PHONE_CODE_PROVIDERS: PhoneCodeChannelData[]"],"sources":["../../src/alternativePhoneCode.ts"],"sourcesContent":["import type { PhoneCodeChannelData } from './types';\n\nexport const ALTERNATIVE_PHONE_CODE_PROVIDERS: PhoneCodeChannelData[] = [\n {\n channel: 'whatsapp',\n name: 'WhatsApp',\n },\n];\n\nexport const getAlternativePhoneCodeProviderData = (channel?: string): PhoneCodeChannelData | null => {\n if (!channel) {\n return null;\n }\n return ALTERNATIVE_PHONE_CODE_PROVIDERS.find(p => p.channel === channel) || null;\n};\n"],"mappings":";AAEA,MAAaA,mCAA2D,CACtE;CACE,SAAS;CACT,MAAM;CACP,CACF;AAED,MAAa,uCAAuC,YAAkD;AACpG,KAAI,CAAC,QACH,QAAO;AAET,QAAO,iCAAiC,MAAK,MAAK,EAAE,YAAY,QAAQ,IAAI"}
|
package/dist/runtime/{apiUrlFromPublishableKey-DFxUPTKg.mjs → apiUrlFromPublishableKey-BrEJDXM6.mjs}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { parsePublishableKey } from "./keys-
|
|
1
|
+
import { a as LOCAL_ENV_SUFFIXES, c as STAGING_ENV_SUFFIXES, i as LOCAL_API_URL, o as PROD_API_URL, r as LEGACY_DEV_INSTANCE_SUFFIXES, s as STAGING_API_URL } from "./constants-Bp0qtelQ.mjs";
|
|
2
|
+
import { u as parsePublishableKey } from "./keys-BGyzAyGu.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/apiUrlFromPublishableKey.ts
|
|
5
5
|
/**
|
|
@@ -17,5 +17,5 @@ const apiUrlFromPublishableKey = (publishableKey) => {
|
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
//#endregion
|
|
20
|
-
export { apiUrlFromPublishableKey };
|
|
21
|
-
//# sourceMappingURL=apiUrlFromPublishableKey-
|
|
20
|
+
export { apiUrlFromPublishableKey as t };
|
|
21
|
+
//# sourceMappingURL=apiUrlFromPublishableKey-BrEJDXM6.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiUrlFromPublishableKey-BrEJDXM6.mjs","names":[],"sources":["../../src/apiUrlFromPublishableKey.ts"],"sourcesContent":["import {\n LEGACY_DEV_INSTANCE_SUFFIXES,\n LOCAL_API_URL,\n LOCAL_ENV_SUFFIXES,\n PROD_API_URL,\n STAGING_API_URL,\n STAGING_ENV_SUFFIXES,\n} from './constants';\nimport { parsePublishableKey } from './keys';\n\n/**\n * Get the correct API url based on the publishable key.\n *\n * @param publishableKey - The publishable key to parse.\n * @returns One of Clerk's API URLs.\n */\nexport const apiUrlFromPublishableKey = (publishableKey: string) => {\n const frontendApi = parsePublishableKey(publishableKey)?.frontendApi;\n\n if (frontendApi?.startsWith('clerk.') && LEGACY_DEV_INSTANCE_SUFFIXES.some(suffix => frontendApi?.endsWith(suffix))) {\n return PROD_API_URL;\n }\n\n if (LOCAL_ENV_SUFFIXES.some(suffix => frontendApi?.endsWith(suffix))) {\n return LOCAL_API_URL;\n }\n if (STAGING_ENV_SUFFIXES.some(suffix => frontendApi?.endsWith(suffix))) {\n return STAGING_API_URL;\n }\n return PROD_API_URL;\n};\n"],"mappings":";;;;;;;;;;AAgBA,MAAa,4BAA4B,mBAA2B;CAClE,MAAM,cAAc,oBAAoB,eAAe,EAAE;AAEzD,KAAI,aAAa,WAAW,SAAS,IAAI,6BAA6B,MAAK,WAAU,aAAa,SAAS,OAAO,CAAC,CACjH,QAAO;AAGT,KAAI,mBAAmB,MAAK,WAAU,aAAa,SAAS,OAAO,CAAC,CAClE,QAAO;AAET,KAAI,qBAAqB,MAAK,WAAU,aAAa,SAAS,OAAO,CAAC,CACpE,QAAO;AAET,QAAO"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @param publishableKey - The publishable key to parse.
|
|
6
6
|
* @returns One of Clerk's API URLs.
|
|
7
7
|
*/
|
|
8
|
-
declare const apiUrlFromPublishableKey: (publishableKey: string) => "https://api.
|
|
8
|
+
declare const apiUrlFromPublishableKey: (publishableKey: string) => "https://api.clerk.com" | "https://api.lclclerk.com" | "https://api.clerkstage.dev";
|
|
9
9
|
//#endregion
|
|
10
|
-
export { apiUrlFromPublishableKey };
|
|
11
|
-
//# sourceMappingURL=apiUrlFromPublishableKey-
|
|
10
|
+
export { apiUrlFromPublishableKey as t };
|
|
11
|
+
//# sourceMappingURL=apiUrlFromPublishableKey-CEUyf_FP.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiUrlFromPublishableKey-CEUyf_FP.d.ts","names":[],"sources":["../../src/apiUrlFromPublishableKey.ts"],"sourcesContent":[],"mappings":";;AAgBA;;;;;cAAa"}
|
package/dist/runtime/{apiUrlFromPublishableKey-Bjv-2nJ1.js → apiUrlFromPublishableKey-CY46bNyR.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_constants = require('./constants-B8tEdUlH.js');
|
|
2
|
-
const require_keys = require('./keys-
|
|
2
|
+
const require_keys = require('./keys-wr08qE7Y.js');
|
|
3
3
|
|
|
4
4
|
//#region src/apiUrlFromPublishableKey.ts
|
|
5
5
|
/**
|
|
@@ -23,4 +23,4 @@ Object.defineProperty(exports, 'apiUrlFromPublishableKey', {
|
|
|
23
23
|
return apiUrlFromPublishableKey;
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
|
-
//# sourceMappingURL=apiUrlFromPublishableKey-
|
|
26
|
+
//# sourceMappingURL=apiUrlFromPublishableKey-CY46bNyR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiUrlFromPublishableKey-CY46bNyR.js","names":["parsePublishableKey","LEGACY_DEV_INSTANCE_SUFFIXES","PROD_API_URL","LOCAL_ENV_SUFFIXES","LOCAL_API_URL","STAGING_ENV_SUFFIXES","STAGING_API_URL"],"sources":["../../src/apiUrlFromPublishableKey.ts"],"sourcesContent":["import {\n LEGACY_DEV_INSTANCE_SUFFIXES,\n LOCAL_API_URL,\n LOCAL_ENV_SUFFIXES,\n PROD_API_URL,\n STAGING_API_URL,\n STAGING_ENV_SUFFIXES,\n} from './constants';\nimport { parsePublishableKey } from './keys';\n\n/**\n * Get the correct API url based on the publishable key.\n *\n * @param publishableKey - The publishable key to parse.\n * @returns One of Clerk's API URLs.\n */\nexport const apiUrlFromPublishableKey = (publishableKey: string) => {\n const frontendApi = parsePublishableKey(publishableKey)?.frontendApi;\n\n if (frontendApi?.startsWith('clerk.') && LEGACY_DEV_INSTANCE_SUFFIXES.some(suffix => frontendApi?.endsWith(suffix))) {\n return PROD_API_URL;\n }\n\n if (LOCAL_ENV_SUFFIXES.some(suffix => frontendApi?.endsWith(suffix))) {\n return LOCAL_API_URL;\n }\n if (STAGING_ENV_SUFFIXES.some(suffix => frontendApi?.endsWith(suffix))) {\n return STAGING_API_URL;\n }\n return PROD_API_URL;\n};\n"],"mappings":";;;;;;;;;;AAgBA,MAAa,4BAA4B,mBAA2B;CAClE,MAAM,cAAcA,iCAAoB,eAAe,EAAE;AAEzD,KAAI,aAAa,WAAW,SAAS,IAAIC,+CAA6B,MAAK,WAAU,aAAa,SAAS,OAAO,CAAC,CACjH,QAAOC;AAGT,KAAIC,qCAAmB,MAAK,WAAU,aAAa,SAAS,OAAO,CAAC,CAClE,QAAOC;AAET,KAAIC,uCAAqB,MAAK,WAAU,aAAa,SAAS,OAAO,CAAC,CACpE,QAAOC;AAET,QAAOJ"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @param publishableKey - The publishable key to parse.
|
|
6
6
|
* @returns One of Clerk's API URLs.
|
|
7
7
|
*/
|
|
8
|
-
declare const apiUrlFromPublishableKey: (publishableKey: string) => "https://api.
|
|
8
|
+
declare const apiUrlFromPublishableKey: (publishableKey: string) => "https://api.clerk.com" | "https://api.lclclerk.com" | "https://api.clerkstage.dev";
|
|
9
9
|
//#endregion
|
|
10
|
-
export { apiUrlFromPublishableKey as
|
|
11
|
-
//# sourceMappingURL=apiUrlFromPublishableKey-
|
|
10
|
+
export { apiUrlFromPublishableKey as t };
|
|
11
|
+
//# sourceMappingURL=apiUrlFromPublishableKey-mDB2xBW0.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiUrlFromPublishableKey-mDB2xBW0.d.mts","names":[],"sources":["../../src/apiUrlFromPublishableKey.ts"],"sourcesContent":[],"mappings":";;AAgBA;;;;;cAAa"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { t as apiUrlFromPublishableKey } from "./apiUrlFromPublishableKey-mDB2xBW0.mjs";
|
|
2
2
|
export { apiUrlFromPublishableKey };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { apiUrlFromPublishableKey } from "./apiUrlFromPublishableKey-
|
|
1
|
+
import { t as apiUrlFromPublishableKey } from "./apiUrlFromPublishableKey-CEUyf_FP.js";
|
|
2
2
|
export { apiUrlFromPublishableKey };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require('./constants-B8tEdUlH.js');
|
|
2
2
|
require('./isomorphicAtob-Chnw1Md3.js');
|
|
3
3
|
require('./isomorphicBtoa-oWNvIgSP.js');
|
|
4
|
-
require('./keys-
|
|
5
|
-
const require_apiUrlFromPublishableKey = require('./apiUrlFromPublishableKey-
|
|
4
|
+
require('./keys-wr08qE7Y.js');
|
|
5
|
+
const require_apiUrlFromPublishableKey = require('./apiUrlFromPublishableKey-CY46bNyR.js');
|
|
6
6
|
|
|
7
7
|
exports.apiUrlFromPublishableKey = require_apiUrlFromPublishableKey.apiUrlFromPublishableKey;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import "./constants-
|
|
2
|
-
import "./isomorphicAtob-
|
|
3
|
-
import "./isomorphicBtoa-
|
|
4
|
-
import "./keys-
|
|
5
|
-
import { apiUrlFromPublishableKey } from "./apiUrlFromPublishableKey-
|
|
1
|
+
import "./constants-Bp0qtelQ.mjs";
|
|
2
|
+
import "./isomorphicAtob-CYR5fxvZ.mjs";
|
|
3
|
+
import "./isomorphicBtoa-Db71q4D6.mjs";
|
|
4
|
+
import "./keys-BGyzAyGu.mjs";
|
|
5
|
+
import { t as apiUrlFromPublishableKey } from "./apiUrlFromPublishableKey-BrEJDXM6.mjs";
|
|
6
6
|
|
|
7
7
|
export { apiUrlFromPublishableKey };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorization-CJB1hjGu.js","names":["TYPES_TO_OBJECTS: TypesToConfig","maxAge: any","level: any","type: any","value: string","checkOrgAuthorization: CheckOrgAuthorization","claim: string","featureOrPlan: string","checkBillingAuthorization: CheckBillingAuthorization","fea: string | null | undefined","config: ReverificationConfig | undefined | null","config: ReverificationConfig","config","checkReverificationAuthorization: CheckReverificationAuthorization","options: AuthorizationOptions"],"sources":["../../src/authorization.ts"],"sourcesContent":["import type {\n ActClaim,\n CheckAuthorizationWithCustomPermissions,\n GetToken,\n JwtPayload,\n OrganizationCustomPermissionKey,\n OrganizationCustomRoleKey,\n PendingSessionOptions,\n ReverificationConfig,\n SessionStatusClaim,\n SessionVerificationLevel,\n SessionVerificationTypes,\n SignOut,\n UseAuthReturn,\n} from './types';\n\ntype TypesToConfig = Record<SessionVerificationTypes, Exclude<ReverificationConfig, SessionVerificationTypes>>;\ntype AuthorizationOptions = {\n userId: string | null | undefined;\n orgId: string | null | undefined;\n orgRole: string | null | undefined;\n orgPermissions: string[] | null | undefined;\n factorVerificationAge: [number, number] | null;\n features: string | null | undefined;\n plans: string | null | undefined;\n};\n\ntype CheckOrgAuthorization = (\n params: { role?: OrganizationCustomRoleKey; permission?: OrganizationCustomPermissionKey },\n options: Pick<AuthorizationOptions, 'orgId' | 'orgRole' | 'orgPermissions'>,\n) => boolean | null;\n\ntype CheckBillingAuthorization = (\n params: { feature?: string; plan?: string },\n options: Pick<AuthorizationOptions, 'plans' | 'features'>,\n) => boolean | null;\n\ntype CheckReverificationAuthorization = (\n params: {\n reverification?: ReverificationConfig;\n },\n { factorVerificationAge }: AuthorizationOptions,\n) => boolean | null;\n\nconst TYPES_TO_OBJECTS: TypesToConfig = {\n strict_mfa: {\n afterMinutes: 10,\n level: 'multi_factor',\n },\n strict: {\n afterMinutes: 10,\n level: 'second_factor',\n },\n moderate: {\n afterMinutes: 60,\n level: 'second_factor',\n },\n lax: {\n afterMinutes: 1_440,\n level: 'second_factor',\n },\n};\n\nconst ALLOWED_LEVELS = new Set<SessionVerificationLevel>(['first_factor', 'second_factor', 'multi_factor']);\n\nconst ALLOWED_TYPES = new Set<SessionVerificationTypes>(['strict_mfa', 'strict', 'moderate', 'lax']);\n\n// Helper functions\nconst isValidMaxAge = (maxAge: any) => typeof maxAge === 'number' && maxAge > 0;\nconst isValidLevel = (level: any) => ALLOWED_LEVELS.has(level);\nconst isValidVerificationType = (type: any) => ALLOWED_TYPES.has(type);\n\nconst prefixWithOrg = (value: string) => value.replace(/^(org:)*/, 'org:');\n\n/**\n * Checks if a user has the required organization-level authorization.\n * Verifies if the user has the specified role or permission within their organization.\n * @returns null, if unable to determine due to missing data or unspecified role/permission.\n */\nconst checkOrgAuthorization: CheckOrgAuthorization = (params, options) => {\n const { orgId, orgRole, orgPermissions } = options;\n if (!params.role && !params.permission) {\n return null;\n }\n\n if (!orgId || !orgRole || !orgPermissions) {\n return null;\n }\n\n if (params.permission) {\n return orgPermissions.includes(prefixWithOrg(params.permission));\n }\n\n if (params.role) {\n return prefixWithOrg(orgRole) === prefixWithOrg(params.role);\n }\n return null;\n};\n\nconst checkForFeatureOrPlan = (claim: string, featureOrPlan: string) => {\n const { org: orgFeatures, user: userFeatures } = splitByScope(claim);\n const [scope, _id] = featureOrPlan.split(':');\n const id = _id || scope;\n\n if (scope === 'org') {\n return orgFeatures.includes(id);\n } else if (scope === 'user') {\n return userFeatures.includes(id);\n } else {\n // Since org scoped features will not exist if there is not an active org, merging is safe.\n return [...orgFeatures, ...userFeatures].includes(id);\n }\n};\n\nconst checkBillingAuthorization: CheckBillingAuthorization = (params, options) => {\n const { features, plans } = options;\n\n if (params.feature && features) {\n return checkForFeatureOrPlan(features, params.feature);\n }\n\n if (params.plan && plans) {\n return checkForFeatureOrPlan(plans, params.plan);\n }\n return null;\n};\n\nconst splitByScope = (fea: string | null | undefined) => {\n const features = fea ? fea.split(',').map(f => f.trim()) : [];\n\n // TODO: make this more efficient\n return {\n org: features.filter(f => f.split(':')[0].includes('o')).map(f => f.split(':')[1]),\n user: features.filter(f => f.split(':')[0].includes('u')).map(f => f.split(':')[1]),\n };\n};\n\nconst validateReverificationConfig = (config: ReverificationConfig | undefined | null) => {\n if (!config) {\n return false;\n }\n\n const convertConfigToObject = (config: ReverificationConfig) => {\n if (typeof config === 'string') {\n return TYPES_TO_OBJECTS[config];\n }\n return config;\n };\n\n const isValidStringValue = typeof config === 'string' && isValidVerificationType(config);\n const isValidObjectValue =\n typeof config === 'object' && isValidLevel(config.level) && isValidMaxAge(config.afterMinutes);\n\n if (isValidStringValue || isValidObjectValue) {\n return convertConfigToObject.bind(null, config);\n }\n\n return false;\n};\n\n/**\n * Evaluates if the user meets re-verification authentication requirements.\n * Compares the user's factor verification ages against the specified maxAge.\n * Handles different verification levels (first factor, second factor, multi-factor).\n * @returns null, if requirements or verification data are missing.\n */\nconst checkReverificationAuthorization: CheckReverificationAuthorization = (params, { factorVerificationAge }) => {\n if (!params.reverification || !factorVerificationAge) {\n return null;\n }\n\n const isValidReverification = validateReverificationConfig(params.reverification);\n if (!isValidReverification) {\n return null;\n }\n\n const { level, afterMinutes } = isValidReverification();\n const [factor1Age, factor2Age] = factorVerificationAge;\n\n // -1 indicates the factor group (1fa,2fa) is not enabled\n // -1 for 1fa is not a valid scenario, but we need to make sure we handle it properly\n const isValidFactor1 = factor1Age !== -1 ? afterMinutes > factor1Age : null;\n const isValidFactor2 = factor2Age !== -1 ? afterMinutes > factor2Age : null;\n\n switch (level) {\n case 'first_factor':\n return isValidFactor1;\n case 'second_factor':\n return factor2Age !== -1 ? isValidFactor2 : isValidFactor1;\n case 'multi_factor':\n return factor2Age === -1 ? isValidFactor1 : isValidFactor1 && isValidFactor2;\n }\n};\n\n/**\n * Creates a function for comprehensive user authorization checks.\n * Combines organization-level and reverification authentication checks.\n * The returned function authorizes if both checks pass, or if at least one passes\n * when the other is indeterminate. Fails if userId is missing.\n */\nconst createCheckAuthorization = (options: AuthorizationOptions): CheckAuthorizationWithCustomPermissions => {\n return (params): boolean => {\n if (!options.userId) {\n return false;\n }\n\n const billingAuthorization = checkBillingAuthorization(params, options);\n const orgAuthorization = checkOrgAuthorization(params, options);\n const reverificationAuthorization = checkReverificationAuthorization(params, options);\n\n if ([billingAuthorization || orgAuthorization, reverificationAuthorization].some(a => a === null)) {\n return [billingAuthorization || orgAuthorization, reverificationAuthorization].some(a => a === true);\n }\n\n return [billingAuthorization || orgAuthorization, reverificationAuthorization].every(a => a === true);\n };\n};\n\ntype AuthStateOptions = {\n authObject: {\n userId?: string | null;\n sessionId?: string | null;\n sessionStatus?: SessionStatusClaim | null;\n sessionClaims?: JwtPayload | null;\n actor?: ActClaim | null;\n orgId?: string | null;\n orgRole?: OrganizationCustomRoleKey | null;\n orgSlug?: string | null;\n orgPermissions?: OrganizationCustomPermissionKey[] | null;\n getToken: GetToken;\n signOut: SignOut;\n has: (params: Parameters<CheckAuthorizationWithCustomPermissions>[0]) => boolean;\n };\n options: PendingSessionOptions;\n};\n\n/**\n * Shared utility function that centralizes auth state resolution logic,\n * preventing duplication across different packages.\n * @internal\n */\nconst resolveAuthState = ({\n authObject: {\n sessionId,\n sessionStatus,\n userId,\n actor,\n orgId,\n orgRole,\n orgSlug,\n signOut,\n getToken,\n has,\n sessionClaims,\n },\n options: { treatPendingAsSignedOut = true },\n}: AuthStateOptions): UseAuthReturn | undefined => {\n if (sessionId === undefined && userId === undefined) {\n return {\n isLoaded: false,\n isSignedIn: undefined,\n sessionId,\n sessionClaims: undefined,\n userId,\n actor: undefined,\n orgId: undefined,\n orgRole: undefined,\n orgSlug: undefined,\n has: undefined,\n signOut,\n getToken,\n } as const;\n }\n\n if (sessionId === null && userId === null) {\n return {\n isLoaded: true,\n isSignedIn: false,\n sessionId,\n userId,\n sessionClaims: null,\n actor: null,\n orgId: null,\n orgRole: null,\n orgSlug: null,\n has: () => false,\n signOut,\n getToken,\n } as const;\n }\n\n if (treatPendingAsSignedOut && sessionStatus === 'pending') {\n return {\n isLoaded: true,\n isSignedIn: false,\n sessionId: null,\n userId: null,\n sessionClaims: null,\n actor: null,\n orgId: null,\n orgRole: null,\n orgSlug: null,\n has: () => false,\n signOut,\n getToken,\n } as const;\n }\n\n if (!!sessionId && !!sessionClaims && !!userId && !!orgId && !!orgRole) {\n return {\n isLoaded: true,\n isSignedIn: true,\n sessionId,\n sessionClaims,\n userId,\n actor: actor || null,\n orgId,\n orgRole,\n orgSlug: orgSlug || null,\n has,\n signOut,\n getToken,\n } as const;\n }\n\n if (!!sessionId && !!sessionClaims && !!userId && !orgId) {\n return {\n isLoaded: true,\n isSignedIn: true,\n sessionId,\n sessionClaims,\n userId,\n actor: actor || null,\n orgId: null,\n orgRole: null,\n orgSlug: null,\n has,\n signOut,\n getToken,\n } as const;\n }\n};\n\nexport { createCheckAuthorization, resolveAuthState, splitByScope, validateReverificationConfig };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"authorization-CJB1hjGu.js","names":["TYPES_TO_OBJECTS: TypesToConfig","checkOrgAuthorization: CheckOrgAuthorization","checkBillingAuthorization: CheckBillingAuthorization","config","checkReverificationAuthorization: CheckReverificationAuthorization"],"sources":["../../src/authorization.ts"],"sourcesContent":["import type {\n ActClaim,\n CheckAuthorizationWithCustomPermissions,\n GetToken,\n JwtPayload,\n OrganizationCustomPermissionKey,\n OrganizationCustomRoleKey,\n PendingSessionOptions,\n ReverificationConfig,\n SessionStatusClaim,\n SessionVerificationLevel,\n SessionVerificationTypes,\n SignOut,\n UseAuthReturn,\n} from './types';\n\ntype TypesToConfig = Record<SessionVerificationTypes, Exclude<ReverificationConfig, SessionVerificationTypes>>;\ntype AuthorizationOptions = {\n userId: string | null | undefined;\n orgId: string | null | undefined;\n orgRole: string | null | undefined;\n orgPermissions: string[] | null | undefined;\n factorVerificationAge: [number, number] | null;\n features: string | null | undefined;\n plans: string | null | undefined;\n};\n\ntype CheckOrgAuthorization = (\n params: { role?: OrganizationCustomRoleKey; permission?: OrganizationCustomPermissionKey },\n options: Pick<AuthorizationOptions, 'orgId' | 'orgRole' | 'orgPermissions'>,\n) => boolean | null;\n\ntype CheckBillingAuthorization = (\n params: { feature?: string; plan?: string },\n options: Pick<AuthorizationOptions, 'plans' | 'features'>,\n) => boolean | null;\n\ntype CheckReverificationAuthorization = (\n params: {\n reverification?: ReverificationConfig;\n },\n { factorVerificationAge }: AuthorizationOptions,\n) => boolean | null;\n\nconst TYPES_TO_OBJECTS: TypesToConfig = {\n strict_mfa: {\n afterMinutes: 10,\n level: 'multi_factor',\n },\n strict: {\n afterMinutes: 10,\n level: 'second_factor',\n },\n moderate: {\n afterMinutes: 60,\n level: 'second_factor',\n },\n lax: {\n afterMinutes: 1_440,\n level: 'second_factor',\n },\n};\n\nconst ALLOWED_LEVELS = new Set<SessionVerificationLevel>(['first_factor', 'second_factor', 'multi_factor']);\n\nconst ALLOWED_TYPES = new Set<SessionVerificationTypes>(['strict_mfa', 'strict', 'moderate', 'lax']);\n\n// Helper functions\nconst isValidMaxAge = (maxAge: any) => typeof maxAge === 'number' && maxAge > 0;\nconst isValidLevel = (level: any) => ALLOWED_LEVELS.has(level);\nconst isValidVerificationType = (type: any) => ALLOWED_TYPES.has(type);\n\nconst prefixWithOrg = (value: string) => value.replace(/^(org:)*/, 'org:');\n\n/**\n * Checks if a user has the required organization-level authorization.\n * Verifies if the user has the specified role or permission within their organization.\n * @returns null, if unable to determine due to missing data or unspecified role/permission.\n */\nconst checkOrgAuthorization: CheckOrgAuthorization = (params, options) => {\n const { orgId, orgRole, orgPermissions } = options;\n if (!params.role && !params.permission) {\n return null;\n }\n\n if (!orgId || !orgRole || !orgPermissions) {\n return null;\n }\n\n if (params.permission) {\n return orgPermissions.includes(prefixWithOrg(params.permission));\n }\n\n if (params.role) {\n return prefixWithOrg(orgRole) === prefixWithOrg(params.role);\n }\n return null;\n};\n\nconst checkForFeatureOrPlan = (claim: string, featureOrPlan: string) => {\n const { org: orgFeatures, user: userFeatures } = splitByScope(claim);\n const [scope, _id] = featureOrPlan.split(':');\n const id = _id || scope;\n\n if (scope === 'org') {\n return orgFeatures.includes(id);\n } else if (scope === 'user') {\n return userFeatures.includes(id);\n } else {\n // Since org scoped features will not exist if there is not an active org, merging is safe.\n return [...orgFeatures, ...userFeatures].includes(id);\n }\n};\n\nconst checkBillingAuthorization: CheckBillingAuthorization = (params, options) => {\n const { features, plans } = options;\n\n if (params.feature && features) {\n return checkForFeatureOrPlan(features, params.feature);\n }\n\n if (params.plan && plans) {\n return checkForFeatureOrPlan(plans, params.plan);\n }\n return null;\n};\n\nconst splitByScope = (fea: string | null | undefined) => {\n const features = fea ? fea.split(',').map(f => f.trim()) : [];\n\n // TODO: make this more efficient\n return {\n org: features.filter(f => f.split(':')[0].includes('o')).map(f => f.split(':')[1]),\n user: features.filter(f => f.split(':')[0].includes('u')).map(f => f.split(':')[1]),\n };\n};\n\nconst validateReverificationConfig = (config: ReverificationConfig | undefined | null) => {\n if (!config) {\n return false;\n }\n\n const convertConfigToObject = (config: ReverificationConfig) => {\n if (typeof config === 'string') {\n return TYPES_TO_OBJECTS[config];\n }\n return config;\n };\n\n const isValidStringValue = typeof config === 'string' && isValidVerificationType(config);\n const isValidObjectValue =\n typeof config === 'object' && isValidLevel(config.level) && isValidMaxAge(config.afterMinutes);\n\n if (isValidStringValue || isValidObjectValue) {\n return convertConfigToObject.bind(null, config);\n }\n\n return false;\n};\n\n/**\n * Evaluates if the user meets re-verification authentication requirements.\n * Compares the user's factor verification ages against the specified maxAge.\n * Handles different verification levels (first factor, second factor, multi-factor).\n * @returns null, if requirements or verification data are missing.\n */\nconst checkReverificationAuthorization: CheckReverificationAuthorization = (params, { factorVerificationAge }) => {\n if (!params.reverification || !factorVerificationAge) {\n return null;\n }\n\n const isValidReverification = validateReverificationConfig(params.reverification);\n if (!isValidReverification) {\n return null;\n }\n\n const { level, afterMinutes } = isValidReverification();\n const [factor1Age, factor2Age] = factorVerificationAge;\n\n // -1 indicates the factor group (1fa,2fa) is not enabled\n // -1 for 1fa is not a valid scenario, but we need to make sure we handle it properly\n const isValidFactor1 = factor1Age !== -1 ? afterMinutes > factor1Age : null;\n const isValidFactor2 = factor2Age !== -1 ? afterMinutes > factor2Age : null;\n\n switch (level) {\n case 'first_factor':\n return isValidFactor1;\n case 'second_factor':\n return factor2Age !== -1 ? isValidFactor2 : isValidFactor1;\n case 'multi_factor':\n return factor2Age === -1 ? isValidFactor1 : isValidFactor1 && isValidFactor2;\n }\n};\n\n/**\n * Creates a function for comprehensive user authorization checks.\n * Combines organization-level and reverification authentication checks.\n * The returned function authorizes if both checks pass, or if at least one passes\n * when the other is indeterminate. Fails if userId is missing.\n */\nconst createCheckAuthorization = (options: AuthorizationOptions): CheckAuthorizationWithCustomPermissions => {\n return (params): boolean => {\n if (!options.userId) {\n return false;\n }\n\n const billingAuthorization = checkBillingAuthorization(params, options);\n const orgAuthorization = checkOrgAuthorization(params, options);\n const reverificationAuthorization = checkReverificationAuthorization(params, options);\n\n if ([billingAuthorization || orgAuthorization, reverificationAuthorization].some(a => a === null)) {\n return [billingAuthorization || orgAuthorization, reverificationAuthorization].some(a => a === true);\n }\n\n return [billingAuthorization || orgAuthorization, reverificationAuthorization].every(a => a === true);\n };\n};\n\ntype AuthStateOptions = {\n authObject: {\n userId?: string | null;\n sessionId?: string | null;\n sessionStatus?: SessionStatusClaim | null;\n sessionClaims?: JwtPayload | null;\n actor?: ActClaim | null;\n orgId?: string | null;\n orgRole?: OrganizationCustomRoleKey | null;\n orgSlug?: string | null;\n orgPermissions?: OrganizationCustomPermissionKey[] | null;\n getToken: GetToken;\n signOut: SignOut;\n has: (params: Parameters<CheckAuthorizationWithCustomPermissions>[0]) => boolean;\n };\n options: PendingSessionOptions;\n};\n\n/**\n * Shared utility function that centralizes auth state resolution logic,\n * preventing duplication across different packages.\n * @internal\n */\nconst resolveAuthState = ({\n authObject: {\n sessionId,\n sessionStatus,\n userId,\n actor,\n orgId,\n orgRole,\n orgSlug,\n signOut,\n getToken,\n has,\n sessionClaims,\n },\n options: { treatPendingAsSignedOut = true },\n}: AuthStateOptions): UseAuthReturn | undefined => {\n if (sessionId === undefined && userId === undefined) {\n return {\n isLoaded: false,\n isSignedIn: undefined,\n sessionId,\n sessionClaims: undefined,\n userId,\n actor: undefined,\n orgId: undefined,\n orgRole: undefined,\n orgSlug: undefined,\n has: undefined,\n signOut,\n getToken,\n } as const;\n }\n\n if (sessionId === null && userId === null) {\n return {\n isLoaded: true,\n isSignedIn: false,\n sessionId,\n userId,\n sessionClaims: null,\n actor: null,\n orgId: null,\n orgRole: null,\n orgSlug: null,\n has: () => false,\n signOut,\n getToken,\n } as const;\n }\n\n if (treatPendingAsSignedOut && sessionStatus === 'pending') {\n return {\n isLoaded: true,\n isSignedIn: false,\n sessionId: null,\n userId: null,\n sessionClaims: null,\n actor: null,\n orgId: null,\n orgRole: null,\n orgSlug: null,\n has: () => false,\n signOut,\n getToken,\n } as const;\n }\n\n if (!!sessionId && !!sessionClaims && !!userId && !!orgId && !!orgRole) {\n return {\n isLoaded: true,\n isSignedIn: true,\n sessionId,\n sessionClaims,\n userId,\n actor: actor || null,\n orgId,\n orgRole,\n orgSlug: orgSlug || null,\n has,\n signOut,\n getToken,\n } as const;\n }\n\n if (!!sessionId && !!sessionClaims && !!userId && !orgId) {\n return {\n isLoaded: true,\n isSignedIn: true,\n sessionId,\n sessionClaims,\n userId,\n actor: actor || null,\n orgId: null,\n orgRole: null,\n orgSlug: null,\n has,\n signOut,\n getToken,\n } as const;\n }\n};\n\nexport { createCheckAuthorization, resolveAuthState, splitByScope, validateReverificationConfig };\n"],"mappings":";;AA4CA,MAAMA,mBAAkC;CACtC,YAAY;EACV,cAAc;EACd,OAAO;EACR;CACD,QAAQ;EACN,cAAc;EACd,OAAO;EACR;CACD,UAAU;EACR,cAAc;EACd,OAAO;EACR;CACD,KAAK;EACH,cAAc;EACd,OAAO;EACR;CACF;AAED,MAAM,iBAAiB,IAAI,IAA8B;CAAC;CAAgB;CAAiB;CAAe,CAAC;AAE3G,MAAM,gBAAgB,IAAI,IAA8B;CAAC;CAAc;CAAU;CAAY;CAAM,CAAC;AAGpG,MAAM,iBAAiB,WAAgB,OAAO,WAAW,YAAY,SAAS;AAC9E,MAAM,gBAAgB,UAAe,eAAe,IAAI,MAAM;AAC9D,MAAM,2BAA2B,SAAc,cAAc,IAAI,KAAK;AAEtE,MAAM,iBAAiB,UAAkB,MAAM,QAAQ,YAAY,OAAO;;;;;;AAO1E,MAAMC,yBAAgD,QAAQ,YAAY;CACxE,MAAM,EAAE,OAAO,SAAS,mBAAmB;AAC3C,KAAI,CAAC,OAAO,QAAQ,CAAC,OAAO,WAC1B,QAAO;AAGT,KAAI,CAAC,SAAS,CAAC,WAAW,CAAC,eACzB,QAAO;AAGT,KAAI,OAAO,WACT,QAAO,eAAe,SAAS,cAAc,OAAO,WAAW,CAAC;AAGlE,KAAI,OAAO,KACT,QAAO,cAAc,QAAQ,KAAK,cAAc,OAAO,KAAK;AAE9D,QAAO;;AAGT,MAAM,yBAAyB,OAAe,kBAA0B;CACtE,MAAM,EAAE,KAAK,aAAa,MAAM,iBAAiB,aAAa,MAAM;CACpE,MAAM,CAAC,OAAO,OAAO,cAAc,MAAM,IAAI;CAC7C,MAAM,KAAK,OAAO;AAElB,KAAI,UAAU,MACZ,QAAO,YAAY,SAAS,GAAG;UACtB,UAAU,OACnB,QAAO,aAAa,SAAS,GAAG;KAGhC,QAAO,CAAC,GAAG,aAAa,GAAG,aAAa,CAAC,SAAS,GAAG;;AAIzD,MAAMC,6BAAwD,QAAQ,YAAY;CAChF,MAAM,EAAE,UAAU,UAAU;AAE5B,KAAI,OAAO,WAAW,SACpB,QAAO,sBAAsB,UAAU,OAAO,QAAQ;AAGxD,KAAI,OAAO,QAAQ,MACjB,QAAO,sBAAsB,OAAO,OAAO,KAAK;AAElD,QAAO;;AAGT,MAAM,gBAAgB,QAAmC;CACvD,MAAM,WAAW,MAAM,IAAI,MAAM,IAAI,CAAC,KAAI,MAAK,EAAE,MAAM,CAAC,GAAG,EAAE;AAG7D,QAAO;EACL,KAAK,SAAS,QAAO,MAAK,EAAE,MAAM,IAAI,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC,KAAI,MAAK,EAAE,MAAM,IAAI,CAAC,GAAG;EAClF,MAAM,SAAS,QAAO,MAAK,EAAE,MAAM,IAAI,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC,KAAI,MAAK,EAAE,MAAM,IAAI,CAAC,GAAG;EACpF;;AAGH,MAAM,gCAAgC,WAAoD;AACxF,KAAI,CAAC,OACH,QAAO;CAGT,MAAM,yBAAyB,aAAiC;AAC9D,MAAI,OAAOC,aAAW,SACpB,QAAO,iBAAiBA;AAE1B,SAAOA;;CAGT,MAAM,qBAAqB,OAAO,WAAW,YAAY,wBAAwB,OAAO;CACxF,MAAM,qBACJ,OAAO,WAAW,YAAY,aAAa,OAAO,MAAM,IAAI,cAAc,OAAO,aAAa;AAEhG,KAAI,sBAAsB,mBACxB,QAAO,sBAAsB,KAAK,MAAM,OAAO;AAGjD,QAAO;;;;;;;;AAST,MAAMC,oCAAsE,QAAQ,EAAE,4BAA4B;AAChH,KAAI,CAAC,OAAO,kBAAkB,CAAC,sBAC7B,QAAO;CAGT,MAAM,wBAAwB,6BAA6B,OAAO,eAAe;AACjF,KAAI,CAAC,sBACH,QAAO;CAGT,MAAM,EAAE,OAAO,iBAAiB,uBAAuB;CACvD,MAAM,CAAC,YAAY,cAAc;CAIjC,MAAM,iBAAiB,eAAe,KAAK,eAAe,aAAa;CACvE,MAAM,iBAAiB,eAAe,KAAK,eAAe,aAAa;AAEvE,SAAQ,OAAR;EACE,KAAK,eACH,QAAO;EACT,KAAK,gBACH,QAAO,eAAe,KAAK,iBAAiB;EAC9C,KAAK,eACH,QAAO,eAAe,KAAK,iBAAiB,kBAAkB;;;;;;;;;AAUpE,MAAM,4BAA4B,YAA2E;AAC3G,SAAQ,WAAoB;AAC1B,MAAI,CAAC,QAAQ,OACX,QAAO;EAGT,MAAM,uBAAuB,0BAA0B,QAAQ,QAAQ;EACvE,MAAM,mBAAmB,sBAAsB,QAAQ,QAAQ;EAC/D,MAAM,8BAA8B,iCAAiC,QAAQ,QAAQ;AAErF,MAAI,CAAC,wBAAwB,kBAAkB,4BAA4B,CAAC,MAAK,MAAK,MAAM,KAAK,CAC/F,QAAO,CAAC,wBAAwB,kBAAkB,4BAA4B,CAAC,MAAK,MAAK,MAAM,KAAK;AAGtG,SAAO,CAAC,wBAAwB,kBAAkB,4BAA4B,CAAC,OAAM,MAAK,MAAM,KAAK;;;;;;;;AA2BzG,MAAM,oBAAoB,EACxB,YAAY,EACV,WACA,eACA,QACA,OACA,OACA,SACA,SACA,SACA,UACA,KACA,iBAEF,SAAS,EAAE,0BAA0B,aACY;AACjD,KAAI,cAAc,UAAa,WAAW,OACxC,QAAO;EACL,UAAU;EACV,YAAY;EACZ;EACA,eAAe;EACf;EACA,OAAO;EACP,OAAO;EACP,SAAS;EACT,SAAS;EACT,KAAK;EACL;EACA;EACD;AAGH,KAAI,cAAc,QAAQ,WAAW,KACnC,QAAO;EACL,UAAU;EACV,YAAY;EACZ;EACA;EACA,eAAe;EACf,OAAO;EACP,OAAO;EACP,SAAS;EACT,SAAS;EACT,WAAW;EACX;EACA;EACD;AAGH,KAAI,2BAA2B,kBAAkB,UAC/C,QAAO;EACL,UAAU;EACV,YAAY;EACZ,WAAW;EACX,QAAQ;EACR,eAAe;EACf,OAAO;EACP,OAAO;EACP,SAAS;EACT,SAAS;EACT,WAAW;EACX;EACA;EACD;AAGH,KAAI,CAAC,CAAC,aAAa,CAAC,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,QAC7D,QAAO;EACL,UAAU;EACV,YAAY;EACZ;EACA;EACA;EACA,OAAO,SAAS;EAChB;EACA;EACA,SAAS,WAAW;EACpB;EACA;EACA;EACD;AAGH,KAAI,CAAC,CAAC,aAAa,CAAC,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,MACjD,QAAO;EACL,UAAU;EACV,YAAY;EACZ;EACA;EACA;EACA,OAAO,SAAS;EAChB,OAAO;EACP,SAAS;EACT,SAAS;EACT;EACA;EACA;EACD"}
|
|
@@ -192,5 +192,5 @@ const resolveAuthState = ({ authObject: { sessionId, sessionStatus, userId, acto
|
|
|
192
192
|
};
|
|
193
193
|
|
|
194
194
|
//#endregion
|
|
195
|
-
export {
|
|
196
|
-
//# sourceMappingURL=authorization-
|
|
195
|
+
export { validateReverificationConfig as i, resolveAuthState as n, splitByScope as r, createCheckAuthorization as t };
|
|
196
|
+
//# sourceMappingURL=authorization-DslZKDr7.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorization-DslZKDr7.mjs","names":["TYPES_TO_OBJECTS: TypesToConfig","checkOrgAuthorization: CheckOrgAuthorization","checkBillingAuthorization: CheckBillingAuthorization","config","checkReverificationAuthorization: CheckReverificationAuthorization"],"sources":["../../src/authorization.ts"],"sourcesContent":["import type {\n ActClaim,\n CheckAuthorizationWithCustomPermissions,\n GetToken,\n JwtPayload,\n OrganizationCustomPermissionKey,\n OrganizationCustomRoleKey,\n PendingSessionOptions,\n ReverificationConfig,\n SessionStatusClaim,\n SessionVerificationLevel,\n SessionVerificationTypes,\n SignOut,\n UseAuthReturn,\n} from './types';\n\ntype TypesToConfig = Record<SessionVerificationTypes, Exclude<ReverificationConfig, SessionVerificationTypes>>;\ntype AuthorizationOptions = {\n userId: string | null | undefined;\n orgId: string | null | undefined;\n orgRole: string | null | undefined;\n orgPermissions: string[] | null | undefined;\n factorVerificationAge: [number, number] | null;\n features: string | null | undefined;\n plans: string | null | undefined;\n};\n\ntype CheckOrgAuthorization = (\n params: { role?: OrganizationCustomRoleKey; permission?: OrganizationCustomPermissionKey },\n options: Pick<AuthorizationOptions, 'orgId' | 'orgRole' | 'orgPermissions'>,\n) => boolean | null;\n\ntype CheckBillingAuthorization = (\n params: { feature?: string; plan?: string },\n options: Pick<AuthorizationOptions, 'plans' | 'features'>,\n) => boolean | null;\n\ntype CheckReverificationAuthorization = (\n params: {\n reverification?: ReverificationConfig;\n },\n { factorVerificationAge }: AuthorizationOptions,\n) => boolean | null;\n\nconst TYPES_TO_OBJECTS: TypesToConfig = {\n strict_mfa: {\n afterMinutes: 10,\n level: 'multi_factor',\n },\n strict: {\n afterMinutes: 10,\n level: 'second_factor',\n },\n moderate: {\n afterMinutes: 60,\n level: 'second_factor',\n },\n lax: {\n afterMinutes: 1_440,\n level: 'second_factor',\n },\n};\n\nconst ALLOWED_LEVELS = new Set<SessionVerificationLevel>(['first_factor', 'second_factor', 'multi_factor']);\n\nconst ALLOWED_TYPES = new Set<SessionVerificationTypes>(['strict_mfa', 'strict', 'moderate', 'lax']);\n\n// Helper functions\nconst isValidMaxAge = (maxAge: any) => typeof maxAge === 'number' && maxAge > 0;\nconst isValidLevel = (level: any) => ALLOWED_LEVELS.has(level);\nconst isValidVerificationType = (type: any) => ALLOWED_TYPES.has(type);\n\nconst prefixWithOrg = (value: string) => value.replace(/^(org:)*/, 'org:');\n\n/**\n * Checks if a user has the required organization-level authorization.\n * Verifies if the user has the specified role or permission within their organization.\n * @returns null, if unable to determine due to missing data or unspecified role/permission.\n */\nconst checkOrgAuthorization: CheckOrgAuthorization = (params, options) => {\n const { orgId, orgRole, orgPermissions } = options;\n if (!params.role && !params.permission) {\n return null;\n }\n\n if (!orgId || !orgRole || !orgPermissions) {\n return null;\n }\n\n if (params.permission) {\n return orgPermissions.includes(prefixWithOrg(params.permission));\n }\n\n if (params.role) {\n return prefixWithOrg(orgRole) === prefixWithOrg(params.role);\n }\n return null;\n};\n\nconst checkForFeatureOrPlan = (claim: string, featureOrPlan: string) => {\n const { org: orgFeatures, user: userFeatures } = splitByScope(claim);\n const [scope, _id] = featureOrPlan.split(':');\n const id = _id || scope;\n\n if (scope === 'org') {\n return orgFeatures.includes(id);\n } else if (scope === 'user') {\n return userFeatures.includes(id);\n } else {\n // Since org scoped features will not exist if there is not an active org, merging is safe.\n return [...orgFeatures, ...userFeatures].includes(id);\n }\n};\n\nconst checkBillingAuthorization: CheckBillingAuthorization = (params, options) => {\n const { features, plans } = options;\n\n if (params.feature && features) {\n return checkForFeatureOrPlan(features, params.feature);\n }\n\n if (params.plan && plans) {\n return checkForFeatureOrPlan(plans, params.plan);\n }\n return null;\n};\n\nconst splitByScope = (fea: string | null | undefined) => {\n const features = fea ? fea.split(',').map(f => f.trim()) : [];\n\n // TODO: make this more efficient\n return {\n org: features.filter(f => f.split(':')[0].includes('o')).map(f => f.split(':')[1]),\n user: features.filter(f => f.split(':')[0].includes('u')).map(f => f.split(':')[1]),\n };\n};\n\nconst validateReverificationConfig = (config: ReverificationConfig | undefined | null) => {\n if (!config) {\n return false;\n }\n\n const convertConfigToObject = (config: ReverificationConfig) => {\n if (typeof config === 'string') {\n return TYPES_TO_OBJECTS[config];\n }\n return config;\n };\n\n const isValidStringValue = typeof config === 'string' && isValidVerificationType(config);\n const isValidObjectValue =\n typeof config === 'object' && isValidLevel(config.level) && isValidMaxAge(config.afterMinutes);\n\n if (isValidStringValue || isValidObjectValue) {\n return convertConfigToObject.bind(null, config);\n }\n\n return false;\n};\n\n/**\n * Evaluates if the user meets re-verification authentication requirements.\n * Compares the user's factor verification ages against the specified maxAge.\n * Handles different verification levels (first factor, second factor, multi-factor).\n * @returns null, if requirements or verification data are missing.\n */\nconst checkReverificationAuthorization: CheckReverificationAuthorization = (params, { factorVerificationAge }) => {\n if (!params.reverification || !factorVerificationAge) {\n return null;\n }\n\n const isValidReverification = validateReverificationConfig(params.reverification);\n if (!isValidReverification) {\n return null;\n }\n\n const { level, afterMinutes } = isValidReverification();\n const [factor1Age, factor2Age] = factorVerificationAge;\n\n // -1 indicates the factor group (1fa,2fa) is not enabled\n // -1 for 1fa is not a valid scenario, but we need to make sure we handle it properly\n const isValidFactor1 = factor1Age !== -1 ? afterMinutes > factor1Age : null;\n const isValidFactor2 = factor2Age !== -1 ? afterMinutes > factor2Age : null;\n\n switch (level) {\n case 'first_factor':\n return isValidFactor1;\n case 'second_factor':\n return factor2Age !== -1 ? isValidFactor2 : isValidFactor1;\n case 'multi_factor':\n return factor2Age === -1 ? isValidFactor1 : isValidFactor1 && isValidFactor2;\n }\n};\n\n/**\n * Creates a function for comprehensive user authorization checks.\n * Combines organization-level and reverification authentication checks.\n * The returned function authorizes if both checks pass, or if at least one passes\n * when the other is indeterminate. Fails if userId is missing.\n */\nconst createCheckAuthorization = (options: AuthorizationOptions): CheckAuthorizationWithCustomPermissions => {\n return (params): boolean => {\n if (!options.userId) {\n return false;\n }\n\n const billingAuthorization = checkBillingAuthorization(params, options);\n const orgAuthorization = checkOrgAuthorization(params, options);\n const reverificationAuthorization = checkReverificationAuthorization(params, options);\n\n if ([billingAuthorization || orgAuthorization, reverificationAuthorization].some(a => a === null)) {\n return [billingAuthorization || orgAuthorization, reverificationAuthorization].some(a => a === true);\n }\n\n return [billingAuthorization || orgAuthorization, reverificationAuthorization].every(a => a === true);\n };\n};\n\ntype AuthStateOptions = {\n authObject: {\n userId?: string | null;\n sessionId?: string | null;\n sessionStatus?: SessionStatusClaim | null;\n sessionClaims?: JwtPayload | null;\n actor?: ActClaim | null;\n orgId?: string | null;\n orgRole?: OrganizationCustomRoleKey | null;\n orgSlug?: string | null;\n orgPermissions?: OrganizationCustomPermissionKey[] | null;\n getToken: GetToken;\n signOut: SignOut;\n has: (params: Parameters<CheckAuthorizationWithCustomPermissions>[0]) => boolean;\n };\n options: PendingSessionOptions;\n};\n\n/**\n * Shared utility function that centralizes auth state resolution logic,\n * preventing duplication across different packages.\n * @internal\n */\nconst resolveAuthState = ({\n authObject: {\n sessionId,\n sessionStatus,\n userId,\n actor,\n orgId,\n orgRole,\n orgSlug,\n signOut,\n getToken,\n has,\n sessionClaims,\n },\n options: { treatPendingAsSignedOut = true },\n}: AuthStateOptions): UseAuthReturn | undefined => {\n if (sessionId === undefined && userId === undefined) {\n return {\n isLoaded: false,\n isSignedIn: undefined,\n sessionId,\n sessionClaims: undefined,\n userId,\n actor: undefined,\n orgId: undefined,\n orgRole: undefined,\n orgSlug: undefined,\n has: undefined,\n signOut,\n getToken,\n } as const;\n }\n\n if (sessionId === null && userId === null) {\n return {\n isLoaded: true,\n isSignedIn: false,\n sessionId,\n userId,\n sessionClaims: null,\n actor: null,\n orgId: null,\n orgRole: null,\n orgSlug: null,\n has: () => false,\n signOut,\n getToken,\n } as const;\n }\n\n if (treatPendingAsSignedOut && sessionStatus === 'pending') {\n return {\n isLoaded: true,\n isSignedIn: false,\n sessionId: null,\n userId: null,\n sessionClaims: null,\n actor: null,\n orgId: null,\n orgRole: null,\n orgSlug: null,\n has: () => false,\n signOut,\n getToken,\n } as const;\n }\n\n if (!!sessionId && !!sessionClaims && !!userId && !!orgId && !!orgRole) {\n return {\n isLoaded: true,\n isSignedIn: true,\n sessionId,\n sessionClaims,\n userId,\n actor: actor || null,\n orgId,\n orgRole,\n orgSlug: orgSlug || null,\n has,\n signOut,\n getToken,\n } as const;\n }\n\n if (!!sessionId && !!sessionClaims && !!userId && !orgId) {\n return {\n isLoaded: true,\n isSignedIn: true,\n sessionId,\n sessionClaims,\n userId,\n actor: actor || null,\n orgId: null,\n orgRole: null,\n orgSlug: null,\n has,\n signOut,\n getToken,\n } as const;\n }\n};\n\nexport { createCheckAuthorization, resolveAuthState, splitByScope, validateReverificationConfig };\n"],"mappings":";AA4CA,MAAMA,mBAAkC;CACtC,YAAY;EACV,cAAc;EACd,OAAO;EACR;CACD,QAAQ;EACN,cAAc;EACd,OAAO;EACR;CACD,UAAU;EACR,cAAc;EACd,OAAO;EACR;CACD,KAAK;EACH,cAAc;EACd,OAAO;EACR;CACF;AAED,MAAM,iBAAiB,IAAI,IAA8B;CAAC;CAAgB;CAAiB;CAAe,CAAC;AAE3G,MAAM,gBAAgB,IAAI,IAA8B;CAAC;CAAc;CAAU;CAAY;CAAM,CAAC;AAGpG,MAAM,iBAAiB,WAAgB,OAAO,WAAW,YAAY,SAAS;AAC9E,MAAM,gBAAgB,UAAe,eAAe,IAAI,MAAM;AAC9D,MAAM,2BAA2B,SAAc,cAAc,IAAI,KAAK;AAEtE,MAAM,iBAAiB,UAAkB,MAAM,QAAQ,YAAY,OAAO;;;;;;AAO1E,MAAMC,yBAAgD,QAAQ,YAAY;CACxE,MAAM,EAAE,OAAO,SAAS,mBAAmB;AAC3C,KAAI,CAAC,OAAO,QAAQ,CAAC,OAAO,WAC1B,QAAO;AAGT,KAAI,CAAC,SAAS,CAAC,WAAW,CAAC,eACzB,QAAO;AAGT,KAAI,OAAO,WACT,QAAO,eAAe,SAAS,cAAc,OAAO,WAAW,CAAC;AAGlE,KAAI,OAAO,KACT,QAAO,cAAc,QAAQ,KAAK,cAAc,OAAO,KAAK;AAE9D,QAAO;;AAGT,MAAM,yBAAyB,OAAe,kBAA0B;CACtE,MAAM,EAAE,KAAK,aAAa,MAAM,iBAAiB,aAAa,MAAM;CACpE,MAAM,CAAC,OAAO,OAAO,cAAc,MAAM,IAAI;CAC7C,MAAM,KAAK,OAAO;AAElB,KAAI,UAAU,MACZ,QAAO,YAAY,SAAS,GAAG;UACtB,UAAU,OACnB,QAAO,aAAa,SAAS,GAAG;KAGhC,QAAO,CAAC,GAAG,aAAa,GAAG,aAAa,CAAC,SAAS,GAAG;;AAIzD,MAAMC,6BAAwD,QAAQ,YAAY;CAChF,MAAM,EAAE,UAAU,UAAU;AAE5B,KAAI,OAAO,WAAW,SACpB,QAAO,sBAAsB,UAAU,OAAO,QAAQ;AAGxD,KAAI,OAAO,QAAQ,MACjB,QAAO,sBAAsB,OAAO,OAAO,KAAK;AAElD,QAAO;;AAGT,MAAM,gBAAgB,QAAmC;CACvD,MAAM,WAAW,MAAM,IAAI,MAAM,IAAI,CAAC,KAAI,MAAK,EAAE,MAAM,CAAC,GAAG,EAAE;AAG7D,QAAO;EACL,KAAK,SAAS,QAAO,MAAK,EAAE,MAAM,IAAI,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC,KAAI,MAAK,EAAE,MAAM,IAAI,CAAC,GAAG;EAClF,MAAM,SAAS,QAAO,MAAK,EAAE,MAAM,IAAI,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC,KAAI,MAAK,EAAE,MAAM,IAAI,CAAC,GAAG;EACpF;;AAGH,MAAM,gCAAgC,WAAoD;AACxF,KAAI,CAAC,OACH,QAAO;CAGT,MAAM,yBAAyB,aAAiC;AAC9D,MAAI,OAAOC,aAAW,SACpB,QAAO,iBAAiBA;AAE1B,SAAOA;;CAGT,MAAM,qBAAqB,OAAO,WAAW,YAAY,wBAAwB,OAAO;CACxF,MAAM,qBACJ,OAAO,WAAW,YAAY,aAAa,OAAO,MAAM,IAAI,cAAc,OAAO,aAAa;AAEhG,KAAI,sBAAsB,mBACxB,QAAO,sBAAsB,KAAK,MAAM,OAAO;AAGjD,QAAO;;;;;;;;AAST,MAAMC,oCAAsE,QAAQ,EAAE,4BAA4B;AAChH,KAAI,CAAC,OAAO,kBAAkB,CAAC,sBAC7B,QAAO;CAGT,MAAM,wBAAwB,6BAA6B,OAAO,eAAe;AACjF,KAAI,CAAC,sBACH,QAAO;CAGT,MAAM,EAAE,OAAO,iBAAiB,uBAAuB;CACvD,MAAM,CAAC,YAAY,cAAc;CAIjC,MAAM,iBAAiB,eAAe,KAAK,eAAe,aAAa;CACvE,MAAM,iBAAiB,eAAe,KAAK,eAAe,aAAa;AAEvE,SAAQ,OAAR;EACE,KAAK,eACH,QAAO;EACT,KAAK,gBACH,QAAO,eAAe,KAAK,iBAAiB;EAC9C,KAAK,eACH,QAAO,eAAe,KAAK,iBAAiB,kBAAkB;;;;;;;;;AAUpE,MAAM,4BAA4B,YAA2E;AAC3G,SAAQ,WAAoB;AAC1B,MAAI,CAAC,QAAQ,OACX,QAAO;EAGT,MAAM,uBAAuB,0BAA0B,QAAQ,QAAQ;EACvE,MAAM,mBAAmB,sBAAsB,QAAQ,QAAQ;EAC/D,MAAM,8BAA8B,iCAAiC,QAAQ,QAAQ;AAErF,MAAI,CAAC,wBAAwB,kBAAkB,4BAA4B,CAAC,MAAK,MAAK,MAAM,KAAK,CAC/F,QAAO,CAAC,wBAAwB,kBAAkB,4BAA4B,CAAC,MAAK,MAAK,MAAM,KAAK;AAGtG,SAAO,CAAC,wBAAwB,kBAAkB,4BAA4B,CAAC,OAAM,MAAK,MAAM,KAAK;;;;;;;;AA2BzG,MAAM,oBAAoB,EACxB,YAAY,EACV,WACA,eACA,QACA,OACA,OACA,SACA,SACA,SACA,UACA,KACA,iBAEF,SAAS,EAAE,0BAA0B,aACY;AACjD,KAAI,cAAc,UAAa,WAAW,OACxC,QAAO;EACL,UAAU;EACV,YAAY;EACZ;EACA,eAAe;EACf;EACA,OAAO;EACP,OAAO;EACP,SAAS;EACT,SAAS;EACT,KAAK;EACL;EACA;EACD;AAGH,KAAI,cAAc,QAAQ,WAAW,KACnC,QAAO;EACL,UAAU;EACV,YAAY;EACZ;EACA;EACA,eAAe;EACf,OAAO;EACP,OAAO;EACP,SAAS;EACT,SAAS;EACT,WAAW;EACX;EACA;EACD;AAGH,KAAI,2BAA2B,kBAAkB,UAC/C,QAAO;EACL,UAAU;EACV,YAAY;EACZ,WAAW;EACX,QAAQ;EACR,eAAe;EACf,OAAO;EACP,OAAO;EACP,SAAS;EACT,SAAS;EACT,WAAW;EACX;EACA;EACD;AAGH,KAAI,CAAC,CAAC,aAAa,CAAC,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,QAC7D,QAAO;EACL,UAAU;EACV,YAAY;EACZ;EACA;EACA;EACA,OAAO,SAAS;EAChB;EACA;EACA,SAAS,WAAW;EACpB;EACA;EACA;EACD;AAGH,KAAI,CAAC,CAAC,aAAa,CAAC,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,MACjD,QAAO;EACL,UAAU;EACV,YAAY;EACZ;EACA;EACA;EACA,OAAO,SAAS;EAChB,OAAO;EACP,SAAS;EACT,SAAS;EACT;EACA;EACA;EACD"}
|
package/dist/runtime/{authorization-errors-CS1pNy8i.mjs → authorization-errors-BmyMJ_xr.mjs}
RENAMED
|
@@ -11,5 +11,5 @@ const isReverificationHint = (result) => {
|
|
|
11
11
|
};
|
|
12
12
|
|
|
13
13
|
//#endregion
|
|
14
|
-
export {
|
|
15
|
-
//# sourceMappingURL=authorization-errors-
|
|
14
|
+
export { reverificationError as n, reverificationErrorResponse as r, isReverificationHint as t };
|
|
15
|
+
//# sourceMappingURL=authorization-errors-BmyMJ_xr.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorization-errors-BmyMJ_xr.mjs","names":[],"sources":["../../src/authorization-errors.ts"],"sourcesContent":["import type { ReverificationConfig } from './types';\n\ntype ClerkError<T> = {\n clerk_error: T;\n};\n\nconst REVERIFICATION_REASON = 'reverification-error';\n\ntype ReverificationError<M extends { metadata?: any } = { metadata: unknown }> = ClerkError<\n {\n type: 'forbidden';\n reason: typeof REVERIFICATION_REASON;\n } & M\n>;\n\nconst reverificationError = <MC extends ReverificationConfig>(\n missingConfig?: MC,\n): ReverificationError<{\n metadata?: {\n reverification?: MC;\n };\n}> => ({\n clerk_error: {\n type: 'forbidden',\n reason: REVERIFICATION_REASON,\n metadata: {\n reverification: missingConfig,\n },\n },\n});\n\nconst reverificationErrorResponse = (...args: Parameters<typeof reverificationError>) =>\n new Response(JSON.stringify(reverificationError(...args)), {\n status: 403,\n });\n\nconst isReverificationHint = (result: any): result is ReturnType<typeof reverificationError> => {\n return (\n result &&\n typeof result === 'object' &&\n 'clerk_error' in result &&\n result.clerk_error?.type === 'forbidden' &&\n result.clerk_error?.reason === REVERIFICATION_REASON\n );\n};\n\nexport { isReverificationHint, reverificationError, reverificationErrorResponse };\n"],"mappings":";AAMA,MAAM,wBAAwB;AAS9B,MAAM,uBACJ,mBAKK,EACL,aAAa;CACX,MAAM;CACN,QAAQ;CACR,UAAU,EACR,gBAAgB,eACjB;CACF,EACF;AAED,MAAM,+BAA+B,GAAG,SACtC,IAAI,SAAS,KAAK,UAAU,oBAAoB,GAAG,KAAK,CAAC,EAAE,EACzD,QAAQ,KACT,CAAC;AAEJ,MAAM,wBAAwB,WAAkE;AAC9F,QACE,UACA,OAAO,WAAW,YAClB,iBAAiB,UACjB,OAAO,aAAa,SAAS,eAC7B,OAAO,aAAa,WAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorization-errors-dSnD6mpz.js","names":[
|
|
1
|
+
{"version":3,"file":"authorization-errors-dSnD6mpz.js","names":[],"sources":["../../src/authorization-errors.ts"],"sourcesContent":["import type { ReverificationConfig } from './types';\n\ntype ClerkError<T> = {\n clerk_error: T;\n};\n\nconst REVERIFICATION_REASON = 'reverification-error';\n\ntype ReverificationError<M extends { metadata?: any } = { metadata: unknown }> = ClerkError<\n {\n type: 'forbidden';\n reason: typeof REVERIFICATION_REASON;\n } & M\n>;\n\nconst reverificationError = <MC extends ReverificationConfig>(\n missingConfig?: MC,\n): ReverificationError<{\n metadata?: {\n reverification?: MC;\n };\n}> => ({\n clerk_error: {\n type: 'forbidden',\n reason: REVERIFICATION_REASON,\n metadata: {\n reverification: missingConfig,\n },\n },\n});\n\nconst reverificationErrorResponse = (...args: Parameters<typeof reverificationError>) =>\n new Response(JSON.stringify(reverificationError(...args)), {\n status: 403,\n });\n\nconst isReverificationHint = (result: any): result is ReturnType<typeof reverificationError> => {\n return (\n result &&\n typeof result === 'object' &&\n 'clerk_error' in result &&\n result.clerk_error?.type === 'forbidden' &&\n result.clerk_error?.reason === REVERIFICATION_REASON\n );\n};\n\nexport { isReverificationHint, reverificationError, reverificationErrorResponse };\n"],"mappings":";;AAMA,MAAM,wBAAwB;AAS9B,MAAM,uBACJ,mBAKK,EACL,aAAa;CACX,MAAM;CACN,QAAQ;CACR,UAAU,EACR,gBAAgB,eACjB;CACF,EACF;AAED,MAAM,+BAA+B,GAAG,SACtC,IAAI,SAAS,KAAK,UAAU,oBAAoB,GAAG,KAAK,CAAC,EAAE,EACzD,QAAQ,KACT,CAAC;AAEJ,MAAM,wBAAwB,WAAkE;AAC9F,QACE,UACA,OAAO,WAAW,YAClB,iBAAiB,UACjB,OAAO,aAAa,SAAS,eAC7B,OAAO,aAAa,WAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorization-errors.d.mts","names":[],"sources":["../../src/authorization-errors.ts"],"sourcesContent":[],"mappings":";;;KAEK;eACU;AAHqC,CAAA;AAGpC,cAGV,qBAAA,GAAqB,sBAAA;AAAA,KAEtB,mBAAA,CAAA,UAAmB;EAGL,QAAA,CAAA,EAAA,GAAA;CACb,GAAA;EAJ2E,QAAA,EAAA,OAAA;
|
|
1
|
+
{"version":3,"file":"authorization-errors.d.mts","names":[],"sources":["../../src/authorization-errors.ts"],"sourcesContent":[],"mappings":";;;KAEK;eACU;AAHqC,CAAA;AAGpC,cAGV,qBAAA,GAAqB,sBAAA;AAAA,KAEtB,mBAAA,CAAA,UAAmB;EAGL,QAAA,CAAA,EAAA,GAAA;CACb,GAAA;EAJ2E,QAAA,EAAA,OAAA;CAAU,CAAA,GAAV,UAAU,CAAA;EAOrF,IAAA,EAAA,WAAA;EAAkC,MAAA,EAAA,OAJrB,qBAIqB;CACtB,GAJZ,CAIY,CAAA;cADZ,mBAIe,EAAA,CAAA,WAJmB,oBAInB,CAAA,CAAA,aAAA,CAAA,EAHH,EAGG,EAAA,GAFlB,mBAEkB,CAAA;EAFlB,QAAA,CAAA,EAAA;IAAmB,cAAA,CAAA,EAED,EAFC;EAchB,CAAA;CAA0D,CAAA;cAA1D,2BAAwC,EAAA,CAAA,GAAA,IAAA,EAAA,UAAA,CAAA,OAAkB,mBAAlB,CAAA,EAAA,GAAsC,QAAtC;cAKxC,oBAL8E,EAAA,CAAA,MAAA,EAAA,GAAA,EAAA,GAAA,MAAA,IAK9B,UAL8B,CAAA,OAKZ,mBALY,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorization-errors.d.ts","names":[],"sources":["../../src/authorization-errors.ts"],"sourcesContent":[],"mappings":";;;KAEK;eACU;AAHqC,CAAA;AAGpC,cAGV,qBAAA,GAAqB,sBAAA;AAAA,KAEtB,mBAAA,CAAA,UAAmB;EAGL,QAAA,CAAA,EAAA,GAAA;CACb,GAAA;EAJ2E,QAAA,EAAA,OAAA;
|
|
1
|
+
{"version":3,"file":"authorization-errors.d.ts","names":[],"sources":["../../src/authorization-errors.ts"],"sourcesContent":[],"mappings":";;;KAEK;eACU;AAHqC,CAAA;AAGpC,cAGV,qBAAA,GAAqB,sBAAA;AAAA,KAEtB,mBAAA,CAAA,UAAmB;EAGL,QAAA,CAAA,EAAA,GAAA;CACb,GAAA;EAJ2E,QAAA,EAAA,OAAA;CAAU,CAAA,GAAV,UAAU,CAAA;EAOrF,IAAA,EAAA,WAAA;EAAkC,MAAA,EAAA,OAJrB,qBAIqB;CACtB,GAJZ,CAIY,CAAA;cADZ,mBAIe,EAAA,CAAA,WAJmB,oBAInB,CAAA,CAAA,aAAA,CAAA,EAHH,EAGG,EAAA,GAFlB,mBAEkB,CAAA;EAFlB,QAAA,CAAA,EAAA;IAAmB,cAAA,CAAA,EAED,EAFC;EAchB,CAAA;CAA0D,CAAA;cAA1D,2BAAwC,EAAA,CAAA,GAAA,IAAA,EAAA,UAAA,CAAA,OAAkB,mBAAlB,CAAA,EAAA,GAAsC,QAAtC;cAKxC,oBAL8E,EAAA,CAAA,MAAA,EAAA,GAAA,EAAA,GAAA,MAAA,IAK9B,UAL8B,CAAA,OAKZ,mBALY,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as reverificationError, r as reverificationErrorResponse, t as isReverificationHint } from "./authorization-errors-BmyMJ_xr.mjs";
|
|
2
2
|
|
|
3
3
|
export { isReverificationHint, reverificationError, reverificationErrorResponse };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Bs as CheckAuthorizationWithCustomPermissions, Qc as SessionVerificationLevel, Us as PendingSessionOptions, Vs as GetToken, Xc as SessionVerificationAfterMinutes, Yc as ReverificationConfig, _ as UseAuthReturn, as as ActClaim, cs as JwtPayload, ds as OrganizationCustomPermissionKey, fs as OrganizationCustomRoleKey, ls as SessionStatusClaim, xt as SignOut } from "./index-BmFYQinq.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/authorization.d.ts
|
|
4
4
|
type AuthorizationOptions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorization.d.mts","names":[],"sources":["../../src/authorization.ts"],"sourcesContent":[],"mappings":";;;KAiBK,oBAAA;;EAAA,KAAA,EAAA,MAAA,GAAA,IAAA,GAAoB,SAAA;EA8GnB,OAAA,EAAA,MAQL,GAAA,IAAA,GAAA,SAAA;EAEK,cAAA,EAAA,MAAA,EAAA,GAAA,IAqBL,GAAA,SAAA;EArB6C,qBAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA,GAAA,IAAA;;;;cAVxC,YAyEA,EAAA,CAAA,GAgBL,EAAA,MAAA,
|
|
1
|
+
{"version":3,"file":"authorization.d.mts","names":[],"sources":["../../src/authorization.ts"],"sourcesContent":[],"mappings":";;;KAiBK,oBAAA;;EAAA,KAAA,EAAA,MAAA,GAAA,IAAA,GAAoB,SAAA;EA8GnB,OAAA,EAAA,MAQL,GAAA,IAAA,GAAA,SAAA;EAEK,cAAA,EAAA,MAAA,EAAA,GAAA,IAqBL,GAAA,SAAA;EArB6C,qBAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA,GAAA,IAAA;;;;cAVxC,YAyEA,EAAA,CAAA,GAgBL,EAAA,MAAA,GAhB0C,IAAA,GAAA,SAAA,EAAA,GAAuB;EAkB7D,GAAA,EAAA,MAAA,EAAA;EAIe,IAAA,EAAA,MAAA,EAAA;CACA;cAtFd,4BAuFM,EAAA,CAAA,MAAA,EAvFkC,oBAuFlC,GAAA,SAAA,GAAA,IAAA,EAAA,GAAA,KAAA,GAAA,CAAA,GAAA,GAAA;EAEE,KAAA,0BAAA;EAEO,YAAA,iCAAA;CACP,CAAA;;;;;;AAIkB;cAjC1B,wBAyCoB,EAAA,CAAA,OAAA,EAzCiB,oBAyCjB,EAAA,GAzCwC,uCAyCxC;KAvBrB,gBAAA,GAuBqB;EAAA,UAAA,EAAA;IAAA,MAAA,CAAA,EAAA,MAAA,GAAA,IAAA;IAAA,SAAA,CAAA,EAAA,MAAA,GAAA,IAAA;IAAA,aAAA,CAAA,EAnBN,kBAmBM,GAAA,IAAA;IAAA,aAAA,CAAA,EAlBN,UAkBM,GAAA,IAAA;IAAA,KAAA,CAAA,EAjBd,QAiBc,GAAA,IAAA;IAAA,KAAA,CAAA,EAAA,MAAA,GAAA,IAAA;IAAA,OAAA,CAAA,EAfZ,yBAeY,GAAA,IAAA;IAAA,OAAA,CAAA,EAAA,MAAA,GAAA,IAAA;IAAA,cAAA,CAAA,EAbL,+BAaK,EAAA,GAAA,IAAA;IAevB,QAAA,EA3BW,QA2BX;IAAmB,OAAA,EA1BT,OA0BS;IAAa,GAAA,EAAA,CAAA,MAAA,EAzBjB,UAyBiB,CAzBN,uCAyBM,CAAA,CAAA,CAAA,CAAA,EAAA,GAAA,OAAA;;WAvBxB;;;;;;;cAQL;;;;;;;;;;;;;;;;;GAeH,qBAAmB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Bs as CheckAuthorizationWithCustomPermissions, Qc as SessionVerificationLevel, Us as PendingSessionOptions, Vs as GetToken, Xc as SessionVerificationAfterMinutes, Yc as ReverificationConfig, _ as UseAuthReturn, as as ActClaim, cs as JwtPayload, ds as OrganizationCustomPermissionKey, fs as OrganizationCustomRoleKey, ls as SessionStatusClaim, xt as SignOut } from "./index-DEeSkCwV.js";
|
|
2
2
|
|
|
3
3
|
//#region src/authorization.d.ts
|
|
4
4
|
type AuthorizationOptions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorization.d.ts","names":[],"sources":["../../src/authorization.ts"],"sourcesContent":[],"mappings":";;;KAiBK,oBAAA;;EAAA,KAAA,EAAA,MAAA,GAAA,IAAA,GAAoB,SAAA;EA8GnB,OAAA,EAAA,MAQL,GAAA,IAAA,GAAA,SAAA;EAEK,cAAA,EAAA,MAAA,EAAA,GAAA,IAqBL,GAAA,SAAA;EArB6C,qBAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA,GAAA,IAAA;;;;cAVxC,YAyEA,EAAA,CAAA,GAgBL,EAAA,MAAA,GAhB0C,IAAA,GAAA,SAAA,EAAA,GAAA;EAkBtC,GAAA,EAAA,MAAA,EAAA;EAIe,IAAA,EAAA,MAAA,EAAA;CACA;cAtFd,4BAuFM,EAAA,CAAA,MAAA,EAvFkC,oBAuFlC,GAAA,SAAA,GAAA,IAAA,EAAA,GAAA,KAAA,GAAA,CAAA,GAAA,GAAA;EAEE,KAAA,0BAAA;EAEO,YAAA,iCAAA;CACP,CAAA
|
|
1
|
+
{"version":3,"file":"authorization.d.ts","names":[],"sources":["../../src/authorization.ts"],"sourcesContent":[],"mappings":";;;KAiBK,oBAAA;;EAAA,KAAA,EAAA,MAAA,GAAA,IAAA,GAAoB,SAAA;EA8GnB,OAAA,EAAA,MAQL,GAAA,IAAA,GAAA,SAAA;EAEK,cAAA,EAAA,MAAA,EAAA,GAAA,IAqBL,GAAA,SAAA;EArB6C,qBAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA,GAAA,IAAA;;;;cAVxC,YAyEA,EAAA,CAAA,GAgBL,EAAA,MAAA,GAhB0C,IAAA,GAAA,SAAA,EAAA,GAAA;EAkBtC,GAAA,EAAA,MAAA,EAAA;EAIe,IAAA,EAAA,MAAA,EAAA;CACA;cAtFd,4BAuFM,EAAA,CAAA,MAAA,EAvFkC,oBAuFlC,GAAA,SAAA,GAAA,IAAA,EAAA,GAAA,KAAA,GAAA,CAAA,GAAA,GAAA;EAEE,KAAA,0BAAA;EAEO,YAAA,iCAAA;CACP,CAAA;;;;;;AAIkB;cAjC1B,wBAyCoB,EAAA,CAAA,OAAA,EAzCiB,oBAyCjB,EAAA,GAzCwC,uCAyCxC;KAvBrB,gBAAA,GAuBqB;EAAA,UAAA,EAAA;IAAA,MAAA,CAAA,EAAA,MAAA,GAAA,IAAA;IAAA,SAAA,CAAA,EAAA,MAAA,GAAA,IAAA;IAAA,aAAA,CAAA,EAnBN,kBAmBM,GAAA,IAAA;IAAA,aAAA,CAAA,EAlBN,UAkBM,GAAA,IAAA;IAAA,KAAA,CAAA,EAjBd,QAiBc,GAAA,IAAA;IAAA,KAAA,CAAA,EAAA,MAAA,GAAA,IAAA;IAAA,OAAA,CAAA,EAfZ,yBAeY,GAAA,IAAA;IAAA,OAAA,CAAA,EAAA,MAAA,GAAA,IAAA;IAAA,cAAA,CAAA,EAbL,+BAaK,EAAA,GAAA,IAAA;IAevB,QAAA,EA3BW,QA2BX;IAAmB,OAAA,EA1BT,OA0BS;IAAa,GAAA,EAAA,CAAA,MAAA,EAzBjB,UAyBiB,CAzBN,uCAyBM,CAAA,CAAA,CAAA,CAAA,EAAA,GAAA,OAAA;;WAvBxB;;;;;;;cAQL;;;;;;;;;;;;;;;;;GAeH,qBAAmB"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { i as validateReverificationConfig, n as resolveAuthState, r as splitByScope, t as createCheckAuthorization } from "./authorization-DslZKDr7.mjs";
|
|
2
2
|
|
|
3
3
|
export { createCheckAuthorization, resolveAuthState, splitByScope, validateReverificationConfig };
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function inBrowser() {
|
|
7
7
|
return typeof window !== "undefined";
|
|
8
8
|
}
|
|
9
|
-
const
|
|
9
|
+
const botAgentRegex = new RegExp([
|
|
10
10
|
"bot",
|
|
11
11
|
"spider",
|
|
12
12
|
"crawl",
|
|
@@ -35,8 +35,7 @@ const botAgents = [
|
|
|
35
35
|
"whatsapp",
|
|
36
36
|
"youtube",
|
|
37
37
|
"semrush"
|
|
38
|
-
];
|
|
39
|
-
const botAgentRegex = new RegExp(botAgents.join("|"), "i");
|
|
38
|
+
].join("|"), "i");
|
|
40
39
|
/**
|
|
41
40
|
* Checks if the user agent is a bot.
|
|
42
41
|
* @param userAgent - Any user agent string
|
|
@@ -62,8 +61,7 @@ function isBrowserOnline() {
|
|
|
62
61
|
const navigator = inBrowser() ? window?.navigator : null;
|
|
63
62
|
if (!navigator) return false;
|
|
64
63
|
const isNavigatorOnline = navigator?.onLine;
|
|
65
|
-
|
|
66
|
-
return isExperimentalConnectionOnline && isNavigatorOnline;
|
|
64
|
+
return navigator?.connection?.rtt !== 0 && navigator?.connection?.downlink !== 0 && isNavigatorOnline;
|
|
67
65
|
}
|
|
68
66
|
/**
|
|
69
67
|
* Runs `isBrowserOnline` and `isValidBrowser` to check if the current environment is a valid browser and if the navigator is online.
|
|
@@ -74,5 +72,5 @@ function isValidBrowserOnline() {
|
|
|
74
72
|
}
|
|
75
73
|
|
|
76
74
|
//#endregion
|
|
77
|
-
export {
|
|
78
|
-
//# sourceMappingURL=browser-
|
|
75
|
+
export { userAgentIsRobot as a, isValidBrowserOnline as i, isBrowserOnline as n, isValidBrowser as r, inBrowser as t };
|
|
76
|
+
//# sourceMappingURL=browser-CSZli54M.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-CSZli54M.mjs","names":[],"sources":["../../src/browser.ts"],"sourcesContent":["/**\n * Checks if the window object is defined. You can also use this to check if something is happening on the client side.\n * @returns {boolean}\n */\nexport function inBrowser(): boolean {\n return typeof window !== 'undefined';\n}\n\nconst botAgents = [\n 'bot',\n 'spider',\n 'crawl',\n 'APIs-Google',\n 'AdsBot',\n 'Googlebot',\n 'mediapartners',\n 'Google Favicon',\n 'FeedFetcher',\n 'Google-Read-Aloud',\n 'DuplexWeb-Google',\n 'googleweblight',\n 'bing',\n 'yandex',\n 'baidu',\n 'duckduck',\n 'yahoo',\n 'ecosia',\n 'ia_archiver',\n 'facebook',\n 'instagram',\n 'pinterest',\n 'reddit',\n 'slack',\n 'twitter',\n 'whatsapp',\n 'youtube',\n 'semrush',\n];\nconst botAgentRegex = new RegExp(botAgents.join('|'), 'i');\n\n/**\n * Checks if the user agent is a bot.\n * @param userAgent - Any user agent string\n * @returns {boolean}\n */\nexport function userAgentIsRobot(userAgent: string): boolean {\n return !userAgent ? false : botAgentRegex.test(userAgent);\n}\n\n/**\n * Checks if the current environment is a browser and the user agent is not a bot.\n * @returns {boolean}\n */\nexport function isValidBrowser(): boolean {\n const navigator = inBrowser() ? window?.navigator : null;\n if (!navigator) {\n return false;\n }\n return !userAgentIsRobot(navigator?.userAgent) && !navigator?.webdriver;\n}\n\n/**\n * Checks if the current environment is a browser and if the navigator is online.\n * @returns {boolean}\n */\nexport function isBrowserOnline(): boolean {\n const navigator = inBrowser() ? window?.navigator : null;\n if (!navigator) {\n return false;\n }\n\n const isNavigatorOnline = navigator?.onLine;\n\n // Being extra safe with the experimental `connection` property, as it is not defined in all browsers\n // https://developer.mozilla.org/en-US/docs/Web/API/Navigator/connection#browser_compatibility\n // @ts-ignore\n const isExperimentalConnectionOnline = navigator?.connection?.rtt !== 0 && navigator?.connection?.downlink !== 0;\n return isExperimentalConnectionOnline && isNavigatorOnline;\n}\n\n/**\n * Runs `isBrowserOnline` and `isValidBrowser` to check if the current environment is a valid browser and if the navigator is online.\n * @returns {boolean}\n */\nexport function isValidBrowserOnline(): boolean {\n return isBrowserOnline() && isValidBrowser();\n}\n"],"mappings":";;;;;AAIA,SAAgB,YAAqB;AACnC,QAAO,OAAO,WAAW;;AAiC3B,MAAM,gBAAgB,IAAI,OA9BR;CAChB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,CAC0C,KAAK,IAAI,EAAE,IAAI;;;;;;AAO1D,SAAgB,iBAAiB,WAA4B;AAC3D,QAAO,CAAC,YAAY,QAAQ,cAAc,KAAK,UAAU;;;;;;AAO3D,SAAgB,iBAA0B;CACxC,MAAM,YAAY,WAAW,GAAG,QAAQ,YAAY;AACpD,KAAI,CAAC,UACH,QAAO;AAET,QAAO,CAAC,iBAAiB,WAAW,UAAU,IAAI,CAAC,WAAW;;;;;;AAOhE,SAAgB,kBAA2B;CACzC,MAAM,YAAY,WAAW,GAAG,QAAQ,YAAY;AACpD,KAAI,CAAC,UACH,QAAO;CAGT,MAAM,oBAAoB,WAAW;AAMrC,QADuC,WAAW,YAAY,QAAQ,KAAK,WAAW,YAAY,aAAa,KACtE;;;;;;AAO3C,SAAgB,uBAAgC;AAC9C,QAAO,iBAAiB,IAAI,gBAAgB"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
function inBrowser() {
|
|
8
8
|
return typeof window !== "undefined";
|
|
9
9
|
}
|
|
10
|
-
const
|
|
10
|
+
const botAgentRegex = new RegExp([
|
|
11
11
|
"bot",
|
|
12
12
|
"spider",
|
|
13
13
|
"crawl",
|
|
@@ -36,8 +36,7 @@ const botAgents = [
|
|
|
36
36
|
"whatsapp",
|
|
37
37
|
"youtube",
|
|
38
38
|
"semrush"
|
|
39
|
-
];
|
|
40
|
-
const botAgentRegex = new RegExp(botAgents.join("|"), "i");
|
|
39
|
+
].join("|"), "i");
|
|
41
40
|
/**
|
|
42
41
|
* Checks if the user agent is a bot.
|
|
43
42
|
* @param userAgent - Any user agent string
|
|
@@ -63,8 +62,7 @@ function isBrowserOnline() {
|
|
|
63
62
|
const navigator = inBrowser() ? window?.navigator : null;
|
|
64
63
|
if (!navigator) return false;
|
|
65
64
|
const isNavigatorOnline = navigator?.onLine;
|
|
66
|
-
|
|
67
|
-
return isExperimentalConnectionOnline && isNavigatorOnline;
|
|
65
|
+
return navigator?.connection?.rtt !== 0 && navigator?.connection?.downlink !== 0 && isNavigatorOnline;
|
|
68
66
|
}
|
|
69
67
|
/**
|
|
70
68
|
* Runs `isBrowserOnline` and `isValidBrowser` to check if the current environment is a valid browser and if the navigator is online.
|
|
@@ -105,4 +103,4 @@ Object.defineProperty(exports, 'userAgentIsRobot', {
|
|
|
105
103
|
return userAgentIsRobot;
|
|
106
104
|
}
|
|
107
105
|
});
|
|
108
|
-
//# sourceMappingURL=browser-
|
|
106
|
+
//# sourceMappingURL=browser-Ch5Nzweq.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-Ch5Nzweq.js","names":[],"sources":["../../src/browser.ts"],"sourcesContent":["/**\n * Checks if the window object is defined. You can also use this to check if something is happening on the client side.\n * @returns {boolean}\n */\nexport function inBrowser(): boolean {\n return typeof window !== 'undefined';\n}\n\nconst botAgents = [\n 'bot',\n 'spider',\n 'crawl',\n 'APIs-Google',\n 'AdsBot',\n 'Googlebot',\n 'mediapartners',\n 'Google Favicon',\n 'FeedFetcher',\n 'Google-Read-Aloud',\n 'DuplexWeb-Google',\n 'googleweblight',\n 'bing',\n 'yandex',\n 'baidu',\n 'duckduck',\n 'yahoo',\n 'ecosia',\n 'ia_archiver',\n 'facebook',\n 'instagram',\n 'pinterest',\n 'reddit',\n 'slack',\n 'twitter',\n 'whatsapp',\n 'youtube',\n 'semrush',\n];\nconst botAgentRegex = new RegExp(botAgents.join('|'), 'i');\n\n/**\n * Checks if the user agent is a bot.\n * @param userAgent - Any user agent string\n * @returns {boolean}\n */\nexport function userAgentIsRobot(userAgent: string): boolean {\n return !userAgent ? false : botAgentRegex.test(userAgent);\n}\n\n/**\n * Checks if the current environment is a browser and the user agent is not a bot.\n * @returns {boolean}\n */\nexport function isValidBrowser(): boolean {\n const navigator = inBrowser() ? window?.navigator : null;\n if (!navigator) {\n return false;\n }\n return !userAgentIsRobot(navigator?.userAgent) && !navigator?.webdriver;\n}\n\n/**\n * Checks if the current environment is a browser and if the navigator is online.\n * @returns {boolean}\n */\nexport function isBrowserOnline(): boolean {\n const navigator = inBrowser() ? window?.navigator : null;\n if (!navigator) {\n return false;\n }\n\n const isNavigatorOnline = navigator?.onLine;\n\n // Being extra safe with the experimental `connection` property, as it is not defined in all browsers\n // https://developer.mozilla.org/en-US/docs/Web/API/Navigator/connection#browser_compatibility\n // @ts-ignore\n const isExperimentalConnectionOnline = navigator?.connection?.rtt !== 0 && navigator?.connection?.downlink !== 0;\n return isExperimentalConnectionOnline && isNavigatorOnline;\n}\n\n/**\n * Runs `isBrowserOnline` and `isValidBrowser` to check if the current environment is a valid browser and if the navigator is online.\n * @returns {boolean}\n */\nexport function isValidBrowserOnline(): boolean {\n return isBrowserOnline() && isValidBrowser();\n}\n"],"mappings":";;;;;;AAIA,SAAgB,YAAqB;AACnC,QAAO,OAAO,WAAW;;AAiC3B,MAAM,gBAAgB,IAAI,OA9BR;CAChB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,CAC0C,KAAK,IAAI,EAAE,IAAI;;;;;;AAO1D,SAAgB,iBAAiB,WAA4B;AAC3D,QAAO,CAAC,YAAY,QAAQ,cAAc,KAAK,UAAU;;;;;;AAO3D,SAAgB,iBAA0B;CACxC,MAAM,YAAY,WAAW,GAAG,QAAQ,YAAY;AACpD,KAAI,CAAC,UACH,QAAO;AAET,QAAO,CAAC,iBAAiB,WAAW,UAAU,IAAI,CAAC,WAAW;;;;;;AAOhE,SAAgB,kBAA2B;CACzC,MAAM,YAAY,WAAW,GAAG,QAAQ,YAAY;AACpD,KAAI,CAAC,UACH,QAAO;CAGT,MAAM,oBAAoB,WAAW;AAMrC,QADuC,WAAW,YAAY,QAAQ,KAAK,WAAW,YAAY,aAAa,KACtE;;;;;;AAO3C,SAAgB,uBAAgC;AAC9C,QAAO,iBAAiB,IAAI,gBAAgB"}
|
|
@@ -26,5 +26,5 @@ declare function isBrowserOnline(): boolean;
|
|
|
26
26
|
*/
|
|
27
27
|
declare function isValidBrowserOnline(): boolean;
|
|
28
28
|
//#endregion
|
|
29
|
-
export {
|
|
30
|
-
//# sourceMappingURL=browser-
|
|
29
|
+
export { userAgentIsRobot as a, isValidBrowserOnline as i, isBrowserOnline as n, isValidBrowser as r, inBrowser as t };
|
|
30
|
+
//# sourceMappingURL=browser-Dnks5mlF.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-
|
|
1
|
+
{"version":3,"file":"browser-Dnks5mlF.d.ts","names":[],"sources":["../../src/browser.ts"],"sourcesContent":[],"mappings":";;AAIA;AAyCA;AAQA;AAYgB,iBA7DA,SAAA,CAAA,CA6De,EAAA,OAAA;AAmB/B;;;;;iBAvCgB,gBAAA;;;;;iBAQA,cAAA,CAAA;;;;;iBAYA,eAAA,CAAA;;;;;iBAmBA,oBAAA,CAAA"}
|
|
@@ -26,5 +26,5 @@ declare function isBrowserOnline(): boolean;
|
|
|
26
26
|
*/
|
|
27
27
|
declare function isValidBrowserOnline(): boolean;
|
|
28
28
|
//#endregion
|
|
29
|
-
export {
|
|
30
|
-
//# sourceMappingURL=browser-
|
|
29
|
+
export { userAgentIsRobot as a, isValidBrowserOnline as i, isBrowserOnline as n, isValidBrowser as r, inBrowser as t };
|
|
30
|
+
//# sourceMappingURL=browser-PBKCCO2m.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-
|
|
1
|
+
{"version":3,"file":"browser-PBKCCO2m.d.mts","names":[],"sources":["../../src/browser.ts"],"sourcesContent":[],"mappings":";;AAIA;AAyCA;AAQA;AAYgB,iBA7DA,SAAA,CAAA,CA6De,EAAA,OAAA;AAmB/B;;;;;iBAvCgB,gBAAA;;;;;iBAQA,cAAA,CAAA;;;;;iBAYA,eAAA,CAAA;;;;;iBAmBA,oBAAA,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { a as userAgentIsRobot, i as isValidBrowserOnline, n as isBrowserOnline, r as isValidBrowser, t as inBrowser } from "./browser-PBKCCO2m.mjs";
|
|
2
2
|
export { inBrowser, isBrowserOnline, isValidBrowser, isValidBrowserOnline, userAgentIsRobot };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { a as userAgentIsRobot, i as isValidBrowserOnline, n as isBrowserOnline, r as isValidBrowser, t as inBrowser } from "./browser-Dnks5mlF.js";
|
|
2
2
|
export { inBrowser, isBrowserOnline, isValidBrowser, isValidBrowserOnline, userAgentIsRobot };
|
package/dist/runtime/browser.js
CHANGED
package/dist/runtime/browser.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { a as userAgentIsRobot, i as isValidBrowserOnline, n as isBrowserOnline, r as isValidBrowser, t as inBrowser } from "./browser-CSZli54M.mjs";
|
|
2
2
|
|
|
3
3
|
export { inBrowser, isBrowserOnline, isValidBrowser, isValidBrowserOnline, userAgentIsRobot };
|
|
@@ -5,8 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
function buildAccountsBaseUrl(frontendApi) {
|
|
7
7
|
if (!frontendApi) return "";
|
|
8
|
-
|
|
9
|
-
return `https://${accountsBaseUrl}`;
|
|
8
|
+
return `https://${frontendApi.replace(/clerk\.accountsstage\./, "accountsstage.").replace(/clerk\.accounts\.|clerk\./, "accounts.")}`;
|
|
10
9
|
}
|
|
11
10
|
|
|
12
11
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildAccountsBaseUrl.js","names":[
|
|
1
|
+
{"version":3,"file":"buildAccountsBaseUrl.js","names":[],"sources":["../../src/buildAccountsBaseUrl.ts"],"sourcesContent":["/**\n * Builds a full origin string pointing to the Account Portal for the given frontend API.\n */\nexport function buildAccountsBaseUrl(frontendApi?: string): string {\n if (!frontendApi) {\n return '';\n }\n\n // convert url from FAPI to accounts for Kima and legacy (prod & dev) instances\n const accountsBaseUrl = frontendApi\n // staging accounts\n .replace(/clerk\\.accountsstage\\./, 'accountsstage.')\n .replace(/clerk\\.accounts\\.|clerk\\./, 'accounts.');\n return `https://${accountsBaseUrl}`;\n}\n"],"mappings":";;;;;AAGA,SAAgB,qBAAqB,aAA8B;AACjE,KAAI,CAAC,YACH,QAAO;AAQT,QAAO,WAJiB,YAErB,QAAQ,0BAA0B,iBAAiB,CACnD,QAAQ,6BAA6B,YAAY"}
|
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
function buildAccountsBaseUrl(frontendApi) {
|
|
6
6
|
if (!frontendApi) return "";
|
|
7
|
-
|
|
8
|
-
return `https://${accountsBaseUrl}`;
|
|
7
|
+
return `https://${frontendApi.replace(/clerk\.accountsstage\./, "accountsstage.").replace(/clerk\.accounts\.|clerk\./, "accounts.")}`;
|
|
9
8
|
}
|
|
10
9
|
|
|
11
10
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildAccountsBaseUrl.mjs","names":[
|
|
1
|
+
{"version":3,"file":"buildAccountsBaseUrl.mjs","names":[],"sources":["../../src/buildAccountsBaseUrl.ts"],"sourcesContent":["/**\n * Builds a full origin string pointing to the Account Portal for the given frontend API.\n */\nexport function buildAccountsBaseUrl(frontendApi?: string): string {\n if (!frontendApi) {\n return '';\n }\n\n // convert url from FAPI to accounts for Kima and legacy (prod & dev) instances\n const accountsBaseUrl = frontendApi\n // staging accounts\n .replace(/clerk\\.accountsstage\\./, 'accountsstage.')\n .replace(/clerk\\.accounts\\.|clerk\\./, 'accounts.');\n return `https://${accountsBaseUrl}`;\n}\n"],"mappings":";;;;AAGA,SAAgB,qBAAqB,aAA8B;AACjE,KAAI,CAAC,YACH,QAAO;AAQT,QAAO,WAJiB,YAErB,QAAQ,0BAA0B,iBAAiB,CACnD,QAAQ,6BAA6B,YAAY"}
|