@descope/web-js-sdk 1.0.21 → 1.1.1

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
@@ -73,7 +73,11 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
73
73
  name?: string;
74
74
  loginId?: string;
75
75
  };
76
- }, "tenant" | "redirectUrl"> & {
76
+ redirectAuth?: {
77
+ callbackUrl: string;
78
+ codeChallenge: string;
79
+ };
80
+ }, "tenant" | "redirectUrl" | "redirectAuth"> & {
77
81
  lastAuth?: Omit<{
78
82
  authMethod?: "webauthn" | "otp" | "oauth" | "saml" | "totp" | "magiclink" | "enchantedlink";
79
83
  oauthProvider?: string;
@@ -82,10 +86,10 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
82
86
  }, "loginId" | "name">;
83
87
  }, conditionInteractionId?: string, interactionId?: string, input?: {
84
88
  [x: string]: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any)[])[])[])[])[])[])[])[])[])[])[];
85
- }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
89
+ }, version?: number) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
86
90
  next: (executionId: string, stepId: string, interactionId: string, input?: {
87
91
  [x: string]: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any)[])[])[])[])[])[])[])[])[])[])[];
88
- }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
92
+ }, version?: number) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
89
93
  };
90
94
  webauthn: {
91
95
  signUp: ((identifier: string, name: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>) & {
@@ -185,14 +189,23 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
185
189
  }>>;
186
190
  };
187
191
  update: {
188
- email: (loginId: string, email: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
192
+ email: <T extends boolean>(loginId: string, email: string, token?: string, updateOptions?: {
193
+ addToLoginIDs?: T;
194
+ onMergeUseExisting?: T extends true ? boolean : never;
195
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
189
196
  maskedEmail: string;
190
197
  }>>;
191
198
  phone: {
192
- sms: (loginId: string, phone: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
199
+ sms: <T_1 extends boolean>(loginId: string, phone: string, token?: string, updateOptions?: {
200
+ addToLoginIDs?: T_1;
201
+ onMergeUseExisting?: T_1 extends true ? boolean : never;
202
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
193
203
  maskedPhone: string;
194
204
  }>>;
195
- whatsapp: (loginId: string, phone: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
205
+ whatsapp: <T_1 extends boolean>(loginId: string, phone: string, token?: string, updateOptions?: {
206
+ addToLoginIDs?: T_1;
207
+ onMergeUseExisting?: T_1 extends true ? boolean : never;
208
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
196
209
  maskedPhone: string;
197
210
  }>>;
198
211
  };
@@ -246,14 +259,23 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
246
259
  }>>;
247
260
  };
248
261
  update: {
249
- email: (loginId: string, email: string, URI?: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
262
+ email: <T_2 extends boolean>(loginId: string, email: string, URI?: string, token?: string, updateOptions?: {
263
+ addToLoginIDs?: T_2;
264
+ onMergeUseExisting?: T_2 extends true ? boolean : never;
265
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
250
266
  maskedEmail: string;
251
267
  }>>;
252
268
  phone: {
253
- sms: (loginId: string, phone: string, URI?: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
269
+ sms: <T_3 extends boolean>(loginId: string, phone: string, URI?: string, token?: string, updateOptions?: {
270
+ addToLoginIDs?: T_3;
271
+ onMergeUseExisting?: T_3 extends true ? boolean : never;
272
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
254
273
  maskedPhone: string;
255
274
  }>>;
256
- whatsapp: (loginId: string, phone: string, URI?: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
275
+ whatsapp: <T_3 extends boolean>(loginId: string, phone: string, URI?: string, token?: string, updateOptions?: {
276
+ addToLoginIDs?: T_3;
277
+ onMergeUseExisting?: T_3 extends true ? boolean : never;
278
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
257
279
  maskedPhone: string;
258
280
  }>>;
259
281
  };
@@ -273,7 +295,10 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
273
295
  timeoutMs: number;
274
296
  }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
275
297
  update: {
276
- email: (loginId: string, email: string, URI?: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
298
+ email: <T_4 extends boolean>(loginId: string, email: string, URI?: string, token?: string, updateOptions?: {
299
+ addToLoginIDs?: T_4;
300
+ onMergeUseExisting?: T_4 extends true ? boolean : never;
301
+ }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
277
302
  };
278
303
  };
279
304
  oauth: {
@@ -404,7 +429,11 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
404
429
  name?: string;
405
430
  loginId?: string;
406
431
  };
407
- }, "tenant" | "redirectUrl"> & {
432
+ redirectAuth?: {
433
+ callbackUrl: string;
434
+ codeChallenge: string;
435
+ };
436
+ }, "tenant" | "redirectUrl" | "redirectAuth"> & {
408
437
  lastAuth?: Omit<{
409
438
  authMethod?: "webauthn" | "otp" | "oauth" | "saml" | "totp" | "magiclink" | "enchantedlink";
410
439
  oauthProvider?: string;
@@ -413,10 +442,10 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
413
442
  }, "loginId" | "name">;
414
443
  }, conditionInteractionId?: string, interactionId?: string, input?: {
415
444
  [x: string]: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any)[])[])[])[])[])[])[])[])[])[])[];
416
- }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
445
+ }, version?: number) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
417
446
  next: (executionId: string, stepId: string, interactionId: string, input?: {
418
447
  [x: string]: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any)[])[])[])[])[])[])[])[])[])[])[];
