@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.
- package/CHANGELOG.md +41 -0
- package/README.md +47 -1
- package/dist/__clients__/browser-clients.d.ts +32 -43
- package/dist/__clients__/browser-clients.d.ts.map +1 -1
- package/dist/__clients__/browser-clients.js +77 -193
- package/dist/__clients__/browser-clients.js.map +1 -1
- package/dist/__clients__/browser-clients.mjs +69 -186
- package/dist/__clients__/browser-clients.mjs.map +1 -1
- package/dist/__generated__/sdk-client-base.d.ts +10 -0
- package/dist/__generated__/sdk-client-base.d.ts.map +1 -1
- package/dist/__generated__/sdk-client-base.js +367 -79
- package/dist/__generated__/sdk-client-base.js.map +1 -1
- package/dist/__generated__/sdk-client-base.mjs +367 -79
- package/dist/__generated__/sdk-client-base.mjs.map +1 -1
- package/dist/__generated__/sdk_api_types.d.ts +25 -0
- package/dist/__generated__/sdk_api_types.d.ts.map +1 -1
- package/dist/__generated__/version.d.ts +1 -1
- package/dist/__generated__/version.js +1 -1
- package/dist/__generated__/version.mjs +1 -1
- package/dist/__inputs__/public_api.types.d.ts +257 -9
- package/dist/__inputs__/public_api.types.d.ts.map +1 -1
- package/dist/__polyfills__/window.js.map +1 -1
- package/dist/__polyfills__/window.mjs.map +1 -1
- package/dist/__types__/base.d.ts +8 -77
- package/dist/__types__/base.d.ts.map +1 -1
- package/dist/__types__/base.js +1 -5
- package/dist/__types__/base.js.map +1 -1
- package/dist/__types__/base.mjs +2 -6
- package/dist/__types__/base.mjs.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -2
- package/dist/index.mjs.map +1 -1
- package/dist/sdk-client.d.ts +9 -26
- package/dist/sdk-client.d.ts.map +1 -1
- package/dist/sdk-client.js +34 -92
- package/dist/sdk-client.js.map +1 -1
- package/dist/sdk-client.mjs +37 -95
- package/dist/sdk-client.mjs.map +1 -1
- package/dist/storage.d.ts +4 -20
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +0 -49
- package/dist/storage.js.map +1 -1
- package/dist/storage.mjs +1 -49
- package/dist/storage.mjs.map +1 -1
- package/dist/utils.d.ts +2 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +27 -51
- package/dist/utils.js.map +1 -1
- package/dist/utils.mjs +27 -51
- package/dist/utils.mjs.map +1 -1
- 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:
|
|
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 `
|
|
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.
|
|
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 =
|
|
50
|
+
const { sessionType = sdkTypes.SessionType.READ_WRITE, publicKey, expirationSeconds = constants.DEFAULT_SESSION_EXPIRATION_IN_SECONDS, } = params;
|
|
37
51
|
try {
|
|
38
|
-
if (sessionType ===
|
|
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:
|
|
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 ===
|
|
53
|
-
if (!
|
|
54
|
-
throw new Error("You must provide a
|
|
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
|
|
57
|
-
|
|
70
|
+
const sessionResponse = await this.stampLogin({
|
|
71
|
+
publicKey: publicKey,
|
|
58
72
|
expirationSeconds,
|
|
59
|
-
invalidateExisting: true,
|
|
60
73
|
});
|
|
61
|
-
|
|
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:
|
|
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
|
|
115
|
-
* To be used in conjunction with an `
|
|
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
|
|
122
|
-
await
|
|
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
|
|
126
|
-
throw new Error("You must use an
|
|
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.
|
|
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 =
|
|
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 ===
|
|
142
|
+
if (sessionType === sdkTypes.SessionType.READ_ONLY) {
|
|
146
143
|
const readOnlySessionResult = await this.createReadOnlySession({});
|
|
147
144
|
const session = {
|
|
148
|
-
sessionType:
|
|
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 ===
|
|
158
|
-
if (!
|
|
159
|
-
throw new Error("You must provide a
|
|
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
|
|
162
|
-
|
|
158
|
+
const sessionResponse = await this.stampLogin({
|
|
159
|
+
publicKey,
|
|
163
160
|
expirationSeconds,
|
|
164
161
|
});
|
|
165
|
-
|
|
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.
|
|
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 =
|
|
199
|
-
|
|
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:
|
|
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 ===
|
|
213
|
-
if (!
|
|
214
|
-
throw new Error("You must provide a
|
|
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
|
|
217
|
-
|
|
199
|
+
const sessionResponse = await this.stampLogin({
|
|
200
|
+
publicKey: publicKey,
|
|
218
201
|
expirationSeconds,
|
|
219
202
|
});
|
|
220
|
-
|
|
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":";;;;;;;;;;AA8FM,MAAO,oBAAqB,SAAQA,4BAAiB,CAAA;IACzD,WAAY,CAAA,MAA8B,EAAE,UAAuB,EAAA;AACjE,QAAA,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAG5B;;;;;;;;;;;;AAYG;AAEH,QAAA,IAAA,CAAA,KAAK,GAAG,OAAO,MAEd,KAAyD;YACxD,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAC5D,MAAM,IAAI,EAAE,CACb,CAAC;AACF,YAAA,MAAM,OAAO,GAAY;gBACvB,WAAW,EAAEC,oBAAW,CAAC,SAAS;gBAClC,MAAM,EAAE,qBAAqB,CAAC,MAAM;gBACpC,cAAc,EAAE,qBAAqB,CAAC,cAAc;AACpD,gBAAA,MAAM,EAAE,MAAM,CAAC,qBAAqB,CAAC,aAAa,CAAC;gBACnD,KAAK,EAAE,qBAAqB,CAAC,OAAO;aACrC,CAAC;YACF,MAAMC,oBAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAE7C,YAAA,OAAO,qBAAqB,CAAC;AAC/B,SAAC,CAAC;AAEF;;;;;;;;;AASG;AACH,QAAA,IAAA,CAAA,cAAc,GAAG,OAAO,MAA4B,KAAmB;AACrE,YAAA,MAAM,EACJ,WAAW,GAAGD,oBAAW,CAAC,UAAU,EACpC,SAAS,EACT,iBAAiB,GAAGE,+CAAqC,GAC1D,GAAG,MAAM,CAAC;AAEX,YAAA,IAAI;AACF,gBAAA,IAAI,WAAW,KAAKF,oBAAW,CAAC,SAAS,EAAE;AACzC,oBAAA,IAAI,IAAK,YAAY,oBAAoB,EAAE;AACzC,wBAAA,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;qBACH;oBACD,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;AACnE,oBAAA,MAAM,OAAO,GAAY;wBACvB,WAAW,EAAEA,oBAAW,CAAC,SAAS;wBAClC,MAAM,EAAE,qBAAqB,CAAC,MAAM;wBACpC,cAAc,EAAE,qBAAqB,CAAC,cAAc;AACpD,wBAAA,MAAM,EAAE,MAAM,CAAC,qBAAqB,CAAC,aAAa,CAAC;wBACnD,KAAK,EAAE,qBAAqB,CAAC,OAAO;qBACrC,CAAC;oBAEF,MAAMC,oBAAY,CAAC,OAAO,EAAEE,eAAU,CAAC,OAAO,CAAC,CAAC;iBACjD;AAAM,qBAAA,IAAI,WAAW,KAAKH,oBAAW,CAAC,UAAU,EAAE;oBACjD,IAAI,CAAC,SAAS,EAAE;AACd,wBAAA,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;qBACH;AAED,oBAAA,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;AAC5C,wBAAA,SAAS,EAAE,SAAS;wBACpB,iBAAiB;AAClB,qBAAA,CAAC,CAAC;oBACH,MAAMC,oBAAY,CAAC,eAAe,CAAC,OAAO,EAAEE,eAAU,CAAC,SAAS,CAAC,CAAC;iBACnE;qBAAM;AACL,oBAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,CAAA,CAAE,CAAC,CAAC;iBAChE;aACF;YAAC,OAAO,KAAK,EAAE;AACd,gBAAA,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAA,CAAE,CAAC,CAAC;aACxD;AACH,SAAC,CAAC;AAEF;;;;;;;;AAQG;AACH,QAAA,IAAA,CAAA,eAAe,GAAG,OAAO,MAA6B,KAAmB;YACvE,MAAM,EACJ,MAAM,EACN,iBAAiB,GAAGD,+CAAqC,GAC1D,GAAG,MAAM,CAAC;AACX,YAAA,IAAI,IAAK,YAAY,mBAAmB,EAAE;AACxC,gBAAA,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;aAC3C;iBAAM;;AAEL,gBAAA,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;aACH;AACD,YAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;AAEtC,YAAA,MAAM,OAAO,GAAY;gBACvB,WAAW,EAAEF,oBAAW,CAAC,UAAU;gBACnC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,iBAAiB,CAAC,GAAG,IAAI;AACrD,gBAAA,KAAK,EAAE,MAAM;aACd,CAAC;YAEF,MAAMC,oBAAY,CAAC,OAAO,EAAEE,eAAU,CAAC,MAAM,CAAC,CAAC;AACjD,SAAC,CAAC;AAEF;;;;;;AAMG;AACH,QAAA,IAAA,CAAA,gBAAgB,GAAG,OAAO,OAAe,KAAmB;AAC1D,YAAA,IAAI,IAAI,YAAY,sBAAsB,EAAE;gBAC1C,MAAMF,oBAAY,CAAC,OAAO,EAAEE,eAAU,CAAC,SAAS,CAAC,CAAC;aACnD;iBAAM;;AAEL,gBAAA,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;aACH;AACH,SAAC,CAAC;AAEF;;;;;;;;;AASG;AACH,QAAA,IAAA,CAAA,gBAAgB,GAAG,OAAO,MAA8B,KAAmB;AACzE,YAAA,IAAI;AACF,gBAAA,MAAM,EACJ,WAAW,GAAGH,oBAAW,CAAC,UAAU,EACpC,SAAS,EACT,iBAAiB,GAAGE,+CAAqC,GAC1D,GAAG,MAAM,CAAC;;AAEX,gBAAA,IAAI,WAAW,KAAKF,oBAAW,CAAC,SAAS,EAAE;oBACzC,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;AAEnE,oBAAA,MAAM,OAAO,GAAY;wBACvB,WAAW,EAAEA,oBAAW,CAAC,SAAS;wBAClC,MAAM,EAAE,qBAAqB,CAAC,MAAM;wBACpC,cAAc,EAAE,qBAAqB,CAAC,cAAc;AACpD,wBAAA,MAAM,EAAE,MAAM,CAAC,qBAAqB,CAAC,aAAa,CAAC;AACnD,wBAAA,KAAK,EAAE,qBAAqB,CAAC,OAAO;qBACrC,CAAC;oBACF,MAAMC,oBAAY,CAAC,OAAO,EAAEE,eAAU,CAAC,OAAO,CAAC,CAAC;;iBAEjD;AAAM,qBAAA,IAAI,WAAW,KAAKH,oBAAW,CAAC,UAAU,EAAE;oBACjD,IAAI,CAAC,SAAS,EAAE;AACd,wBAAA,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;qBACH;AAED,oBAAA,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;wBAC5C,SAAS;wBACT,iBAAiB;AAClB,qBAAA,CAAC,CAAC;oBAEH,MAAMC,oBAAY,CAAC,eAAe,CAAC,OAAO,EAAEE,eAAU,CAAC,SAAS,CAAC,CAAC;iBACnE;qBAAM;AACL,oBAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,CAAA,CAAE,CAAC,CAAC;iBAChE;aACF;YAAC,OAAO,KAAK,EAAE;AACd,gBAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,KAAK,CAAA,CAAE,CAAC,CAAC;aACzE;AACH,SAAC,CAAC;AAEF;;;;;;;;AAQG;AACH,QAAA,IAAA,CAAA,eAAe,GAAG,OAAO,MAA6B,KAAmB;AACvE,YAAA,IAAI;AACF,gBAAA,MAAM,EACJ,WAAW,GAAGH,oBAAW,CAAC,UAAU,EACpC,SAAS,EACT,iBAAiB,GAAGE,+CAAqC,GAC1D,GAAG,MAAM,CAAC;AAEX,gBAAA,IAAI,WAAW,KAAKF,oBAAW,CAAC,SAAS,EAAE;oBACzC,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;AAEnE,oBAAA,MAAM,OAAO,GAAY;wBACvB,WAAW,EAAEA,oBAAW,CAAC,SAAS;wBAClC,MAAM,EAAE,qBAAqB,CAAC,MAAM;wBACpC,cAAc,EAAE,qBAAqB,CAAC,cAAc;AACpD,wBAAA,MAAM,EAAE,MAAM,CAAC,qBAAqB,CAAC,aAAa,CAAC;wBACnD,KAAK,EAAE,qBAAqB,CAAC,OAAO;qBACrC,CAAC;oBAEF,MAAMC,oBAAY,CAAC,OAAO,EAAEE,eAAU,CAAC,MAAM,CAAC,CAAC;iBAChD;AAAM,qBAAA,IAAI,WAAW,KAAKH,oBAAW,CAAC,UAAU,EAAE;oBACjD,IAAI,CAAC,SAAS,EAAE;AACd,wBAAA,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;qBACH;AAED,oBAAA,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;AAC5C,wBAAA,SAAS,EAAE,SAAS;wBACpB,iBAAiB;AAClB,qBAAA,CAAC,CAAC;oBAEH,MAAMC,oBAAY,CAAC,eAAe,CAAC,OAAO,EAAEE,eAAU,CAAC,SAAS,CAAC,CAAC;iBACnE;qBAAM;AACL,oBAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,CAAA,CAAE,CAAC,CAAC;iBAChE;aACF;YAAC,OAAO,KAAK,EAAE;AACd,gBAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,KAAK,CAAA,CAAE,CAAC,CAAC;aACxE;AACH,SAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;AAqBG;AACH,QAAA,IAAA,CAAA,cAAc,GAAG,OAAO,MAA4B,KAAoB;AACtE,YAAA,IAAI;AACF,gBAAA,MAAM,EACJ,MAAM,EACN,WAAW,EACX,KAAK,EACL,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,GACV,GAAG,MAAM,CAAC;gBACX,MAAM,QAAQ,GAAmB,EAAE,CAAC;gBAEpC,IAAI,WAAW,EAAE;oBACf,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CACjE,CAAC;iBACH;gBACD,IAAI,KAAK,EAAE;oBACT,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAC3D,CAAC;iBACH;gBACD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;AACnD,oBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;iBACxE;gBACD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;AACnD,oBAAA,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CACrE,CAAC;iBACH;gBACD,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AACrC,oBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;iBAC1D;;AAGD,gBAAA,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aACpC;YAAC,OAAO,KAAK,EAAE;;AAEd,gBAAA,MAAM,KAAK,CAAC;aACb;AACH,SAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;AAqBG;AACH,QAAA,IAAA,CAAA,WAAW,GAAG,OAAO,MAAyB,KAAoB;AAChE,YAAA,IAAI;AACF,gBAAA,MAAM,EACJ,MAAM,EACN,WAAW,EACX,KAAK,EACL,cAAc,EACd,cAAc,EACd,OAAO,GACR,GAAG,MAAM,CAAC;gBACX,MAAM,QAAQ,GAAmB,EAAE,CAAC;gBAEpC,IAAI,WAAW,EAAE;AACf,oBAAA,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,UAAU,CAAC;wBACd,MAAM;AACN,wBAAA,eAAe,EAAE,WAAW;AAC5B,wBAAA,UAAU,EAAE,EAAE;AACf,qBAAA,CAAC,CACH,CAAC;iBACH;gBACD,IAAI,KAAK,EAAE;oBACT,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAC9D,CAAC;iBACH;gBACD,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/C,oBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;iBACtE;gBACD,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/C,oBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;iBACtE;gBACD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC,oBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;iBACxD;;AAGD,gBAAA,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aACpC;YAAC,OAAO,KAAK,EAAE;;AAEd,gBAAA,MAAM,KAAK,CAAC;aACb;AACH,SAAC,CAAC;KAlXD;AAoXD;;;;;;;;;;;;;;;;;;;AAmBG;IACH,MAAM,cAAc,CAAC,MAA4B,EAAA;AAC/C,QAAA,IAAI;AACF,YAAA,MAAM,EACJ,MAAM,EACN,WAAW,EACX,KAAK,EACL,cAAc,EACd,cAAc,EACd,OAAO,GACR,GAAG,MAAM,CAAC;YACX,MAAM,QAAQ,GAAmB,EAAE,CAAC;;;YAIpC,MAAM,WAAW,GAAqD,EAAE,CAAC;AAEzE,YAAA,IAAI,WAAW,KAAK,SAAS,EAAE;AAC7B,gBAAA,WAAW,CAAC,eAAe,GAAG,WAAW,KAAK,IAAI,GAAG,EAAE,GAAG,WAAW,CAAC;aACvE;AACD,YAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACvB,gBAAA,WAAW,CAAC,SAAS,GAAG,KAAK,KAAK,IAAI,GAAG,EAAE,GAAG,KAAK,CAAC;aACrD;YACD,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AACvC,gBAAA,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAC5D,CAAC;aACH;;YAGD,IAAI,cAAc,EAAE;AAClB,gBAAA,IAAI,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE;AAC9B,oBAAA,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,oBAAoB,CAAC;wBACxB,MAAM;wBACN,cAAc,EAAE,cAAc,CAAC,GAAG;AACnC,qBAAA,CAAC,CACH,CAAC;iBACH;AACD,gBAAA,IAAI,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE;AACpC,oBAAA,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,oBAAoB,CAAC;wBACxB,MAAM;wBACN,gBAAgB,EAAE,cAAc,CAAC,SAAS;AAC3C,qBAAA,CAAC,CACH,CAAC;iBACH;aACF;;YAGD,IAAI,cAAc,EAAE;AAClB,gBAAA,IAAI,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE;AAC9B,oBAAA,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,oBAAoB,CAAC;wBACxB,MAAM;wBACN,cAAc,EAAE,cAAc,CAAC,GAAG;AACnC,qBAAA,CAAC,CACH,CAAC;iBACH;AACD,gBAAA,IAAI,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE;AACpC,oBAAA,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,oBAAoB,CAAC;wBACxB,MAAM;wBACN,WAAW,EAAE,cAAc,CAAC,SAAS;AACtC,qBAAA,CAAC,CACH,CAAC;iBACH;aACF;;YAGD,IAAI,OAAO,EAAE;AACX,gBAAA,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE;AACvB,oBAAA,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,aAAa,CAAC;wBACjB,MAAM;wBACN,OAAO,EAAE,OAAO,CAAC,GAAG;AACrB,qBAAA,CAAC,CACH,CAAC;iBACH;AACD,gBAAA,IAAI,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE;AAC7B,oBAAA,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,aAAa,CAAC;wBACjB,MAAM;wBACN,SAAS,EAAE,OAAO,CAAC,SAAS;AAC7B,qBAAA,CAAC,CACH,CAAC;iBACH;aACF;;AAGD,YAAA,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC5B,YAAA,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,KAAK,EAAE;;AAEd,YAAA,MAAM,KAAK,CAAC;SACb;KACF;AACF,CAAA;AAEK,MAAO,oBAAqB,SAAQ,oBAAoB,CAAA;AAG5D,IAAA,WAAA,CAAY,MAA8B,EAAA;AACxC,QAAA,KAAK,CAAC,MAAM,EAAEA,eAAU,CAAC,OAAO,CAAC,CAAC;AAIpC;;;;AAIG;AACH,QAAA,IAAA,CAAA,iBAAiB,GAAG,OAClB,MAA2B,GAAA,EAAE,KACT;AACpB,YAAA,MAAM,SAAS,GAAGC,0BAAoB,EAAE,CAAC;AACzC,YAAA,MAAM,gBAAgB,GAAGC,qBAAe,CAAC,SAAS,CAAC,CAAC;AACpD,YAAA,MAAM,mBAAmB,GAAGD,0BAAoB,EAAE,CAAC;;;;;;;;;;AAWnD,YAAA,MAAM,cAAc,GAA8B;AAChD,gBAAA,SAAS,EAAE;AACT,oBAAA,EAAE,EAAE;wBACF,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,IAAI;wBACzC,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE;AACvC,qBAAA;AACD,oBAAA,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,IAAI,SAAS;AACnD,oBAAA,gBAAgB,EAAE,MAAM,CAAC,SAAS,EAAE,gBAAgB,IAAI;AACtD,wBAAA;AACE,4BAAA,IAAI,EAAE,YAAY;4BAClB,GAAG,EAAE,CAAC,CAAC;AACR,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,YAAY;4BAClB,GAAG,EAAE,CAAC,GAAG;AACV,yBAAA;AACF,qBAAA;AACD,oBAAA,IAAI,EAAE;wBACJ,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,mBAAmB;wBACrD,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,IAAI,cAAc;wBACpD,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,IAAI,cAAc;AACnE,qBAAA;AACD,oBAAA,sBAAsB,EAAE;AACtB,wBAAA,uBAAuB,EACrB,MAAM,CAAC,SAAS,EAAE,sBAAsB,EAAE,uBAAuB;AACjE,4BAAA,SAAS;AACX,wBAAA,kBAAkB,EAChB,MAAM,CAAC,SAAS,EAAE,sBAAsB,EAAE,kBAAkB;4BAC5D,IAAI;wBACN,WAAW,EACT,MAAM,CAAC,SAAS,EAAE,sBAAsB,EAAE,WAAW,IAAI,UAAU;AACrE,wBAAA,gBAAgB,EACd,MAAM,CAAC,SAAS,EAAE,sBAAsB,EAAE,gBAAgB;4BAC1D,WAAW;AACd,qBAAA;AACF,iBAAA;aACF,CAAC;AAEF,YAAA,MAAM,WAAW,GAAG,MAAME,2BAAsB,CAAC,cAAc,CAAC,CAAC;YAEjE,OAAO;AACL,gBAAA,gBAAgB,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS;sBACzCD,qBAAe,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC;AAC9C,sBAAE,gBAAgB;gBACpB,WAAW;aACZ,CAAC;AACJ,SAAC,CAAC;QAtEA,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,OAA4B,CAAC,IAAI,CAAC;KACrD;AAsEF,CAAA;AAED;;;;;AAKG;AACG,MAAO,mBAAoB,SAAQ,oBAAoB,CAAA;AAG3D,IAAA,WAAA,CAAY,MAA8B,EAAA;AACxC,QAAA,KAAK,CAAC,MAAM,EAAEF,eAAU,CAAC,MAAM,CAAC,CAAC;AAInC,QAAA,IAAA,CAAA,sBAAsB,GAAG,OACvB,gBAAwB,KACJ;YACpB,OAAO,MAAO,IAAI,CAAC,OAAyB,CAAC,sBAAsB,CACjE,gBAAgB,CACjB,CAAC;AACJ,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,wBAAwB,GAAG,OACzB,gBAAwB,EACxB,cAAsB,KACF;YACpB,OAAO,MAAO,IAAI,CAAC,OAAyB,CAAC,wBAAwB,CACnE,gBAAgB,EAChB,cAAc,CACf,CAAC;AACJ,SAAC,CAAC;QAEF,IAAqB,CAAA,qBAAA,GAAG,OACtB,gBAAwB,EACxB,cAAsB,EACtB,SAAiC,KACb;AACpB,YAAA,OAAO,MAAO,IAAI,CAAC,OAAyB,CAAC,qBAAqB,CAChE,gBAAgB,EAChB,cAAc,EACd,SAAS,CACV,CAAC;AACJ,SAAC,CAAC;QAEF,IAAkB,CAAA,kBAAA,GAAG,OACnB,MAAc,EACd,cAAsB,EACtB,MAAc,KACM;AACpB,YAAA,OAAO,MAAO,IAAI,CAAC,OAAyB,CAAC,kBAAkB,CAC7D,MAAM,EACN,cAAc,EACd,MAAM,CACP,CAAC;AACJ,SAAC,CAAC;QAEF,IAA4B,CAAA,4BAAA,GAAG,YAA4B;AACzD,YAAA,OAAO,MAAO,IAAI,CAAC,OAAyB,CAAC,4BAA4B,EAAE,CAAC;AAC9E,SAAC,CAAC;QAEF,IAAyB,CAAA,yBAAA,GAAG,YAA4B;AACtD,YAAA,OAAO,MAAO,IAAI,CAAC,OAAyB,CAAC,yBAAyB,EAAE,CAAC;AAC3E,SAAC,CAAC;QAEF,IAAoB,CAAA,oBAAA,GAAG,YAAmC;AACxD,YAAA,OAAO,MAAO,IAAI,CAAC,OAAyB,CAAC,oBAAoB,EAAE,CAAC;AACtE,SAAC,CAAC;QAEF,IAAgB,CAAA,gBAAA,GAAG,YAA0B;AAC3C,YAAA,OAAO,MAAO,IAAI,CAAC,OAAyB,CAAC,gBAAgB,EAAE,CAAC;AAClE,SAAC,CAAC;QAEF,IAAe,CAAA,eAAA,GAAG,YAAmC;AACnD,YAAA,OAAO,MAAO,IAAI,CAAC,OAAyB,CAAC,eAAe,EAAE,CAAC;AACjE,SAAC,CAAC;QA/DA,IAAI,CAAC,eAAe,GAAI,IAAI,CAAC,OAAyB,CAAC,eAAe,CAAC;KACxE;AA+DF,CAAA;AAEK,MAAO,mBAAoB,SAAQ,oBAAoB,CAAA;AAG3D,IAAA,WAAA,CAAY,MAAiC,EAAA;AAC3C,QAAA,KAAK,CAAC,MAAM,EAAEA,eAAU,CAAC,MAAM,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;KAC7B;AAED,IAAA,MAAM,YAAY,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;KACnC;IAED,kBAAkB,GAAA;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;AACF,CAAA;AAED;;;AAGG;AACG,MAAO,sBAAuB,SAAQ,oBAAoB,CAAA;AAC9D,IAAA,WAAA,CAAY,MAA8B,EAAA;AACxC,QAAA,KAAK,CAAC,MAAM,EAAEA,eAAU,CAAC,SAAS,CAAC,CAAC;QAGtC,IAAK,CAAA,KAAA,GAAG,YAA0B;AAChC,YAAA,OAAO,MAAO,IAAI,CAAC,OAA4B,CAAC,KAAK,EAAE,CAAC;AAC1D,SAAC,CAAC;QAEF,IAAY,CAAA,YAAA,GAAG,YAAmC;AAChD,YAAA,OAAO,MAAO,IAAI,CAAC,OAA4B,CAAC,YAAY,EAAE,CAAC;AACjE,SAAC,CAAC;QAEF,IAAI,CAAA,IAAA,GAAG,YAA0B;AAC/B,YAAA,OAAO,MAAO,IAAI,CAAC,OAA4B,CAAC,IAAI,EAAE,CAAC;AACzD,SAAC,CAAC;QAEF,IAAY,CAAA,YAAA,GAAG,YAA0B;AACvC,YAAA,OAAO,MAAO,IAAI,CAAC,OAA4B,CAAC,YAAY,EAAE,CAAC;AACjE,SAAC,CAAC;KAhBD;AAiBF;;;;;;;;"}
|