@turnkey/sdk-browser 4.3.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +47 -1
  3. package/dist/__clients__/browser-clients.d.ts +32 -43
  4. package/dist/__clients__/browser-clients.d.ts.map +1 -1
  5. package/dist/__clients__/browser-clients.js +77 -193
  6. package/dist/__clients__/browser-clients.js.map +1 -1
  7. package/dist/__clients__/browser-clients.mjs +69 -186
  8. package/dist/__clients__/browser-clients.mjs.map +1 -1
  9. package/dist/__generated__/sdk-client-base.d.ts +10 -0
  10. package/dist/__generated__/sdk-client-base.d.ts.map +1 -1
  11. package/dist/__generated__/sdk-client-base.js +367 -79
  12. package/dist/__generated__/sdk-client-base.js.map +1 -1
  13. package/dist/__generated__/sdk-client-base.mjs +367 -79
  14. package/dist/__generated__/sdk-client-base.mjs.map +1 -1
  15. package/dist/__generated__/sdk_api_types.d.ts +25 -0
  16. package/dist/__generated__/sdk_api_types.d.ts.map +1 -1
  17. package/dist/__generated__/version.d.ts +1 -1
  18. package/dist/__generated__/version.js +1 -1
  19. package/dist/__generated__/version.mjs +1 -1
  20. package/dist/__inputs__/public_api.types.d.ts +257 -9
  21. package/dist/__inputs__/public_api.types.d.ts.map +1 -1
  22. package/dist/__polyfills__/window.js.map +1 -1
  23. package/dist/__polyfills__/window.mjs.map +1 -1
  24. package/dist/__types__/base.d.ts +8 -77
  25. package/dist/__types__/base.d.ts.map +1 -1
  26. package/dist/__types__/base.js +1 -5
  27. package/dist/__types__/base.js.map +1 -1
  28. package/dist/__types__/base.mjs +2 -6
  29. package/dist/__types__/base.mjs.map +1 -1
  30. package/dist/index.d.ts +3 -2
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +3 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/index.mjs +3 -2
  35. package/dist/index.mjs.map +1 -1
  36. package/dist/sdk-client.d.ts +9 -26
  37. package/dist/sdk-client.d.ts.map +1 -1
  38. package/dist/sdk-client.js +34 -92
  39. package/dist/sdk-client.js.map +1 -1
  40. package/dist/sdk-client.mjs +37 -95
  41. package/dist/sdk-client.mjs.map +1 -1
  42. package/dist/storage.d.ts +4 -20
  43. package/dist/storage.d.ts.map +1 -1
  44. package/dist/storage.js +0 -49
  45. package/dist/storage.js.map +1 -1
  46. package/dist/storage.mjs +1 -49
  47. package/dist/storage.mjs.map +1 -1
  48. package/dist/utils.d.ts +2 -0
  49. package/dist/utils.d.ts.map +1 -1
  50. package/dist/utils.js +27 -51
  51. package/dist/utils.js.map +1 -1
  52. package/dist/utils.mjs +27 -51
  53. package/dist/utils.mjs.map +1 -1
  54. package/package.json +12 -9
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var http = require('@turnkey/http');
4
+ var sdkTypes = require('@turnkey/sdk-types');
4
5
  var baseClient = require('./base-client.js');
5
6
  var base = require('../__types__/base.js');
6
7
  var utils = require('../utils.js');
