@descope/web-js-sdk 0.1.0-alpha.16 → 0.1.0-alpha.18

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/index.d.ts CHANGED
@@ -1,12 +1,4 @@
1
1
  import * as _descope_core_js_sdk from '@descope/core-js-sdk';
2
- import _descope_core_js_sdk__default, { UserResponse } from '@descope/core-js-sdk';
3
-
4
- /** Tokens management options */
5
- declare type TokensOptions = {
6
- autoRefresh?: boolean;
7
- persistTokens?: boolean;
8
- sessionTokenViaCookie?: boolean;
9
- };
10
2
 
11
3
  /** Return the refresh token from the localStorage. Not for production usage because refresh token will not be saved in localStorage. */
12
4
  declare function getRefreshToken(): string;
@@ -16,19 +8,50 @@ declare function getRefreshToken(): string;
16
8
  */
17
9
  declare function getSessionToken(): string;
18
10
 
19
- /** Configuration arguments which include the Descope core SDK args and fingerprint configuration.
20
- * Also specifies token options - if we should persist tokens from responses automatically and auto-refresh.
21
- */
22
- declare type WebJSSDKArgs = Parameters<typeof _descope_core_js_sdk__default>[0] & TokensOptions & {
11
+ declare function isSupported(requirePlatformAuthenticator?: boolean): Promise<boolean>;
12
+
13
+ type PersistTokensOptions<A extends boolean> = {
14
+ persistTokens?: A;
15
+ sessionTokenViaCookie?: A extends true ? boolean : never;
16
+ };
17
+
18
+ type AutoRefreshOptions = {
19
+ autoRefresh?: boolean;
20
+ };
21
+
22
+ type FingerprintOptions = {
23
23
  fpKey?: string;
24
24
  fpLoad?: boolean;
25
25
  };
26
26
 
27
- /**
28
- * Wrapper around DescopeSDK to handle fingerprint.js and storage of JWT tokens in cookies and localStorage,
29
- * It also sets a timer to refresh session JWT automatically.
30
- */
31
- declare const _default: ({ autoRefresh, persistTokens, sessionTokenViaCookie, fpKey, fpLoad, ...args }: WebJSSDKArgs) => {
27
+ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersistTokens, sessionTokenViaCookie, ...config }: Omit<{
28
+ projectId: string;
29
+ logger?: {
30
+ debug: {
31
+ (...data: any[]): void;
32
+ (message?: any, ...optionalParams: any[]): void;
33
+ };
34
+ log: {
35
+ (...data: any[]): void;
36
+ (message?: any, ...optionalParams: any[]): void;
37
+ };
38
+ error: {
39
+ (...data: any[]): void;
40
+ (message?: any, ...optionalParams: any[]): void;
41
+ };
42
+ };
43
+ baseUrl?: string;
44
+ hooks?: {
45
+ beforeRequest?: (config: _descope_core_js_sdk.RequestConfig) => _descope_core_js_sdk.RequestConfig;
46
+ afterRequest?: (req: _descope_core_js_sdk.RequestConfig, res: Response) => void;
47
+ };
48
+ cookiePolicy?: RequestCredentials;
49
+ }, "hooks"> & {
50
+ hooks?: {
51
+ beforeRequest?: ((config: _descope_core_js_sdk.RequestConfig) => _descope_core_js_sdk.RequestConfig) | ((config: _descope_core_js_sdk.RequestConfig) => _descope_core_js_sdk.RequestConfig)[];
52
+ afterRequest?: ((req: _descope_core_js_sdk.RequestConfig, res: Response) => void) | ((req: _descope_core_js_sdk.RequestConfig, res: Response) => void)[];
53
+ };
54
+ } & FingerprintOptions & AutoRefreshOptions & PersistTokensOptions<A>) => A extends true ? (({
32
55
  flow: {
33
56
  start: (flowId: string, options?: {
34
57
  tenant?: string;
@@ -43,12 +66,224 @@ declare const _default: ({ autoRefresh, persistTokens, sessionTokenViaCookie, fp
43
66
  helpers: {
44
67
  create: (options: string) => Promise<string>;
45
68
  get: (options: string) => Promise<string>;
46
- isSupported: (requirePlatformAuthenticator?: boolean) => Promise<boolean>;
69
+ isSupported: typeof isSupported;
70
+ };
71
+ };
72
+ accessKey: {
73
+ exchange: (accessKey: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.ExchangeAccessKeyResponse>>;
74
+ };
75
+ otp: {
76
+ verify: {
77
+ email: (identifier: string, code: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
78
+ sms: (identifier: string, code: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
79
+ whatsapp: (identifier: string, code: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
80
+ };
81
+ signIn: {
82
+ email: (identifier: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
83
+ sms: (identifier: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
84
+ whatsapp: (identifier: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
85
+ };
86
+ signUp: {
87
+ email: (identifier: string, user?: {
88
+ email?: string;
89
+ name?: string;
90
+ phone?: string;
91
+ }) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
92
+ sms: (identifier: string, user?: {
93
+ email?: string;
94
+ name?: string;
95
+ phone?: string;
96
+ }) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
97
+ whatsapp: (identifier: string, user?: {
98
+ email?: string;
99
+ name?: string;
100
+ phone?: string;
101
+ }) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
102
+ };
103
+ signUpOrIn: {
104
+ email: (identifier: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
105
+ sms: (identifier: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
106
+ whatsapp: (identifier: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
107
+ };
108
+ update: {
109
+ email: (identifier: string, email: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
110
+ phone: {
111
+ email: (identifier: string, phone: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
112
+ sms: (identifier: string, phone: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
113
+ whatsapp: (identifier: string, phone: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
114
+ };
115
+ };
116
+ };
117
+ magicLink: {
118
+ verify: (token: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
119
+ signIn: {
120
+ email: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
121
+ sms: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
122
+ whatsapp: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
123
+ };
124
+ signUp: {
125
+ email: (identifier: string, uri: string, user?: {
126
+ email?: string;
127
+ name?: string;
128
+ phone?: string;
129
+ }) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
130
+ sms: (identifier: string, uri: string, user?: {
131
+ email?: string;
132
+ name?: string;
133
+ phone?: string;
134
+ }) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
135
+ whatsapp: (identifier: string, uri: string, user?: {
136
+ email?: string;
137
+ name?: string;
138
+ phone?: string;
139
+ }) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
140
+ };
141
+ signUpOrIn: {
142
+ email: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
143
+ sms: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
144
+ whatsapp: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
145
+ };
146
+ update: {
147
+ email: (identifier: string, email: string, uri: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
148
+ phone: {
149
+ email: (identifier: string, phone: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
150
+ sms: (identifier: string, phone: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
151
+ whatsapp: (identifier: string, phone: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
152
+ };
153
+ };
154
+ };
155
+ enchantedLink: {
156
+ verify: (token: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
157
+ signIn: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
158
+ signUpOrIn: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
159
+ signUp: (identifier: string, uri: string, user?: {
160
+ email?: string;
161
+ name?: string;
162
+ phone?: string;
163
+ }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
164
+ waitForSession: (pendingRef: string, config?: {
165
+ pollingIntervalMs: number;
166
+ timeoutMs: number;
167
+ }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
168
+ update: {
169
+ email: (identifier: string, email: string, uri: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
170
+ };
171
+ };
172
+ oauth: {
173
+ start: {
174
+ facebook: <B extends {
175
+ redirect: boolean;
176
+ }>(redirectURL?: string, config?: B) => Promise<B extends {
177
+ redirect: true;
178
+ } ? undefined : _descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
179
+ github: <B_1 extends {
180
+ redirect: boolean;
181
+ }>(redirectURL?: string, config?: B_1) => Promise<B_1 extends {
182
+ redirect: true;
183
+ } ? undefined : _descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
184
+ google: <B_2 extends {
185
+ redirect: boolean;
186
+ }>(redirectURL?: string, config?: B_2) => Promise<B_2 extends {
187
+ redirect: true;
188
+ } ? undefined : _descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
189
+ microsoft: <B_3 extends {
190
+ redirect: boolean;
191
+ }>(redirectURL?: string, config?: B_3) => Promise<B_3 extends {
192
+ redirect: true;
193
+ } ? undefined : _descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
194
+ gitlab: <B_4 extends {
195
+ redirect: boolean;
196
+ }>(redirectURL?: string, config?: B_4) => Promise<B_4 extends {
197
+ redirect: true;
198
+ } ? undefined : _descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
199
+ apple: <B_5 extends {
200
+ redirect: boolean;
201
+ }>(redirectURL?: string, config?: B_5) => Promise<B_5 extends {
202
+ redirect: true;
203
+ } ? undefined : _descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
204
+ };
205
+ exchange: (code: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
206
+ };
207
+ saml: {
208
+ start: <B_1 extends {
209
+ redirect: boolean;
210
+ }>(tenantNameOrEmail: string, config?: B_1) => Promise<B_1 extends {
211
+ redirect: true;
212
+ } ? undefined : _descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
213
+ exchange: (code: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
214
+ };
215
+ totp: {
216
+ signUp: (identifier: string, user?: {
217
+ email?: string;
218
+ name?: string;
219
+ phone?: string;
220
+ }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.TOTPResponse>>;
221
+ verify: (identifier: string, code: string, loginOptions?: {
222
+ stepup?: boolean;
223
+ mfa?: boolean;
224
+ customClaims?: Record<string, any>;
225
+ }, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
226
+ update: (identifier: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.TOTPResponse>>;
227
+ };
228
+ refresh: (token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
229
+ logout: (token?: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
230
+ logoutAll: (token?: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
231
+ me: (token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.UserResponse>>;
232
+ isJwtExpired: (token: string) => boolean;
233
+ getJwtPermissions: (token: string, tenant?: string) => string[];
234
+ getJwtRoles: (token: string, tenant?: string) => string[];
235
+ httpClient: {
236
+ get: (path: string, config?: {
237
+ headers?: HeadersInit;
238
+ queryParams?: {
239
+ [key: string]: string;
240
+ };
241
+ token?: string;
242
+ }) => Promise<Response>;
243
+ post: (path: string, body?: any, config?: {
244
+ headers?: HeadersInit;
245
+ queryParams?: {
246
+ [key: string]: string;
247
+ };
248
+ token?: string;
249
+ }) => Promise<Response>;
250
+ put: (path: string, body?: any, config?: {
251
+ headers?: HeadersInit;
252
+ queryParams?: {
253
+ [key: string]: string;
254
+ };
255
+ token?: string;
256
+ }) => Promise<Response>;
257
+ delete: (path: string, body?: any, config?: {
258
+ headers?: HeadersInit;
259
+ queryParams?: {
260
+ [key: string]: string;
261
+ };
262
+ token?: string;
263
+ }) => Promise<Response>;
264
+ hooks?: {
265
+ beforeRequest?: (config: _descope_core_js_sdk.RequestConfig) => _descope_core_js_sdk.RequestConfig;
266
+ afterRequest?: (req: _descope_core_js_sdk.RequestConfig, res: Response) => void;
267
+ };
268
+ };
269
+ } | {
270
+ flow: {
271
+ start: (flowId: string, options?: {
272
+ tenant?: string;
273
+ }, interactionId?: string, input?: Record<string, FormDataEntryValue>) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
274
+ next: (executionId: string, stepId: string, interactionId: string, input?: Record<string, FormDataEntryValue>) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
275
+ };
276
+ webauthn: {
277
+ signUp(identifier: string, name: string): Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
278
+ signIn(identifier: string): Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
279
+ signUpOrIn(identifier: string): Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
280
+ update(identifier: string, token: string): Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.ResponseData>>;
281
+ helpers: {
282
+ create: (options: string) => Promise<string>;
283
+ get: (options: string) => Promise<string>;
284
+ isSupported: typeof isSupported;
47
285
  };
48
286
  };
49
- onSessionTokenChange: (cb: (sessionToken: string) => void) => () => void;
50
- onUserChange: (cb: (user: UserResponse) => void) => () => void;
51
- getRefreshToken: typeof getRefreshToken;
52
287
  accessKey: {
53
288
  exchange: (accessKey: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.ExchangeAccessKeyResponse>>;
54
289
  };
@@ -208,7 +443,7 @@ declare const _default: ({ autoRefresh, persistTokens, sessionTokenViaCookie, fp
208
443
  refresh: (token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
209
444
  logout: (token?: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
210
445
  logoutAll: (token?: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
211
- me: (token?: string) => Promise<_descope_core_js_sdk.SdkResponse<UserResponse>>;
446
+ me: (token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.UserResponse>>;
212
447
  isJwtExpired: (token: string) => boolean;
213
448
  getJwtPermissions: (token: string, tenant?: string) => string[];
214
449
  getJwtRoles: (token: string, tenant?: string) => string[];
@@ -241,7 +476,450 @@ declare const _default: ({ autoRefresh, persistTokens, sessionTokenViaCookie, fp
241
476
  };
242
477
  token?: string;
243
478
  }) => Promise<Response>;
479
+ hooks?: {
480
+ beforeRequest?: (config: _descope_core_js_sdk.RequestConfig) => _descope_core_js_sdk.RequestConfig;
481
+ afterRequest?: (req: _descope_core_js_sdk.RequestConfig, res: Response) => void;
482
+ };
483
+ };
484
+ }) & {
485
+ onSessionTokenChange: (cb: (data: string) => void) => () => any[];
486
+ onUserChange: (cb: (data: _descope_core_js_sdk.UserResponse) => void) => () => any[];
487
+ }) & {
488
+ getRefreshToken: typeof getRefreshToken;
489
+ getSessionToken: typeof getSessionToken;
490
+ } : ({
491
+ flow: {
492
+ start: (flowId: string, options?: {
493
+ tenant?: string;
494
+ }, interactionId?: string, input?: Record<string, FormDataEntryValue>) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
495
+ next: (executionId: string, stepId: string, interactionId: string, input?: Record<string, FormDataEntryValue>) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
496
+ };
497
+ webauthn: {
498
+ signUp(identifier: string, name: string): Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
499
+ signIn(identifier: string): Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
500
+ signUpOrIn(identifier: string): Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
501
+ update(identifier: string, token: string): Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.ResponseData>>;
502
+ helpers: {
503
+ create: (options: string) => Promise<string>;
504
+ get: (options: string) => Promise<string>;
505
+ isSupported: typeof isSupported;
506
+ };
507
+ };
508
+ accessKey: {
509
+ exchange: (accessKey: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.ExchangeAccessKeyResponse>>;
510
+ };
511
+ otp: {
512
+ verify: {
513
+ email: (identifier: string, code: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
514
+ sms: (identifier: string, code: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
515
+ whatsapp: (identifier: string, code: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
516
+ };
517
+ signIn: {
518
+ email: (identifier: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
519
+ sms: (identifier: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
520
+ whatsapp: (identifier: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
521
+ };
522
+ signUp: {
523
+ email: (identifier: string, user?: {
524
+ email?: string;
525
+ name?: string;
526
+ phone?: string;
527
+ }) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
528
+ sms: (identifier: string, user?: {
529
+ email?: string;
530
+ name?: string;
531
+ phone?: string;
532
+ }) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
533
+ whatsapp: (identifier: string, user?: {
534
+ email?: string;
535
+ name?: string;
536
+ phone?: string;
537
+ }) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
538
+ };
539
+ signUpOrIn: {
540
+ email: (identifier: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
541
+ sms: (identifier: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
542
+ whatsapp: (identifier: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
543
+ };
544
+ update: {
545
+ email: (identifier: string, email: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
546
+ phone: {
547
+ email: (identifier: string, phone: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
548
+ sms: (identifier: string, phone: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
549
+ whatsapp: (identifier: string, phone: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
550
+ };
551
+ };
552
+ };
553
+ magicLink: {
554
+ verify: (token: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
555
+ signIn: {
556
+ email: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
557
+ sms: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
558
+ whatsapp: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
559
+ };
560
+ signUp: {
561
+ email: (identifier: string, uri: string, user?: {
562
+ email?: string;
563
+ name?: string;
564
+ phone?: string;
565
+ }) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
566
+ sms: (identifier: string, uri: string, user?: {
567
+ email?: string;
568
+ name?: string;
569
+ phone?: string;
570
+ }) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
571
+ whatsapp: (identifier: string, uri: string, user?: {
572
+ email?: string;
573
+ name?: string;
574
+ phone?: string;
575
+ }) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
576
+ };
577
+ signUpOrIn: {
578
+ email: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
579
+ sms: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
580
+ whatsapp: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
581
+ };
582
+ update: {
583
+ email: (identifier: string, email: string, uri: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
584
+ phone: {
585
+ email: (identifier: string, phone: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
586
+ sms: (identifier: string, phone: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
587
+ whatsapp: (identifier: string, phone: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
588
+ };
589
+ };
590
+ };
591
+ enchantedLink: {
592
+ verify: (token: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
593
+ signIn: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
594
+ signUpOrIn: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
595
+ signUp: (identifier: string, uri: string, user?: {
596
+ email?: string;
597
+ name?: string;
598
+ phone?: string;
599
+ }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
600
+ waitForSession: (pendingRef: string, config?: {
601
+ pollingIntervalMs: number;
602
+ timeoutMs: number;
603
+ }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
604
+ update: {
605
+ email: (identifier: string, email: string, uri: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
606
+ };
607
+ };
608
+ oauth: {
609
+ start: {
610
+ facebook: <B extends {
611
+ redirect: boolean;
612
+ }>(redirectURL?: string, config?: B) => Promise<B extends {
613
+ redirect: true;
614
+ } ? undefined : _descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
615
+ github: <B_1 extends {
616
+ redirect: boolean;
617
+ }>(redirectURL?: string, config?: B_1) => Promise<B_1 extends {
618
+ redirect: true;
619
+ } ? undefined : _descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
620
+ google: <B_2 extends {
621
+ redirect: boolean;
622
+ }>(redirectURL?: string, config?: B_2) => Promise<B_2 extends {
623
+ redirect: true;
624
+ } ? undefined : _descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
625
+ microsoft: <B_3 extends {
626
+ redirect: boolean;
627
+ }>(redirectURL?: string, config?: B_3) => Promise<B_3 extends {
628
+ redirect: true;
629
+ } ? undefined : _descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
630
+ gitlab: <B_4 extends {
631
+ redirect: boolean;
632
+ }>(redirectURL?: string, config?: B_4) => Promise<B_4 extends {
633
+ redirect: true;
634
+ } ? undefined : _descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
635
+ apple: <B_5 extends {
636
+ redirect: boolean;
637
+ }>(redirectURL?: string, config?: B_5) => Promise<B_5 extends {
638
+ redirect: true;
639
+ } ? undefined : _descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
640
+ };
641
+ exchange: (code: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
642
+ };
643
+ saml: {
644
+ start: <B_1 extends {
645
+ redirect: boolean;
646
+ }>(tenantNameOrEmail: string, config?: B_1) => Promise<B_1 extends {
647
+ redirect: true;
648
+ } ? undefined : _descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
649
+ exchange: (code: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
650
+ };
651
+ totp: {
652
+ signUp: (identifier: string, user?: {
653
+ email?: string;
654
+ name?: string;
655
+ phone?: string;
656
+ }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.TOTPResponse>>;
657
+ verify: (identifier: string, code: string, loginOptions?: {
658
+ stepup?: boolean;
659
+ mfa?: boolean;
660
+ customClaims?: Record<string, any>;
661
+ }, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
662
+ update: (identifier: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.TOTPResponse>>;
663
+ };
664
+ refresh: (token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
665
+ logout: (token?: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
666
+ logoutAll: (token?: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
667
+ me: (token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.UserResponse>>;
668
+ isJwtExpired: (token: string) => boolean;
669
+ getJwtPermissions: (token: string, tenant?: string) => string[];
670
+ getJwtRoles: (token: string, tenant?: string) => string[];
671
+ httpClient: {
672
+ get: (path: string, config?: {
673
+ headers?: HeadersInit;
674
+ queryParams?: {
675
+ [key: string]: string;
676
+ };
677
+ token?: string;
678
+ }) => Promise<Response>;
679
+ post: (path: string, body?: any, config?: {
680
+ headers?: HeadersInit;
681
+ queryParams?: {
682
+ [key: string]: string;
683
+ };
684
+ token?: string;
685
+ }) => Promise<Response>;
686
+ put: (path: string, body?: any, config?: {
687
+ headers?: HeadersInit;
688
+ queryParams?: {
689
+ [key: string]: string;
690
+ };
691
+ token?: string;
692
+ }) => Promise<Response>;
693
+ delete: (path: string, body?: any, config?: {
694
+ headers?: HeadersInit;
695
+ queryParams?: {
696
+ [key: string]: string;
697
+ };
698
+ token?: string;
699
+ }) => Promise<Response>;
700
+ hooks?: {
701
+ beforeRequest?: (config: _descope_core_js_sdk.RequestConfig) => _descope_core_js_sdk.RequestConfig;
702
+ afterRequest?: (req: _descope_core_js_sdk.RequestConfig, res: Response) => void;
703
+ };
704
+ };
705
+ } | {
706
+ flow: {
707
+ start: (flowId: string, options?: {
708
+ tenant?: string;
709
+ }, interactionId?: string, input?: Record<string, FormDataEntryValue>) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
710
+ next: (executionId: string, stepId: string, interactionId: string, input?: Record<string, FormDataEntryValue>) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
711
+ };
712
+ webauthn: {
713
+ signUp(identifier: string, name: string): Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
714
+ signIn(identifier: string): Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
715
+ signUpOrIn(identifier: string): Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
716
+ update(identifier: string, token: string): Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.ResponseData>>;
717
+ helpers: {
718
+ create: (options: string) => Promise<string>;
719
+ get: (options: string) => Promise<string>;
720
+ isSupported: typeof isSupported;
721
+ };
722
+ };
723
+ accessKey: {
724
+ exchange: (accessKey: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.ExchangeAccessKeyResponse>>;
725
+ };
726
+ otp: {
727
+ verify: {
728
+ email: (identifier: string, code: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
729
+ sms: (identifier: string, code: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
730
+ whatsapp: (identifier: string, code: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
731
+ };
732
+ signIn: {
733
+ email: (identifier: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
734
+ sms: (identifier: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
735
+ whatsapp: (identifier: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
736
+ };
737
+ signUp: {
738
+ email: (identifier: string, user?: {
739
+ email?: string;
740
+ name?: string;
741
+ phone?: string;
742
+ }) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
743
+ sms: (identifier: string, user?: {
744
+ email?: string;
745
+ name?: string;
746
+ phone?: string;
747
+ }) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
748
+ whatsapp: (identifier: string, user?: {
749
+ email?: string;
750
+ name?: string;
751
+ phone?: string;
752
+ }) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
753
+ };
754
+ signUpOrIn: {
755
+ email: (identifier: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
756
+ sms: (identifier: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
757
+ whatsapp: (identifier: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
758
+ };
759
+ update: {
760
+ email: (identifier: string, email: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
761
+ phone: {
762
+ email: (identifier: string, phone: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
763
+ sms: (identifier: string, phone: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
764
+ whatsapp: (identifier: string, phone: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
765
+ };
766
+ };
767
+ };
768
+ magicLink: {
769
+ verify: (token: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
770
+ signIn: {
771
+ email: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
772
+ sms: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
773
+ whatsapp: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
774
+ };
775
+ signUp: {
776
+ email: (identifier: string, uri: string, user?: {
777
+ email?: string;
778
+ name?: string;
779
+ phone?: string;
780
+ }) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
781
+ sms: (identifier: string, uri: string, user?: {
782
+ email?: string;
783
+ name?: string;
784
+ phone?: string;
785
+ }) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
786
+ whatsapp: (identifier: string, uri: string, user?: {
787
+ email?: string;
788
+ name?: string;
789
+ phone?: string;
790
+ }) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
791
+ };
792
+ signUpOrIn: {
793
+ email: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
794
+ sms: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
795
+ whatsapp: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
796
+ };
797
+ update: {
798
+ email: (identifier: string, email: string, uri: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
799
+ phone: {
800
+ email: (identifier: string, phone: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
801
+ sms: (identifier: string, phone: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
802
+ whatsapp: (identifier: string, phone: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
803
+ };
804
+ };
805
+ };
806
+ enchantedLink: {
807
+ verify: (token: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
808
+ signIn: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
809
+ signUpOrIn: (identifier: string, uri: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
810
+ signUp: (identifier: string, uri: string, user?: {
811
+ email?: string;
812
+ name?: string;
813
+ phone?: string;
814
+ }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
815
+ waitForSession: (pendingRef: string, config?: {
816
+ pollingIntervalMs: number;
817
+ timeoutMs: number;
818
+ }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
819
+ update: {
820
+ email: (identifier: string, email: string, uri: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
821
+ };
822
+ };
823
+ oauth: {
824
+ start: {
825
+ facebook: <B extends {
826
+ redirect: boolean;
827
+ }>(redirectURL?: string, config?: B) => Promise<B extends {
828
+ redirect: true;
829
+ } ? undefined : _descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
830
+ github: <B_1 extends {
831
+ redirect: boolean;
832
+ }>(redirectURL?: string, config?: B_1) => Promise<B_1 extends {
833
+ redirect: true;
834
+ } ? undefined : _descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
835
+ google: <B_2 extends {
836
+ redirect: boolean;
837
+ }>(redirectURL?: string, config?: B_2) => Promise<B_2 extends {
838
+ redirect: true;
839
+ } ? undefined : _descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
840
+ microsoft: <B_3 extends {
841
+ redirect: boolean;
842
+ }>(redirectURL?: string, config?: B_3) => Promise<B_3 extends {
843
+ redirect: true;
844
+ } ? undefined : _descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
845
+ gitlab: <B_4 extends {
846
+ redirect: boolean;
847
+ }>(redirectURL?: string, config?: B_4) => Promise<B_4 extends {
848
+ redirect: true;
849
+ } ? undefined : _descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
850
+ apple: <B_5 extends {
851
+ redirect: boolean;
852
+ }>(redirectURL?: string, config?: B_5) => Promise<B_5 extends {
853
+ redirect: true;
854
+ } ? undefined : _descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
855
+ };
856
+ exchange: (code: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
857
+ };
858
+ saml: {
859
+ start: <B_1 extends {
860
+ redirect: boolean;
861
+ }>(tenantNameOrEmail: string, config?: B_1) => Promise<B_1 extends {
862
+ redirect: true;
863
+ } ? undefined : _descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
864
+ exchange: (code: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
865
+ };
866
+ totp: {
867
+ signUp: (identifier: string, user?: {
868
+ email?: string;
869
+ name?: string;
870
+ phone?: string;
871
+ }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.TOTPResponse>>;
872
+ verify: (identifier: string, code: string, loginOptions?: {
873
+ stepup?: boolean;
874
+ mfa?: boolean;
875
+ customClaims?: Record<string, any>;
876
+ }, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
877
+ update: (identifier: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.TOTPResponse>>;
878
+ };
879
+ refresh: (token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
880
+ logout: (token?: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
881
+ logoutAll: (token?: string) => Promise<_descope_core_js_sdk.SdkResponse<never>>;
882
+ me: (token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.UserResponse>>;
883
+ isJwtExpired: (token: string) => boolean;
884
+ getJwtPermissions: (token: string, tenant?: string) => string[];
885
+ getJwtRoles: (token: string, tenant?: string) => string[];
886
+ httpClient: {
887
+ get: (path: string, config?: {
888
+ headers?: HeadersInit;
889
+ queryParams?: {
890
+ [key: string]: string;
891
+ };
892
+ token?: string;
893
+ }) => Promise<Response>;
894
+ post: (path: string, body?: any, config?: {
895
+ headers?: HeadersInit;
896
+ queryParams?: {
897
+ [key: string]: string;
898
+ };
899
+ token?: string;
900
+ }) => Promise<Response>;
901
+ put: (path: string, body?: any, config?: {
902
+ headers?: HeadersInit;
903
+ queryParams?: {
904
+ [key: string]: string;
905
+ };
906
+ token?: string;
907
+ }) => Promise<Response>;
908
+ delete: (path: string, body?: any, config?: {
909
+ headers?: HeadersInit;
910
+ queryParams?: {
911
+ [key: string]: string;
912
+ };
913
+ token?: string;
914
+ }) => Promise<Response>;
915
+ hooks?: {
916
+ beforeRequest?: (config: _descope_core_js_sdk.RequestConfig) => _descope_core_js_sdk.RequestConfig;
917
+ afterRequest?: (req: _descope_core_js_sdk.RequestConfig, res: Response) => void;
918
+ };
244
919
  };
920
+ }) & {
921
+ onSessionTokenChange: (cb: (data: string) => void) => () => any[];
922
+ onUserChange: (cb: (data: _descope_core_js_sdk.UserResponse) => void) => () => any[];
245
923
  };
246
924
 
247
- export { WebJSSDKArgs, _default as default, getSessionToken };
925
+ export { decoratedCreateSdk as default };