419
- }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
448
+ }, version?: number) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
420
449
  };
421
450
  webauthn: {
422
451
  signUp: ((identifier: string, name: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>) & {
@@ -516,14 +545,23 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
516
545
  }>>;
517
546
  };
518
547
  update: {
519
- email: (loginId: string, email: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
548
+ email: <T extends boolean>(loginId: string, email: string, token?: string, updateOptions?: {
549
+ addToLoginIDs?: T;
550
+ onMergeUseExisting?: T extends true ? boolean : never;
551
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
520
552
  maskedEmail: string;
521
553
  }>>;
522
554
  phone: {
523
- sms: (loginId: string, phone: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
555
+ sms: <T_1 extends boolean>(loginId: string, phone: string, token?: string, updateOptions?: {
556
+ addToLoginIDs?: T_1;
557
+ onMergeUseExisting?: T_1 extends true ? boolean : never;
558
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
524
559
  maskedPhone: string;
525
560
  }>>;
526
- whatsapp: (loginId: string, phone: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
561
+ whatsapp: <T_1 extends boolean>(loginId: string, phone: string, token?: string, updateOptions?: {
562
+ addToLoginIDs?: T_1;
563
+ onMergeUseExisting?: T_1 extends true ? boolean : never;
564
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
527
565
  maskedPhone: string;
528
566
  }>>;
529
567
  };
@@ -577,14 +615,23 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
577
615
  }>>;
578
616
  };
579
617
  update: {
580
- email: (loginId: string, email: string, URI?: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
618
+ email: <T_2 extends boolean>(loginId: string, email: string, URI?: string, token?: string, updateOptions?: {
619
+ addToLoginIDs?: T_2;
620
+ onMergeUseExisting?: T_2 extends true ? boolean : never;
621
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
581
622
  maskedEmail: string;
582
623
  }>>;
583
624
  phone: {
584
- sms: (loginId: string, phone: string, URI?: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
625
+ sms: <T_3 extends boolean>(loginId: string, phone: string, URI?: string, token?: string, updateOptions?: {
626
+ addToLoginIDs?: T_3;
627
+ onMergeUseExisting?: T_3 extends true ? boolean : never;
628
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
585
629
  maskedPhone: string;
586
630
  }>>;
587
- whatsapp: (loginId: string, phone: string, URI?: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
631
+ whatsapp: <T_3 extends boolean>(loginId: string, phone: string, URI?: string, token?: string, updateOptions?: {
632
+ addToLoginIDs?: T_3;
633
+ onMergeUseExisting?: T_3 extends true ? boolean : never;
634
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
588
635
  maskedPhone: string;
589
636
  }>>;
590
637
  };
@@ -604,7 +651,10 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
604
651
  timeoutMs: number;
605
652
  }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
606
653
  update: {
607
- email: (loginId: string, email: string, URI?: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
654
+ email: <T_4 extends boolean>(loginId: string, email: string, URI?: string, token?: string, updateOptions?: {
655
+ addToLoginIDs?: T_4;
656
+ onMergeUseExisting?: T_4 extends true ? boolean : never;
657
+ }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
608
658
  };
609
659
  };
610
660
  oauth: {
@@ -744,7 +794,11 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
744
794
  name?: string;
745
795
  loginId?: string;
746
796
  };
747
- }, "tenant" | "redirectUrl"> & {
797
+ redirectAuth?: {
798
+ callbackUrl: string;
799
+ codeChallenge: string;
800
+ };
801
+ }, "tenant" | "redirectUrl" | "redirectAuth"> & {
748
802
  lastAuth?: Omit<{
749
803
  authMethod?: "webauthn" | "otp" | "oauth" | "saml" | "totp" | "magiclink" | "enchantedlink";
750
804
  oauthProvider?: string;
@@ -753,10 +807,10 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
753
807
  }, "loginId" | "name">;
754
808
  }, conditionInteractionId?: string, interactionId?: string, input?: {
755
809
  [x: string]: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any)[])[])[])[])[])[])[])[])[])[])[];
756
- }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
810
+ }, version?: number) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
757
811
  next: (executionId: string, stepId: string, interactionId: string, input?: {
758
812
  [x: string]: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any)[])[])[])[])[])[])[])[])[])[])[];