@@ -10,10 +11,23 @@ var constants = require('../constants.js');
10
11
  class TurnkeyBrowserClient extends baseClient.TurnkeyBaseClient {
11
12
  constructor(config, authClient) {
12
13
  super(config, authClient);
14
+ /**
15
+ * @deprecated
16
+ * This method is deprecated and only creates a READ_ONLY session using an API key.
17
+ * Use one of the following methods instead, depending on your context:
18
+ *
19
+ * - `loginWithPasskey()` for WebAuthn-based sessions using IndexedDB
20
+ * - `loginWithWallet()` for EVM or Solana wallet-based sessions
21
+ * - `loginWithSession()` if the session string is already available (e.g. from server actions)
22
+ * - `loginWithBundle()` for iframe-based sessions (e.g. for email-auth non otp based login)
23
+ *
24
+ * @param config Optional configuration containing an organization ID
25
+ * @returns A Promise resolving to the created read-only session
26
+ */
13
27
  this.login = async (config) => {
14
28
  const readOnlySessionResult = await this.createReadOnlySession(config || {});
15
29
  const session = {
16
- sessionType: base.SessionType.READ_ONLY,
30
+ sessionType: sdkTypes.SessionType.READ_ONLY,
17
31
  userId: readOnlySessionResult.userId,
18
32
  organizationId: readOnlySessionResult.organizationId,
19
33
  expiry: Number(readOnlySessionResult.sessionExpiry),
@@ -24,24 +38,24 @@ class TurnkeyBrowserClient extends baseClient.TurnkeyBaseClient {
24
38
  };
25
39
  /**
26
40
  * Attempts to refresh an existing Session. This method infers the current user's organization ID and target userId.
27
- * This will use a passkeyStamper for `READ_ONLY` sessions or an `iframeStamper` for `READ_WRITE` sessions.
41
+ * This will use a passkeyStamper for `READ_ONLY` sessions or an `indexedDbStamper` for `READ_WRITE` sessions.
28
42
  *
29
43
  * @param RefreshSessionParams
30
44
  * @param params.sessionType - The type of session that is being refreshed
31
- * @param params.targetPublicKey - The public key of the target client
45
+ * @param params.publicKey - The public key of the indexedDb client
32
46
  * @param params.expirationSeconds - Specify how long to extend the session. Defaults to 900 seconds or 15 minutes.
33
47
  * @returns {Promise<void>}
34
48
  */
35
49
  this.refreshSession = async (params) => {
36
- const { sessionType = base.SessionType.READ_WRITE, targetPublicKey, expirationSeconds = constants.DEFAULT_SESSION_EXPIRATION_IN_SECONDS, } = params;
50
+ const { sessionType = sdkTypes.SessionType.READ_WRITE, publicKey, expirationSeconds = constants.DEFAULT_SESSION_EXPIRATION_IN_SECONDS, } = params;
37
51
  try {
38
- if (sessionType === base.SessionType.READ_ONLY) {
52
+ if (sessionType === sdkTypes.SessionType.READ_ONLY) {
39
53
  if (this instanceof TurnkeyPasskeyClient) {
40
54
  throw new Error("You must use a passkey client to refresh a read session"); // TODO: support wallet client
41
55
  }
42
56
  const readOnlySessionResult = await this.createReadOnlySession({});
43
57
  const session = {
44
- sessionType: base.SessionType.READ_ONLY,
58
+ sessionType: sdkTypes.SessionType.READ_ONLY,
45
59
  userId: readOnlySessionResult.userId,
46
60
  organizationId: readOnlySessionResult.organizationId,
47
61
  expiry: Number(readOnlySessionResult.sessionExpiry),
@@ -49,30 +63,15 @@ class TurnkeyBrowserClient extends baseClient.TurnkeyBaseClient {
49
63
  };
50
64
  await storage.storeSession(session, base.AuthClient.Passkey);
51
65
  }
52
- else if (sessionType === base.SessionType.READ_WRITE) {
53
- if (!targetPublicKey) {
54
- throw new Error("You must provide a targetPublicKey to refresh a read-write session.");
66
+ else if (sessionType === sdkTypes.SessionType.READ_WRITE) {
67
+ if (!publicKey) {
68
+ throw new Error("You must provide a publicKey to refresh a read-write session.");
55
69
  }
56
- const readWriteSessionResult = await this.createReadWriteSession({
57
- targetPublicKey,
70
+ const sessionResponse = await this.stampLogin({
71
+ publicKey: publicKey,
58
72
  expirationSeconds,
59
- invalidateExisting: true,
60
73
  });
61
- const session = {
62
- sessionType: base.SessionType.READ_WRITE,
63
- userId: readWriteSessionResult.userId,
64
- organizationId: readWriteSessionResult.organizationId,
65
- expiry: Date.now() + Number(expirationSeconds) * 1000,
66
- token: readWriteSessionResult.credentialBundle,
67
- };
68
- if (this instanceof TurnkeyIframeClient) {
69
- await this.injectCredentialBundle(session.token);
70
- }
71
- else {
72
- // Throw an error if the client is not an iframe client
73
- throw new Error("You must use an iframe client to refresh a read-write session");
74
- }
75
- await storage.storeSession(session, base.AuthClient.Iframe);
74
+ await storage.storeSession(sessionResponse.session, base.AuthClient.IndexedDb);
76
75
  }
77
76
  else {
78
77
  throw new Error(`Invalid session type passed: ${sessionType}`);
@@ -102,7 +101,7 @@ class TurnkeyBrowserClient extends baseClient.TurnkeyBaseClient {
102
101
  }
103
102
  const whoAmI = await this.getWhoami();
104
103
  const session = {
105
- sessionType: base.SessionType.READ_WRITE,
104
+ sessionType: sdkTypes.SessionType.READ_WRITE,
106
105
  userId: whoAmI.userId,
107
106
  organizationId: whoAmI.organizationId,
108
107
  expiry: Date.now() + Number(expirationSeconds) * 1000,
@@ -111,21 +110,20 @@ class TurnkeyBrowserClient extends baseClient.TurnkeyBaseClient {
111
110
  await storage.storeSession(session, base.AuthClient.Iframe);
112
111
  };
113
112
  /**
114
- * Log in with a session object. This method uses a session object from server actions and stores it and the active client in local storage
115
- * To be used in conjunction with an `iframeStamper`.
113
+ * Log in with a session returns from Turnkey. This method uses a session from server actions and stores it and the active client in local storage
114
+ * To be used in conjunction with an `indexeDbStamper`.
116
115
  *
117
116
  * @param session
118
117
  * @returns {Promise<void>}
119
118
  */
120
119
  this.loginWithSession = async (session) => {
121
- if (this instanceof TurnkeyIframeClient) {
122
- await this.injectCredentialBundle(session.token);
120
+ if (this instanceof TurnkeyIndexedDbClient) {
121
+ await storage.storeSession(session, base.AuthClient.IndexedDb);
123
122
  }
124
123
  else {
125
- // Throw an error if the client is not an iframe client
126
- throw new Error("You must use an iframe client to log in with a session."); //should we default to a "localStorage" client?
124
+ // Throw an error if the client is not an indexedDb client
125
+ throw new Error("You must use an indexedDb client to log in with a session.");
127
126
  }
128
- await storage.storeSession(session, base.AuthClient.Iframe);
129
127
  };
130
128
  /**
131
129
  * Log in with a passkey.
@@ -133,47 +131,35 @@ class TurnkeyBrowserClient extends baseClient.TurnkeyBaseClient {
133
131
  *
134
132
  * @param LoginWithPasskeyParams
135
133
  * @param params.sessionType - The type of session to create
136
- * @param params.iframeClient - The iframe client to use to inject the credential bundle
137
- * @param params.targetPublicKey - The public key of the target client
134
+ * @param params.publicKey - The public key of indexedDb
138
135
  * @param params.expirationSeconds - Expiration time for the session in seconds. Defaults to 900 seconds or 15 minutes.
139
136
  * @returns {Promise<void>}
140
137
  */
141
138
  this.loginWithPasskey = async (params) => {
142
139
  try {
143
- const { sessionType = base.SessionType.READ_WRITE, iframeClient, targetPublicKey, expirationSeconds = constants.DEFAULT_SESSION_EXPIRATION_IN_SECONDS, } = params;
140
+ const { sessionType = sdkTypes.SessionType.READ_WRITE, publicKey, expirationSeconds = constants.DEFAULT_SESSION_EXPIRATION_IN_SECONDS, } = params;
144
141
  // Create a read-only session
145
- if (sessionType === base.SessionType.READ_ONLY) {
142
+ if (sessionType === sdkTypes.SessionType.READ_ONLY) {
146
143
  const readOnlySessionResult = await this.createReadOnlySession({});
147
144
  const session = {
148
- sessionType: base.SessionType.READ_ONLY,
145
+ sessionType: sdkTypes.SessionType.READ_ONLY,
149
146
  userId: readOnlySessionResult.userId,
150
147
  organizationId: readOnlySessionResult.organizationId,
151
148
  expiry: Number(readOnlySessionResult.sessionExpiry),
152
- token: readOnlySessionResult.session,
149
+ token: readOnlySessionResult.session, // Once we have api key session scopes this can change
153
150
  };
154
151
  await storage.storeSession(session, base.AuthClient.Passkey);
155
152
  // Create a read-write session
156
153
  }
157
- else if (sessionType === base.SessionType.READ_WRITE) {
158
- if (!targetPublicKey) {
159
- throw new Error("You must provide a targetPublicKey to create a read-write session.");
154
+ else if (sessionType === sdkTypes.SessionType.READ_WRITE) {
155
+ if (!publicKey) {
156
+ throw new Error("You must provide a publicKey to create a passkey read write session.");
160
157
  }
161
- const readWriteSessionResult = await this.createReadWriteSession({
162
- targetPublicKey,
158
+ const sessionResponse = await this.stampLogin({
159
+ publicKey,
163
160
  expirationSeconds,
164
161
  });
165
- const session = {
166
- sessionType: base.SessionType.READ_WRITE,
167
- userId: readWriteSessionResult.userId,
168
- organizationId: readWriteSessionResult.organizationId,
169
- expiry: Date.now() + Number(expirationSeconds) * 1000,
170
- token: readWriteSessionResult.credentialBundle,
171
- };
172
- if (!iframeClient) {
173
- throw new Error("You must provide an iframe client to log in with a passkey.");
174
- }
175
- await iframeClient.injectCredentialBundle(session.token);
176
- await storage.storeSession(session, base.AuthClient.Iframe);
162
+ await storage.storeSession(sessionResponse.session, base.AuthClient.IndexedDb);
177
163
  }
178
164
  else {
179
165
  throw new Error(`Invalid session type passed: ${sessionType}`);
@@ -188,47 +174,33 @@ class TurnkeyBrowserClient extends baseClient.TurnkeyBaseClient {
188
174
  *
189
175
  * @param LoginWithWalletParams
190
176
  * @param params.sessionType - The type of session to create
191
- * @param params.iframeClient - The iframe client to use to inject the credential bundle
192
- * @param params.targetPublicKey - The public key of the target iframe
177
+ * @param params.publicKey - The public key of indexedDb
193
178
  * @param params.expirationSeconds - The expiration time for the session in seconds
194
179
  * @returns {Promise<void>}
195
180
  */
196
181
  this.loginWithWallet = async (params) => {
197
182
  try {
198
- const { sessionType = base.SessionType.READ_WRITE, iframeClient, targetPublicKey, expirationSeconds = constants.DEFAULT_SESSION_EXPIRATION_IN_SECONDS, } = params;
199
- // Create a read-only session
200
- if (sessionType === base.SessionType.READ_ONLY) {
183
+ const { sessionType = sdkTypes.SessionType.READ_WRITE, publicKey, expirationSeconds = constants.DEFAULT_SESSION_EXPIRATION_IN_SECONDS, } = params;
184
+ if (sessionType === sdkTypes.SessionType.READ_ONLY) {
201
185
  const readOnlySessionResult = await this.createReadOnlySession({});
202
186
  const session = {
203
- sessionType: base.SessionType.READ_ONLY,
187
+ sessionType: sdkTypes.SessionType.READ_ONLY,
204
188
  userId: readOnlySessionResult.userId,
205
189
  organizationId: readOnlySessionResult.organizationId,
206
190
  expiry: Number(readOnlySessionResult.sessionExpiry),
207
191
  token: readOnlySessionResult.session,
208
192
  };
209
193
  await storage.storeSession(session, base.AuthClient.Wallet);
210
- // Create a read-write session
211
194
  }
212
- else if (sessionType === base.SessionType.READ_WRITE) {
213
- if (!targetPublicKey) {
214
- throw new Error("You must provide a targetPublicKey to create a read-write session.");
195
+ else if (sessionType === sdkTypes.SessionType.READ_WRITE) {
196
+ if (!publicKey) {
197
+ throw new Error("You must provide a publicKey to create a read-write session.");
215
198
  }
216
- const readWriteSessionResult = await this.createReadWriteSession({
217
- targetPublicKey,
199
+ const sessionResponse = await this.stampLogin({
200
+ publicKey: publicKey,
218
201
  expirationSeconds,
219
202
  });
220
- const session = {
221
- sessionType: base.SessionType.READ_WRITE,
222
- userId: readWriteSessionResult.userId,
223
- organizationId: readWriteSessionResult.organizationId,
224
- expiry: Date.now() + Number(expirationSeconds) * 1000,
225
- token: readWriteSessionResult.credentialBundle,
226
- };
227
- if (!iframeClient) {
228
- throw new Error("You must provide an iframe client to log in with a wallet.");
229
- }
230
- await iframeClient.injectCredentialBundle(session.token);
231
- await storage.storeSession(session, base.AuthClient.Iframe);
203
+ await storage.storeSession(sessionResponse.session, base.AuthClient.IndexedDb);
232
204
  }
233
205
  else {
234
206
  throw new Error(`Invalid session type passed: ${sessionType}`);
@@ -238,59 +210,6 @@ class TurnkeyBrowserClient extends baseClient.TurnkeyBaseClient {
238
210
  throw new Error(`Unable to log in with the provided wallet: ${error}`);
239
211
  }
240
212
  };
241
- /**
242
- * Creates a read-write session. This method infers the current user's organization ID and target userId.
243
- * To be used in conjunction with an `iframeStamper`: the resulting session's credential bundle can be
244
- * injected into an iframeStamper to create a session that enables both read and write requests.
245
- *
246
- * @param targetEmbeddedKey
247
- * @param expirationSeconds
248
- * @param userId
249
- * @returns {Promise<SdkApiTypes.TCreateReadWriteSessionResponse>}
250
- */
251
- this.loginWithReadWriteSession = async (targetEmbeddedKey, expirationSeconds = constants.DEFAULT_SESSION_EXPIRATION_IN_SECONDS, userId) => {
252
- try {
253
- const readWriteSessionResult = await this.createReadWriteSession({
254
- targetPublicKey: targetEmbeddedKey,
255
- expirationSeconds,
256
- userId: userId,
257
- });
258
- // Ensure session and sessionExpiry are included in the object
259
- const readWriteSessionResultWithSession = {
260
- ...readWriteSessionResult,
261
- credentialBundle: readWriteSessionResult.credentialBundle,
262
- sessionExpiry: Date.now() + Number(expirationSeconds) * 1000,
263
- };
264
- // store auth bundle in local storage
265
- await storage.saveSession(readWriteSessionResultWithSession, this.authClient);
266
- return readWriteSessionResultWithSession;
267
- }
268
- catch (error) {
269
- throw new Error(`Unable to log in with the provided read-write session: ${error}`);
270
- }
271
- };
272
- /**
273
- * Logs in with an existing auth bundle. this bundle enables both read and write requests.
274
- *
275
- * @param credentialBundle
276
- * @param expirationSeconds
277
- * @returns {Promise<boolean>}
278
- */
279
- this.loginWithAuthBundle = async (credentialBundle, expirationSeconds = constants.DEFAULT_SESSION_EXPIRATION_IN_SECONDS) => {
280
- try {
281
- const whoAmIResult = await this.getWhoami();
282
- const readWriteSessionResultWithSession = {
283
- ...whoAmIResult,
284
- credentialBundle: credentialBundle,
285
- sessionExpiry: Date.now() + Number(expirationSeconds) * 1000,
286
- };
287
- await storage.saveSession(readWriteSessionResultWithSession, this.authClient);
288
- return true;
289
- }
290
- catch (error) {
291
- throw new Error(`Unable to log in with the provided auth bundle: ${error}`);
292
- }
293
- };
294
213
  /**
295
214
  * Removes authentication factors from an end user.
296
215
  *
@@ -530,7 +449,7 @@ class TurnkeyPasskeyClient extends TurnkeyBrowserClient {
530
449
  },
531
450
  authenticatorSelection: {
532
451
  authenticatorAttachment: config.publicKey?.authenticatorSelection?.authenticatorAttachment ??
533
- undefined,
452
+ undefined, // default to empty
534
453
  requireResidentKey: config.publicKey?.authenticatorSelection?.requireResidentKey ??
535
454
  true,
536
455
  residentKey: config.publicKey?.authenticatorSelection?.residentKey ?? "required",
@@ -547,63 +466,6 @@ class TurnkeyPasskeyClient extends TurnkeyBrowserClient {
547
466
  attestation,
548
467
  };
549
468
  };
550
- /**
551
- * Uses passkey authentication to create a read-write session, via an embedded API key,
552
- * and stores + returns the resulting auth bundle that contains the encrypted API key.
553
- * This auth bundle (also referred to as a credential bundle) can be injected into an `iframeStamper`,
554
- * resulting in a touch-free authenticator. Unlike `loginWithReadWriteSession`, this method
555
- * assumes the end-user's organization ID (i.e. the sub-organization ID) is already known.
556
- *
557
- * @param userId
558
- * @param targetEmbeddedKey
559
- * @param expirationSeconds
560
- * @param curveType
561
- * @returns {Promise<ReadWriteSession>}
562
- */
563
- this.createPasskeySession = async (userId, targetEmbeddedKey, expirationSeconds = constants.DEFAULT_SESSION_EXPIRATION_IN_SECONDS, organizationId) => {
564
- try {
565
- const session = await storage.getStorageValue(storage.StorageKeys.Session);
566
- organizationId = organizationId ?? session?.organizationId;
567
- userId = userId ?? session?.userId;
568
- if (!organizationId) {
569
- throw new Error("Error creating passkey session: Organization ID is required");
570
- }
571
- if (!userId) {
572
- throw new Error("Error creating passkey session: User ID is required");
573
- }
574
- const { authBundle: credentialBundle, publicKey } = await utils.createEmbeddedAPIKey(targetEmbeddedKey);
575
- // add API key to Turnkey User
576
- await this.createApiKeys({
577
- organizationId,
578
- userId,
579
- apiKeys: [
580
- {
581
- apiKeyName: `Session Key ${String(Date.now())}`,
582
- publicKey,
583
- expirationSeconds,
584
- curveType: "API_KEY_CURVE_P256",
585
- },
586
- ],
587
- });
588
- const whoAmI = await this.getWhoami();
589
- const expiry = Date.now() + Number(expirationSeconds) * 1000;
590
- await storage.saveSession({
591
- organizationId,
592
- organizationName: whoAmI?.organizationName ?? "",
593
- userId,
594
- username: whoAmI?.username ?? "",
595
- credentialBundle,
596
- sessionExpiry: expiry,
597
- }, this.authClient);
598
- return {
599
- credentialBundle,
600
- expiry,
601
- };
602
- }
603
- catch (error) {
604
- throw new Error("Unable to create passkey session.");
605
- }
606
- };
607
469
  this.rpId = this.stamper.rpId;
608
470
  }
609
471
  }
@@ -658,9 +520,31 @@ class TurnkeyWalletClient extends TurnkeyBrowserClient {
658
520
  return this.wallet;
659
521
  }
660
522
  }
523
+ /**
524
+ * TurnkeyIndexedDbClient is a client that uses IndexedDb to interact with the Turnkey API.
525
+ * @extends TurnkeyBrowserClient
526
+ */
527
+ class TurnkeyIndexedDbClient extends TurnkeyBrowserClient {
528
+ constructor(config) {
529
+ super(config, base.AuthClient.IndexedDb);
530
+ this.clear = async () => {
531
+ return await this.stamper.clear();
532
+ };
533
+ this.getPublicKey = async () => {
534
+ return await this.stamper.getPublicKey();
535
+ };
536
+ this.init = async () => {
537
+ return await this.stamper.init();
538
+ };
539
+ this.resetKeyPair = async () => {
540
+ return await this.stamper.resetKeyPair();
541
+ };
542
+ }
543
+ }
661
544
 
662
545
  exports.TurnkeyBrowserClient = TurnkeyBrowserClient;
663
546
  exports.TurnkeyIframeClient = TurnkeyIframeClient;
547
+ exports.TurnkeyIndexedDbClient = TurnkeyIndexedDbClient;
664
548
  exports.TurnkeyPasskeyClient = TurnkeyPasskeyClient;
665
549
  exports.TurnkeyWalletClient = TurnkeyWalletClient;
666
550
  //# sourceMappingURL=browser-clients.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser-clients.js","sources":["../../src/__clients__/browser-clients.ts"],"sourcesContent":[null],"names":["TurnkeyBaseClient","SessionType","storeSession","DEFAULT_SESSION_EXPIRATION_IN_SECONDS","AuthClient","saveSession","generateRandomBuffer","base64UrlEncode","getWebAuthnAttestation","getStorageValue","StorageKeys","createEmbeddedAPIKey"],"mappings":"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"}
1
+ {"version":3,"file":"browser-clients.js","sources":["../../src/__clients__/browser-clients.ts"],"sourcesContent":[null],"names":["TurnkeyBaseClient","SessionType","storeSession","DEFAULT_SESSION_EXPIRATION_IN_SECONDS","AuthClient","generateRandomBuffer","base64UrlEncode","getWebAuthnAttestation"],"mappings":"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"}