759
- }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
813
+ }, version?: number) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
760
814
  };
761
815
  webauthn: {
762
816
  signUp: ((identifier: string, name: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>) & {
@@ -856,14 +910,23 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
856
910
  }>>;
857
911
  };
858
912
  update: {
859
- email: (loginId: string, email: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
913
+ email: <T extends boolean>(loginId: string, email: string, token?: string, updateOptions?: {
914
+ addToLoginIDs?: T;
915
+ onMergeUseExisting?: T extends true ? boolean : never;
916
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
860
917
  maskedEmail: string;
861
918
  }>>;
862
919
  phone: {
863
- sms: (loginId: string, phone: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
920
+ sms: <T_1 extends boolean>(loginId: string, phone: string, token?: string, updateOptions?: {
921
+ addToLoginIDs?: T_1;
922
+ onMergeUseExisting?: T_1 extends true ? boolean : never;
923
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
864
924
  maskedPhone: string;
865
925
  }>>;
866
- whatsapp: (loginId: string, phone: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
926
+ whatsapp: <T_1 extends boolean>(loginId: string, phone: string, token?: string, updateOptions?: {
927
+ addToLoginIDs?: T_1;
928
+ onMergeUseExisting?: T_1 extends true ? boolean : never;
929
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
867
930
  maskedPhone: string;
868
931
  }>>;
869
932
  };
@@ -917,14 +980,23 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
917
980
  }>>;
918
981
  };
919
982
  update: {
920
- email: (loginId: string, email: string, URI?: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
983
+ email: <T_2 extends boolean>(loginId: string, email: string, URI?: string, token?: string, updateOptions?: {
984
+ addToLoginIDs?: T_2;
985
+ onMergeUseExisting?: T_2 extends true ? boolean : never;
986
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
921
987
  maskedEmail: string;
922
988
  }>>;
923
989
  phone: {
924
- sms: (loginId: string, phone: string, URI?: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
990
+ sms: <T_3 extends boolean>(loginId: string, phone: string, URI?: string, token?: string, updateOptions?: {
991
+ addToLoginIDs?: T_3;
992
+ onMergeUseExisting?: T_3 extends true ? boolean : never;
993
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
925
994
  maskedPhone: string;
926
995
  }>>;
927
- whatsapp: (loginId: string, phone: string, URI?: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
996
+ whatsapp: <T_3 extends boolean>(loginId: string, phone: string, URI?: string, token?: string, updateOptions?: {
997
+ addToLoginIDs?: T_3;
998
+ onMergeUseExisting?: T_3 extends true ? boolean : never;
999
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
928
1000
  maskedPhone: string;
929
1001
  }>>;
930
1002
  };
@@ -944,7 +1016,10 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
944
1016
  timeoutMs: number;
945
1017
  }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
946
1018
  update: {
947
- email: (loginId: string, email: string, URI?: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
1019
+ email: <T_4 extends boolean>(loginId: string, email: string, URI?: string, token?: string, updateOptions?: {
1020
+ addToLoginIDs?: T_4;
1021
+ onMergeUseExisting?: T_4 extends true ? boolean : never;
1022
+ }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
948
1023
  };
949
1024
  };
950
1025
  oauth: {
@@ -1075,7 +1150,11 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
1075
1150
  name?: string;
1076
1151
  loginId?: string;
1077
1152
  };
1078
- }, "tenant" | "redirectUrl"> & {
1153
+ redirectAuth?: {
1154
+ callbackUrl: string;
1155
+ codeChallenge: string;
1156
+ };
1157
+ }, "tenant" | "redirectUrl" | "redirectAuth"> & {
1079
1158
  lastAuth?: Omit<{
1080
1159
  authMethod?: "webauthn" | "otp" | "oauth" | "saml" | "totp" | "magiclink" | "enchantedlink";
1081
1160
  oauthProvider?: string;
@@ -1084,10 +1163,10 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
1084
1163
  }, "loginId" | "name">;
1085
1164
  }, conditionInteractionId?: string, interactionId?: string, input?: {
1086
1165
  [x: string]: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any)[])[])[])[])[])[])[])[])[])[])[];
1087
- }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
1166
+ }, version?: number) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
1088
1167
  next: (executionId: string, stepId: string, interactionId: string, input?: {
1089
1168
  [x: string]: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any)[])[])[])[])[])[])[])[])[])[])[];
1090
- }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
1169
+ }, version?: number) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.FlowResponse>>;
1091
1170
  };
1092
1171
  webauthn: {
1093
1172
  signUp: ((identifier: string, name: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>) & {
@@ -1187,14 +1266,23 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
1187
1266
  }>>;
1188
1267
  };
1189
1268
  update: {
1190
- email: (loginId: string, email: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
1269
+ email: <T extends boolean>(loginId: string, email: string, token?: string, updateOptions?: {
1270
+ addToLoginIDs?: T;
1271
+ onMergeUseExisting?: T extends true ? boolean : never;
1272
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
1191
1273
  maskedEmail: string;
1192
1274
  }>>;
1193
1275
  phone: {
1194
- sms: (loginId: string, phone: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
1276
+ sms: <T_1 extends boolean>(loginId: string, phone: string, token?: string, updateOptions?: {
1277
+ addToLoginIDs?: T_1;
1278
+ onMergeUseExisting?: T_1 extends true ? boolean : never;
1279
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
1195
1280
  maskedPhone: string;
1196
1281
  }>>;
1197
- whatsapp: (loginId: string, phone: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
1282
+ whatsapp: <T_1 extends boolean>(loginId: string, phone: string, token?: string, updateOptions?: {
1283
+ addToLoginIDs?: T_1;
1284
+ onMergeUseExisting?: T_1 extends true ? boolean : never;
1285
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
1198
1286
  maskedPhone: string;
1199
1287
  }>>;
1200
1288
  };
@@ -1248,14 +1336,23 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
1248
1336
  }>>;
1249
1337
  };
1250
1338
  update: {
1251
- email: (loginId: string, email: string, URI?: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
1339
+ email: <T_2 extends boolean>(loginId: string, email: string, URI?: string, token?: string, updateOptions?: {
1340
+ addToLoginIDs?: T_2;
1341
+ onMergeUseExisting?: T_2 extends true ? boolean : never;
1342
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
1252
1343
  maskedEmail: string;
1253
1344
  }>>;
1254
1345
  phone: {
1255
- sms: (loginId: string, phone: string, URI?: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
1346
+ sms: <T_3 extends boolean>(loginId: string, phone: string, URI?: string, token?: string, updateOptions?: {
1347
+ addToLoginIDs?: T_3;
1348
+ onMergeUseExisting?: T_3 extends true ? boolean : never;
1349
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
1256
1350
  maskedPhone: string;
1257
1351
  }>>;
1258
- whatsapp: (loginId: string, phone: string, URI?: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
1352
+ whatsapp: <T_3 extends boolean>(loginId: string, phone: string, URI?: string, token?: string, updateOptions?: {
1353
+ addToLoginIDs?: T_3;
1354
+ onMergeUseExisting?: T_3 extends true ? boolean : never;
1355
+ }) => Promise<_descope_core_js_sdk.SdkResponse<{
1259
1356
  maskedPhone: string;
1260
1357
  }>>;
1261
1358
  };
@@ -1275,7 +1372,10 @@ declare const decoratedCreateSdk: <A extends boolean>({ persistTokens: isPersist
1275
1372
  timeoutMs: number;
1276
1373
  }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
1277
1374
  update: {
1278
- email: (loginId: string, email: string, URI?: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
1375
+ email: <T_4 extends boolean>(loginId: string, email: string, URI?: string, token?: string, updateOptions?: {
1376
+ addToLoginIDs?: T_4;
1377
+ onMergeUseExisting?: T_4 extends true ? boolean : never;
1378
+ }) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.EnchantedLinkResponse>>;
1279
1379
  };
1280
1380
  };
1281
1381
  oauth: {
package/dist/index.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- import{__rest as t}from"tslib";import e,{wrapWith as n}from"@descope/core-js-sdk";import{load as a}from"@fingerprintjs/fingerprintjs-pro";import o from"js-cookie";const i=(t,e)=>{var n;return["beforeRequest","afterRequest"].reduce(((n,a)=>{var o;return n[a]=[].concat((null===(o=t.hooks)||void 0===o?void 0:o[a])||[]).concat((null==e?void 0:e[a])||[]),n}),null!==(n=t.hooks)&&void 0!==n?n:t.hooks={}),t},r=async t=>{if(!(null==t?void 0:t.ok))return{};const e=await(null==t?void 0:t.clone().json());return(null==e?void 0:e.authInfo)||e||{}},s=async t=>{const e=await r(t);return(null==e?void 0:e.user)||((null==e?void 0:e.hasOwnProperty("userId"))?e:void 0)},l="undefined"!=typeof localStorage,c=(t,e)=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.setItem(t,e)),u=t=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(t)),d=t=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.removeItem(t)),g="undefined"!=typeof window,p=g&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem("fingerprint.endpoint.url"))||"https://fp.descope.com",f=(t="",e="")=>({vsid:t,vrid:e}),w=(t=!1)=>{const e=localStorage.getItem("fp");if(!e)return null;const n=JSON.parse(e);return(new Date).getTime()>n.expiry&&!t?null:n.value},b=async t=>{try{if(w())return;const e=(Date.now().toString(36)+Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).substring(0,27),n=a({apiKey:t,endpoint:p}),o=await n,{requestId:i}=await o.get({linkedId:e});(t=>{const e={value:t,expiry:(new Date).getTime()+864e5};localStorage.setItem("fp",JSON.stringify(e))})(f(e,i))}catch(t){global.FB_DEBUG&&console.error(t)}},h=t=>(t.body&&(t.body.fpData=w(!0)||f()),t),v="dls_last_user_login_id",y="dls_last_user_display_name",m=()=>u(v),S=()=>u(y),O=t=>async(...e)=>{var n;e[1]=e[1]||{};const[,a={}]=e,o=m(),i=S();o&&(null!==(n=a.lastAuth)&&void 0!==n||(a.lastAuth={}),a.lastAuth.loginId=o,a.lastAuth.name=i);return await t(...e)},I=t=>async(...e)=>{const n=await t(...e);return d(v),d(y),n};function k(){const t=[];return{pub:e=>{t.forEach((t=>t(e)))},sub:e=>{const n=t.push(e)-1;return()=>t.splice(n,1)}}}const j="DS",U="DSR";const A=(e={},n)=>{var{refreshJwt:a,sessionJwt:i}=e,r=t(e,["refreshJwt","sessionJwt"]);void 0===n&&(n=!1),a&&c(U,a),i&&(n?function(t,e,{cookiePath:n,cookieDomain:a,cookieExpiration:i}){if(e){const r=new Date(1e3*i);o.set(t,e,{path:n,domain:a,expires:r,sameSite:"Strict",secure:!0})}}(j,i,r):c(j,i))};function D(){return u(U)||""}function J(){return o.get(j)||u(j)||""}function T(){d(U),d(j),o.remove(j)}const K=t=>Object.assign(t,{token:t.token||D()}),C=t=>async(...e)=>{const n=await t(...e);return T(),n};async function N(t){const e=function(t){var e;const n=JSON.parse(t);return n.publicKey.challenge=E(n.publicKey.challenge),n.publicKey.user.id=E(n.publicKey.user.id),null===(e=n.publicKey.excludeCredentials)||void 0===e||e.forEach((t=>{t.id=E(t.id)})),n}(t),n=await navigator.credentials.create(e);return a=n,JSON.stringify({id:a.id,rawId:H(a.rawId),type:a.type,response:{attestationObject:H(a.response.attestationObject),clientDataJSON:H(a.response.clientDataJSON)}});var a}async function R(t){const e=q(t);return P(await navigator.credentials.get(e))}async function _(t,e){const n=q(t);n.signal=e.signal,n.mediation="conditional";return P(await navigator.credentials.get(n))}async function x(t=!1){if(!g)return Promise.resolve(!1);const e=!!(PublicKeyCredential&&navigator.credentials&&navigator.credentials.create&&navigator.credentials.get);return e&&t&&PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable?PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():e}function q(t){var e;const n=JSON.parse(t);return n.publicKey.challenge=E(n.publicKey.challenge),null===(e=n.publicKey.allowCredentials)||void 0===e||e.forEach((t=>{t.id=E(t.id)})),n}function P(t){return JSON.stringify({id:t.id,rawId:H(t.rawId),type:t.type,response:{authenticatorData:H(t.response.authenticatorData),clientDataJSON:H(t.response.clientDataJSON),signature:H(t.response.signature),userHandle:t.response.userHandle?H(t.response.userHandle):void 0}})}function E(t){const e=t.replace(/_/g,"/").replace(/-/g,"+");return Uint8Array.from(atob(e),(t=>t.charCodeAt(0))).buffer}function H(t){return btoa(String.fromCharCode.apply(null,new Uint8Array(t))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}var L,V=(L=t=>({async signUp(e,n){const a=await t.webauthn.signUp.start(e,window.location.origin,n);if(!a.ok)return a;const o=await N(a.data.options);return await t.webauthn.signUp.finish(a.data.transactionId,o)},async signIn(e){const n=await t.webauthn.signIn.start(e,window.location.origin);if(!n.ok)return n;const a=await R(n.data.options);return await t.webauthn.signIn.finish(n.data.transactionId,a)},async signUpOrIn(e){var n;const a=await t.webauthn.signUpOrIn.start(e,window.location.origin);if(!a.ok)return a;if(null===(n=a.data)||void 0===n?void 0:n.create){const e=await N(a.data.options);return await t.webauthn.signUp.finish(a.data.transactionId,e)}{const e=await R(a.data.options);return await t.webauthn.signIn.finish(a.data.transactionId,e)}},async update(e,n){const a=await t.webauthn.update.start(e,window.location.origin,n);if(!a.ok)return a;const o=await N(a.data.options);return await t.webauthn.update.finish(a.data.transactionId,o)},helpers:{create:N,get:R,isSupported:x,conditional:_}}),(...t)=>{const e=L(...t);return Object.assign(e.signUp,t[0].webauthn.signUp),Object.assign(e.signIn,t[0].webauthn.signIn),Object.assign(e.signUpOrIn,t[0].webauthn.signUpOrIn),Object.assign(e.update,t[0].webauthn.update),e}),B=t=>Object.assign(Object.assign({},t.flow),{start:async(...e)=>{const n=await x(),a=Object.assign(Object.assign({redirectUrl:window.location.href},e[1]),{deviceInfo:{webAuthnSupport:n}});return e[1]=a,t.flow.start(...e)}});const F=function(...t){return e=>t.reduce(((t,e)=>e(t)),e)}((e=>n=>{var{fpKey:a,fpLoad:o}=n,r=t(n,["fpKey","fpLoad"]);return a?(g?o&&b(a).catch((()=>null)):console.warn("Fingerprint is a client side only capability and will not work when running in the server"),e(i(r,{beforeRequest:h}))):e(Object.assign({},r))}),(e=>a=>{var{autoRefresh:o}=a,s=t(a,["autoRefresh"]);if(!o)return e(s);const{clearAllTimers:l,setTimer:c}=(()=>{const t=[];return{clearAllTimers:()=>{for(;t.length;)clearTimeout(t.pop())},setTimer:(e,n)=>{t.push(setTimeout(e,n))}}})(),u=e(i(s,{afterRequest:async(t,e)=>{const{refreshJwt:n,sessionJwt:a}=await r(e);if(401===(null==e?void 0:e.status))l();else if(a){const t=((o=(t=>{const e=t.split(".");try{if(3===e.length){const t=JSON.parse(window.atob(e[1]));if(t.exp)return new Date(1e3*t.exp)}}catch(t){}return null})(a))?o.getTime()-(new Date).getTime():0)-2e4;l(),c((()=>u.refresh(n)),t)}var o}}));return n(u,["logout","logoutAll"],(t=>async(...e)=>{const n=await t(...e);return l(),n}))}),(t=>e=>t(Object.assign(Object.assign({},e),{baseHeaders:Object.assign({"x-descope-sdk-name":"web-js","x-descope-sdk-version":"1.0.21"},e.baseHeaders)}))),(t=>e=>{const a=k(),o=k(),l=t(i(e,{afterRequest:async(t,e)=>{if(401===(null==e?void 0:e.status))a.pub(null),o.pub(null);else{const t=await s(e);t&&o.pub(t);const{sessionJwt:n}=await r(e);n&&a.pub(n)}}})),c=n(l,["logout","logoutAll"],(t=>async(...e)=>{const n=await t(...e);return a.pub(null),o.pub(null),n}));return Object.assign(c,{onSessionTokenChange:a.sub,onUserChange:o.sub})}),(t=>e=>{const a=t(i(e,{afterRequest:async(t,e)=>{var n;const a=await s(e),o=null===(n=null==a?void 0:a.loginIds)||void 0===n?void 0:n[0],i=null==a?void 0:a.name;o&&((t=>{c(v,t)})(o),(t=>{c(y,t)})(i))}}));let o=n(a,["flow.start"],O);return o=n(o,["logout","logoutAll"],I),Object.assign(o,{getLastUserLoginId:m,getLastUserDisplayName:S})}),(e=>a=>{var{persistTokens:o,sessionTokenViaCookie:s}=a,l=t(a,["persistTokens","sessionTokenViaCookie"]);if(!o||!g)return o&&console.warn("Storing auth tokens in local storage and cookies are a client side only capabilities and will not be done when running in the server"),e(l);const c=e(i(l,{beforeRequest:K,afterRequest:async(t,e)=>{401===(null==e?void 0:e.status)?T():A(await r(e),s)}})),u=n(c,["logout","logoutAll"],C);return Object.assign(u,{getRefreshToken:D,getSessionToken:J})}))(((...t)=>{const n=e(...t);return Object.assign(Object.assign({},n),{flow:B(n),webauthn:V(n)})}));export{F as default};
1
+ import{__rest as t}from"tslib";import e,{wrapWith as n}from"@descope/core-js-sdk";import{load as a}from"@fingerprintjs/fingerprintjs-pro";import o from"js-cookie";const i=(t,e)=>{var n;return["beforeRequest","afterRequest"].reduce(((n,a)=>{var o;return n[a]=[].concat((null===(o=t.hooks)||void 0===o?void 0:o[a])||[]).concat((null==e?void 0:e[a])||[]),n}),null!==(n=t.hooks)&&void 0!==n?n:t.hooks={}),t},r=async t=>{if(!(null==t?void 0:t.ok))return{};const e=await(null==t?void 0:t.clone().json());return(null==e?void 0:e.authInfo)||e||{}},s=async t=>{const e=await r(t);return(null==e?void 0:e.user)||((null==e?void 0:e.hasOwnProperty("userId"))?e:void 0)},l="undefined"!=typeof localStorage,c=(t,e)=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.setItem(t,e)),u=t=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(t)),d=t=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.removeItem(t)),g="undefined"!=typeof window,p=g&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem("fingerprint.endpoint.url"))||"https://fp.descope.com",f=(t="",e="")=>({vsid:t,vrid:e}),w=(t=!1)=>{const e=localStorage.getItem("fp");if(!e)return null;const n=JSON.parse(e);return(new Date).getTime()>n.expiry&&!t?null:n.value},b=async t=>{try{if(w())return;const e=(Date.now().toString(36)+Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).substring(0,27),n=a({apiKey:t,endpoint:p}),o=await n,{requestId:i}=await o.get({linkedId:e});(t=>{const e={value:t,expiry:(new Date).getTime()+864e5};localStorage.setItem("fp",JSON.stringify(e))})(f(e,i))}catch(t){global.FB_DEBUG&&console.error(t)}},h=t=>(t.body&&(t.body.fpData=w(!0)||f()),t),v="dls_last_user_login_id",y="dls_last_user_display_name",m=()=>u(v),S=()=>u(y),O=t=>async(...e)=>{var n;e[1]=e[1]||{};const[,a={}]=e,o=m(),i=S();o&&(null!==(n=a.lastAuth)&&void 0!==n||(a.lastAuth={}),a.lastAuth.loginId=o,a.lastAuth.name=i);return await t(...e)},I=t=>async(...e)=>{const n=await t(...e);return d(v),d(y),n};function k(){const t=[];return{pub:e=>{t.forEach((t=>t(e)))},sub:e=>{const n=t.push(e)-1;return()=>t.splice(n,1)}}}const j="DS",U="DSR";const A=(e={},n)=>{var{refreshJwt:a,sessionJwt:i}=e,r=t(e,["refreshJwt","sessionJwt"]);void 0===n&&(n=!1),a&&c(U,a),i&&(n?function(t,e,{cookiePath:n,cookieDomain:a,cookieExpiration:i}){if(e){const r=new Date(1e3*i);o.set(t,e,{path:n,domain:a,expires:r,sameSite:"Strict",secure:!0})}}(j,i,r):c(j,i))};function D(){return u(U)||""}function J(){return o.get(j)||u(j)||""}function T(){d(U),d(j),o.remove(j)}const K=t=>Object.assign(t,{token:t.token||D()}),C=t=>async(...e)=>{const n=await t(...e);return T(),n};async function N(t){const e=function(t){var e;const n=JSON.parse(t);return n.publicKey.challenge=E(n.publicKey.challenge),n.publicKey.user.id=E(n.publicKey.user.id),null===(e=n.publicKey.excludeCredentials)||void 0===e||e.forEach((t=>{t.id=E(t.id)})),n}(t),n=await navigator.credentials.create(e);return a=n,JSON.stringify({id:a.id,rawId:H(a.rawId),type:a.type,response:{attestationObject:H(a.response.attestationObject),clientDataJSON:H(a.response.clientDataJSON)}});var a}async function R(t){const e=q(t);return P(await navigator.credentials.get(e))}async function _(t,e){const n=q(t);n.signal=e.signal,n.mediation="conditional";return P(await navigator.credentials.get(n))}async function x(t=!1){if(!g)return Promise.resolve(!1);const e=!!(PublicKeyCredential&&navigator.credentials&&navigator.credentials.create&&navigator.credentials.get);return e&&t&&PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable?PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():e}function q(t){var e;const n=JSON.parse(t);return n.publicKey.challenge=E(n.publicKey.challenge),null===(e=n.publicKey.allowCredentials)||void 0===e||e.forEach((t=>{t.id=E(t.id)})),n}function P(t){return JSON.stringify({id:t.id,rawId:H(t.rawId),type:t.type,response:{authenticatorData:H(t.response.authenticatorData),clientDataJSON:H(t.response.clientDataJSON),signature:H(t.response.signature),userHandle:t.response.userHandle?H(t.response.userHandle):void 0}})}function E(t){const e=t.replace(/_/g,"/").replace(/-/g,"+");return Uint8Array.from(atob(e),(t=>t.charCodeAt(0))).buffer}function H(t){return btoa(String.fromCharCode.apply(null,new Uint8Array(t))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}var L,V=(L=t=>({async signUp(e,n){const a=await t.webauthn.signUp.start(e,window.location.origin,n);if(!a.ok)return a;const o=await N(a.data.options);return await t.webauthn.signUp.finish(a.data.transactionId,o)},async signIn(e){const n=await t.webauthn.signIn.start(e,window.location.origin);if(!n.ok)return n;const a=await R(n.data.options);return await t.webauthn.signIn.finish(n.data.transactionId,a)},async signUpOrIn(e){var n;const a=await t.webauthn.signUpOrIn.start(e,window.location.origin);if(!a.ok)return a;if(null===(n=a.data)||void 0===n?void 0:n.create){const e=await N(a.data.options);return await t.webauthn.signUp.finish(a.data.transactionId,e)}{const e=await R(a.data.options);return await t.webauthn.signIn.finish(a.data.transactionId,e)}},async update(e,n){const a=await t.webauthn.update.start(e,window.location.origin,n);if(!a.ok)return a;const o=await N(a.data.options);return await t.webauthn.update.finish(a.data.transactionId,o)},helpers:{create:N,get:R,isSupported:x,conditional:_}}),(...t)=>{const e=L(...t);return Object.assign(e.signUp,t[0].webauthn.signUp),Object.assign(e.signIn,t[0].webauthn.signIn),Object.assign(e.signUpOrIn,t[0].webauthn.signUpOrIn),Object.assign(e.update,t[0].webauthn.update),e}),B=t=>Object.assign(Object.assign({},t.flow),{start:async(...e)=>{const n=await x(),a=Object.assign(Object.assign({redirectUrl:window.location.href},e[1]),{deviceInfo:{webAuthnSupport:n}});return e[1]=a,t.flow.start(...e)}});const F=function(...t){return e=>t.reduce(((t,e)=>e(t)),e)}((e=>n=>{var{fpKey:a,fpLoad:o}=n,r=t(n,["fpKey","fpLoad"]);return a?(g?o&&b(a).catch((()=>null)):console.warn("Fingerprint is a client side only capability and will not work when running in the server"),e(i(r,{beforeRequest:h}))):e(Object.assign({},r))}),(e=>a=>{var{autoRefresh:o}=a,s=t(a,["autoRefresh"]);if(!o)return e(s);const{clearAllTimers:l,setTimer:c}=(()=>{const t=[];return{clearAllTimers:()=>{for(;t.length;)clearTimeout(t.pop())},setTimer:(e,n)=>{t.push(setTimeout(e,n))}}})(),u=e(i(s,{afterRequest:async(t,e)=>{const{refreshJwt:n,sessionJwt:a}=await r(e);if(401===(null==e?void 0:e.status))l();else if(a){const t=((o=(t=>{const e=t.split(".");try{if(3===e.length){const t=JSON.parse(window.atob(e[1]));if(t.exp)return new Date(1e3*t.exp)}}catch(t){}return null})(a))?o.getTime()-(new Date).getTime():0)-2e4;l(),c((()=>u.refresh(n)),t)}var o}}));return n(u,["logout","logoutAll"],(t=>async(...e)=>{const n=await t(...e);return l(),n}))}),(t=>e=>t(Object.assign(Object.assign({},e),{baseHeaders:Object.assign({"x-descope-sdk-name":"web-js","x-descope-sdk-version":"1.1.1"},e.baseHeaders)}))),(t=>e=>{const a=k(),o=k(),l=t(i(e,{afterRequest:async(t,e)=>{if(401===(null==e?void 0:e.status))a.pub(null),o.pub(null);else{const t=await s(e);t&&o.pub(t);const{sessionJwt:n}=await r(e);n&&a.pub(n)}}})),c=n(l,["logout","logoutAll"],(t=>async(...e)=>{const n=await t(...e);return a.pub(null),o.pub(null),n}));return Object.assign(c,{onSessionTokenChange:a.sub,onUserChange:o.sub})}),(t=>e=>{const a=t(i(e,{afterRequest:async(t,e)=>{var n;const a=await s(e),o=null===(n=null==a?void 0:a.loginIds)||void 0===n?void 0:n[0],i=null==a?void 0:a.name;o&&((t=>{c(v,t)})(o),(t=>{c(y,t)})(i))}}));let o=n(a,["flow.start"],O);return o=n(o,["logout","logoutAll"],I),Object.assign(o,{getLastUserLoginId:m,getLastUserDisplayName:S})}),(e=>a=>{var{persistTokens:o,sessionTokenViaCookie:s}=a,l=t(a,["persistTokens","sessionTokenViaCookie"]);if(!o||!g)return o&&console.warn("Storing auth tokens in local storage and cookies are a client side only capabilities and will not be done when running in the server"),e(l);const c=e(i(l,{beforeRequest:K,afterRequest:async(t,e)=>{401===(null==e?void 0:e.status)?T():A(await r(e),s)}})),u=n(c,["logout","logoutAll"],C);return Object.assign(u,{getRefreshToken:D,getSessionToken:J})}))(((...t)=>{const n=e(...t);return Object.assign(Object.assign({},n),{flow:B(n),webauthn:V(n)})}));export{F as default};
2
2
  //# sourceMappingURL=index.esm.js.map