@samebase/identity-broker 0.1.0 → 0.3.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/README.md +17 -3
- package/dist/cli/index.js +18 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/client/connectors/google.d.ts +5 -1
- package/dist/client/connectors/google.js +6 -1
- package/dist/client/connectors/google.js.map +1 -1
- package/dist/client/connectors/types.d.ts +5 -0
- package/dist/client/html.d.ts +5 -1
- package/dist/client/html.js +17 -7
- package/dist/client/html.js.map +1 -1
- package/dist/client/index.d.ts +16 -1
- package/dist/client/index.js +201 -43
- package/dist/client/index.js.map +1 -1
- package/dist/client/keys.d.ts +5 -0
- package/dist/client/keys.js +8 -0
- package/dist/client/keys.js.map +1 -1
- package/dist/client/protocol.d.ts +7 -2
- package/dist/client/protocol.js +39 -11
- package/dist/client/protocol.js.map +1 -1
- package/dist/client/responses.d.ts +7 -1
- package/dist/client/responses.js +8 -3
- package/dist/client/responses.js.map +1 -1
- package/dist/component/_generated/component.d.ts +28 -1
- package/dist/component/authRequests.d.ts +30 -4
- package/dist/component/authRequests.js +92 -11
- package/dist/component/authRequests.js.map +1 -1
- package/dist/component/lifecycle.d.ts +14 -3
- package/dist/component/lifecycle.js +106 -49
- package/dist/component/lifecycle.js.map +1 -1
- package/dist/component/registration.d.ts +12 -0
- package/dist/component/registration.js +33 -0
- package/dist/component/registration.js.map +1 -1
- package/dist/component/schema.d.ts +119 -10
- package/dist/component/schema.js +21 -2
- package/dist/component/schema.js.map +1 -1
- package/package.json +1 -1
|
@@ -35,6 +35,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
35
35
|
scope: string;
|
|
36
36
|
state?: string;
|
|
37
37
|
status: "pending";
|
|
38
|
+
txnCookieHash?: string;
|
|
38
39
|
} | {
|
|
39
40
|
appId: string;
|
|
40
41
|
clientId: string;
|
|
@@ -49,6 +50,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
49
50
|
scope: string;
|
|
50
51
|
state?: string;
|
|
51
52
|
status: "upstream";
|
|
53
|
+
txnCookieHash?: string;
|
|
52
54
|
upstreamCodeVerifier: string;
|
|
53
55
|
upstreamNonce?: string;
|
|
54
56
|
upstreamStateHash: string;
|
|
@@ -66,6 +68,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
66
68
|
scope: string;
|
|
67
69
|
state?: string;
|
|
68
70
|
status: "claimed";
|
|
71
|
+
txnCookieHash?: string;
|
|
69
72
|
} | {
|
|
70
73
|
appId: string;
|
|
71
74
|
clientId: string;
|
|
@@ -76,6 +79,8 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
76
79
|
emailAttempts: number;
|
|
77
80
|
emailCodeExpiresAt: number;
|
|
78
81
|
emailCodeHash: string;
|
|
82
|
+
emailLastSentAt: number;
|
|
83
|
+
emailSends: number;
|
|
79
84
|
expiresAt: number;
|
|
80
85
|
freshLogin: boolean;
|
|
81
86
|
nonce?: string;
|
|
@@ -84,6 +89,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
84
89
|
scope: string;
|
|
85
90
|
state?: string;
|
|
86
91
|
status: "emailSent";
|
|
92
|
+
txnCookieHash?: string;
|
|
87
93
|
} | {
|
|
88
94
|
appId: string;
|
|
89
95
|
authTime: number;
|
|
@@ -106,6 +112,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
106
112
|
scope: string;
|
|
107
113
|
state?: string;
|
|
108
114
|
status: "completed";
|
|
115
|
+
txnCookieHash?: string;
|
|
109
116
|
}, [import("convex/values").VObject<{
|
|
110
117
|
appId: string;
|
|
111
118
|
clientId: string;
|
|
@@ -119,6 +126,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
119
126
|
scope: string;
|
|
120
127
|
state?: string;
|
|
121
128
|
status: "pending";
|
|
129
|
+
txnCookieHash?: string;
|
|
122
130
|
}, {
|
|
123
131
|
requestId: import("convex/values").VString<string, "required">;
|
|
124
132
|
appId: import("convex/values").VString<string, "required">;
|
|
@@ -130,10 +138,16 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
130
138
|
codeChallenge: import("convex/values").VString<string, "required">;
|
|
131
139
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
132
140
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
141
|
+
/**
|
|
142
|
+
* SHA-256 hex of the request's transaction cookie, set with the chooser page. `/continue`, the
|
|
143
|
+
* connector callback, and the email steps need the cookie, so only the browser that saw the
|
|
144
|
+
* chooser can move the request on. Absent when /authorize skipped the chooser.
|
|
145
|
+
*/
|
|
146
|
+
txnCookieHash: import("convex/values").VString<string | undefined, "optional">;
|
|
133
147
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
134
148
|
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
135
149
|
status: import("convex/values").VLiteral<"pending", "required">;
|
|
136
|
-
}, "required", "appId" | "clientId" | "codeChallenge" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status">, import("convex/values").VObject<{
|
|
150
|
+
}, "required", "appId" | "clientId" | "codeChallenge" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash">, import("convex/values").VObject<{
|
|
137
151
|
appId: string;
|
|
138
152
|
clientId: string;
|
|
139
153
|
codeChallenge: string;
|
|
@@ -147,6 +161,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
147
161
|
scope: string;
|
|
148
162
|
state?: string;
|
|
149
163
|
status: "upstream";
|
|
164
|
+
txnCookieHash?: string;
|
|
150
165
|
upstreamCodeVerifier: string;
|
|
151
166
|
upstreamNonce?: string;
|
|
152
167
|
upstreamStateHash: string;
|
|
@@ -161,6 +176,12 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
161
176
|
codeChallenge: import("convex/values").VString<string, "required">;
|
|
162
177
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
163
178
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
179
|
+
/**
|
|
180
|
+
* SHA-256 hex of the request's transaction cookie, set with the chooser page. `/continue`, the
|
|
181
|
+
* connector callback, and the email steps need the cookie, so only the browser that saw the
|
|
182
|
+
* chooser can move the request on. Absent when /authorize skipped the chooser.
|
|
183
|
+
*/
|
|
184
|
+
txnCookieHash: import("convex/values").VString<string | undefined, "optional">;
|
|
164
185
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
165
186
|
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
166
187
|
status: import("convex/values").VLiteral<"upstream", "required">;
|
|
@@ -168,7 +189,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
168
189
|
upstreamStateHash: import("convex/values").VString<string, "required">;
|
|
169
190
|
upstreamCodeVerifier: import("convex/values").VString<string, "required">;
|
|
170
191
|
upstreamNonce: import("convex/values").VString<string | undefined, "optional">;
|
|
171
|
-
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "upstreamCodeVerifier" | "upstreamNonce" | "upstreamStateHash">, import("convex/values").VObject<{
|
|
192
|
+
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash" | "upstreamCodeVerifier" | "upstreamNonce" | "upstreamStateHash">, import("convex/values").VObject<{
|
|
172
193
|
appId: string;
|
|
173
194
|
clientId: string;
|
|
174
195
|
codeChallenge: string;
|
|
@@ -182,6 +203,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
182
203
|
scope: string;
|
|
183
204
|
state?: string;
|
|
184
205
|
status: "claimed";
|
|
206
|
+
txnCookieHash?: string;
|
|
185
207
|
}, {
|
|
186
208
|
requestId: import("convex/values").VString<string, "required">;
|
|
187
209
|
appId: import("convex/values").VString<string, "required">;
|
|
@@ -193,11 +215,17 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
193
215
|
codeChallenge: import("convex/values").VString<string, "required">;
|
|
194
216
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
195
217
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
218
|
+
/**
|
|
219
|
+
* SHA-256 hex of the request's transaction cookie, set with the chooser page. `/continue`, the
|
|
220
|
+
* connector callback, and the email steps need the cookie, so only the browser that saw the
|
|
221
|
+
* chooser can move the request on. Absent when /authorize skipped the chooser.
|
|
222
|
+
*/
|
|
223
|
+
txnCookieHash: import("convex/values").VString<string | undefined, "optional">;
|
|
196
224
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
197
225
|
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
198
226
|
status: import("convex/values").VLiteral<"claimed", "required">;
|
|
199
227
|
connector: import("convex/values").VString<string, "required">;
|
|
200
|
-
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status">, import("convex/values").VObject<{
|
|
228
|
+
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash">, import("convex/values").VObject<{
|
|
201
229
|
appId: string;
|
|
202
230
|
clientId: string;
|
|
203
231
|
codeChallenge: string;
|
|
@@ -207,6 +235,8 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
207
235
|
emailAttempts: number;
|
|
208
236
|
emailCodeExpiresAt: number;
|
|
209
237
|
emailCodeHash: string;
|
|
238
|
+
emailLastSentAt: number;
|
|
239
|
+
emailSends: number;
|
|
210
240
|
expiresAt: number;
|
|
211
241
|
freshLogin: boolean;
|
|
212
242
|
nonce?: string;
|
|
@@ -215,6 +245,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
215
245
|
scope: string;
|
|
216
246
|
state?: string;
|
|
217
247
|
status: "emailSent";
|
|
248
|
+
txnCookieHash?: string;
|
|
218
249
|
}, {
|
|
219
250
|
requestId: import("convex/values").VString<string, "required">;
|
|
220
251
|
appId: import("convex/values").VString<string, "required">;
|
|
@@ -226,6 +257,12 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
226
257
|
codeChallenge: import("convex/values").VString<string, "required">;
|
|
227
258
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
228
259
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
260
|
+
/**
|
|
261
|
+
* SHA-256 hex of the request's transaction cookie, set with the chooser page. `/continue`, the
|
|
262
|
+
* connector callback, and the email steps need the cookie, so only the browser that saw the
|
|
263
|
+
* chooser can move the request on. Absent when /authorize skipped the chooser.
|
|
264
|
+
*/
|
|
265
|
+
txnCookieHash: import("convex/values").VString<string | undefined, "optional">;
|
|
229
266
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
230
267
|
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
231
268
|
status: import("convex/values").VLiteral<"emailSent", "required">;
|
|
@@ -233,8 +270,12 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
233
270
|
email: import("convex/values").VString<string, "required">;
|
|
234
271
|
emailCodeHash: import("convex/values").VString<string, "required">;
|
|
235
272
|
emailCodeExpiresAt: import("convex/values").VFloat64<number, "required">;
|
|
273
|
+
/** Wrong codes typed, across every code sent for this request. */
|
|
236
274
|
emailAttempts: import("convex/values").VFloat64<number, "required">;
|
|
237
|
-
|
|
275
|
+
/** Codes sent for this request. */
|
|
276
|
+
emailSends: import("convex/values").VFloat64<number, "required">;
|
|
277
|
+
emailLastSentAt: import("convex/values").VFloat64<number, "required">;
|
|
278
|
+
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "email" | "emailAttempts" | "emailCodeExpiresAt" | "emailCodeHash" | "emailLastSentAt" | "emailSends" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash">, import("convex/values").VObject<{
|
|
238
279
|
appId: string;
|
|
239
280
|
authTime: number;
|
|
240
281
|
clientId: string;
|
|
@@ -256,6 +297,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
256
297
|
scope: string;
|
|
257
298
|
state?: string;
|
|
258
299
|
status: "completed";
|
|
300
|
+
txnCookieHash?: string;
|
|
259
301
|
}, {
|
|
260
302
|
requestId: import("convex/values").VString<string, "required">;
|
|
261
303
|
appId: import("convex/values").VString<string, "required">;
|
|
@@ -267,6 +309,12 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
267
309
|
codeChallenge: import("convex/values").VString<string, "required">;
|
|
268
310
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
269
311
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
312
|
+
/**
|
|
313
|
+
* SHA-256 hex of the request's transaction cookie, set with the chooser page. `/continue`, the
|
|
314
|
+
* connector callback, and the email steps need the cookie, so only the browser that saw the
|
|
315
|
+
* chooser can move the request on. Absent when /authorize skipped the chooser.
|
|
316
|
+
*/
|
|
317
|
+
txnCookieHash: import("convex/values").VString<string | undefined, "optional">;
|
|
270
318
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
271
319
|
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
272
320
|
status: import("convex/values").VLiteral<"completed", "required">;
|
|
@@ -286,7 +334,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
286
334
|
picture: import("convex/values").VString<string | undefined, "optional">;
|
|
287
335
|
}, "required", "connector" | "email" | "emailVerified" | "name" | "picture" | "upstreamId">;
|
|
288
336
|
authTime: import("convex/values").VFloat64<number, "required">;
|
|
289
|
-
}, "required", "appId" | "authTime" | "clientId" | "codeChallenge" | "createdAt" | "expiresAt" | "freshLogin" | "identity" | "identity.connector" | "identity.email" | "identity.emailVerified" | "identity.name" | "identity.picture" | "identity.upstreamId" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status">], "required", "appId" | "authTime" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "email" | "emailAttempts" | "emailCodeExpiresAt" | "emailCodeHash" | "expiresAt" | "freshLogin" | "identity" | "identity.connector" | "identity.email" | "identity.emailVerified" | "identity.name" | "identity.picture" | "identity.upstreamId" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "upstreamCodeVerifier" | "upstreamNonce" | "upstreamStateHash">;
|
|
337
|
+
}, "required", "appId" | "authTime" | "clientId" | "codeChallenge" | "createdAt" | "expiresAt" | "freshLogin" | "identity" | "identity.connector" | "identity.email" | "identity.emailVerified" | "identity.name" | "identity.picture" | "identity.upstreamId" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash">], "required", "appId" | "authTime" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "email" | "emailAttempts" | "emailCodeExpiresAt" | "emailCodeHash" | "emailLastSentAt" | "emailSends" | "expiresAt" | "freshLogin" | "identity" | "identity.connector" | "identity.email" | "identity.emailVerified" | "identity.name" | "identity.picture" | "identity.upstreamId" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash" | "upstreamCodeVerifier" | "upstreamNonce" | "upstreamStateHash">;
|
|
290
338
|
declare const _default: import("convex/server").SchemaDefinition<{
|
|
291
339
|
apps: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
292
340
|
allowedCallbackHosts: string[];
|
|
@@ -316,6 +364,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
316
364
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
317
365
|
}, "required", "appId" | "createdAt" | "expiresAt" | "tokenHash">, {
|
|
318
366
|
by_app_id: ["appId", "_creationTime"];
|
|
367
|
+
by_expires_at: ["expiresAt", "_creationTime"];
|
|
319
368
|
by_token_hash: ["tokenHash", "_creationTime"];
|
|
320
369
|
}, {}, {}>;
|
|
321
370
|
clients: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
@@ -358,6 +407,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
358
407
|
scope: string;
|
|
359
408
|
state?: string;
|
|
360
409
|
status: "pending";
|
|
410
|
+
txnCookieHash?: string;
|
|
361
411
|
} | {
|
|
362
412
|
appId: string;
|
|
363
413
|
clientId: string;
|
|
@@ -372,6 +422,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
372
422
|
scope: string;
|
|
373
423
|
state?: string;
|
|
374
424
|
status: "upstream";
|
|
425
|
+
txnCookieHash?: string;
|
|
375
426
|
upstreamCodeVerifier: string;
|
|
376
427
|
upstreamNonce?: string;
|
|
377
428
|
upstreamStateHash: string;
|
|
@@ -389,6 +440,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
389
440
|
scope: string;
|
|
390
441
|
state?: string;
|
|
391
442
|
status: "claimed";
|
|
443
|
+
txnCookieHash?: string;
|
|
392
444
|
} | {
|
|
393
445
|
appId: string;
|
|
394
446
|
clientId: string;
|
|
@@ -399,6 +451,8 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
399
451
|
emailAttempts: number;
|
|
400
452
|
emailCodeExpiresAt: number;
|
|
401
453
|
emailCodeHash: string;
|
|
454
|
+
emailLastSentAt: number;
|
|
455
|
+
emailSends: number;
|
|
402
456
|
expiresAt: number;
|
|
403
457
|
freshLogin: boolean;
|
|
404
458
|
nonce?: string;
|
|
@@ -407,6 +461,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
407
461
|
scope: string;
|
|
408
462
|
state?: string;
|
|
409
463
|
status: "emailSent";
|
|
464
|
+
txnCookieHash?: string;
|
|
410
465
|
} | {
|
|
411
466
|
appId: string;
|
|
412
467
|
authTime: number;
|
|
@@ -429,6 +484,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
429
484
|
scope: string;
|
|
430
485
|
state?: string;
|
|
431
486
|
status: "completed";
|
|
487
|
+
txnCookieHash?: string;
|
|
432
488
|
}, [import("convex/values").VObject<{
|
|
433
489
|
appId: string;
|
|
434
490
|
clientId: string;
|
|
@@ -442,6 +498,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
442
498
|
scope: string;
|
|
443
499
|
state?: string;
|
|
444
500
|
status: "pending";
|
|
501
|
+
txnCookieHash?: string;
|
|
445
502
|
}, {
|
|
446
503
|
requestId: import("convex/values").VString<string, "required">;
|
|
447
504
|
appId: import("convex/values").VString<string, "required">;
|
|
@@ -453,10 +510,16 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
453
510
|
codeChallenge: import("convex/values").VString<string, "required">;
|
|
454
511
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
455
512
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
513
|
+
/**
|
|
514
|
+
* SHA-256 hex of the request's transaction cookie, set with the chooser page. `/continue`, the
|
|
515
|
+
* connector callback, and the email steps need the cookie, so only the browser that saw the
|
|
516
|
+
* chooser can move the request on. Absent when /authorize skipped the chooser.
|
|
517
|
+
*/
|
|
518
|
+
txnCookieHash: import("convex/values").VString<string | undefined, "optional">;
|
|
456
519
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
457
520
|
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
458
521
|
status: import("convex/values").VLiteral<"pending", "required">;
|
|
459
|
-
}, "required", "appId" | "clientId" | "codeChallenge" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status">, import("convex/values").VObject<{
|
|
522
|
+
}, "required", "appId" | "clientId" | "codeChallenge" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash">, import("convex/values").VObject<{
|
|
460
523
|
appId: string;
|
|
461
524
|
clientId: string;
|
|
462
525
|
codeChallenge: string;
|
|
@@ -470,6 +533,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
470
533
|
scope: string;
|
|
471
534
|
state?: string;
|
|
472
535
|
status: "upstream";
|
|
536
|
+
txnCookieHash?: string;
|
|
473
537
|
upstreamCodeVerifier: string;
|
|
474
538
|
upstreamNonce?: string;
|
|
475
539
|
upstreamStateHash: string;
|
|
@@ -484,6 +548,12 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
484
548
|
codeChallenge: import("convex/values").VString<string, "required">;
|
|
485
549
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
486
550
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
551
|
+
/**
|
|
552
|
+
* SHA-256 hex of the request's transaction cookie, set with the chooser page. `/continue`, the
|
|
553
|
+
* connector callback, and the email steps need the cookie, so only the browser that saw the
|
|
554
|
+
* chooser can move the request on. Absent when /authorize skipped the chooser.
|
|
555
|
+
*/
|
|
556
|
+
txnCookieHash: import("convex/values").VString<string | undefined, "optional">;
|
|
487
557
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
488
558
|
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
489
559
|
status: import("convex/values").VLiteral<"upstream", "required">;
|
|
@@ -491,7 +561,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
491
561
|
upstreamStateHash: import("convex/values").VString<string, "required">;
|
|
492
562
|
upstreamCodeVerifier: import("convex/values").VString<string, "required">;
|
|
493
563
|
upstreamNonce: import("convex/values").VString<string | undefined, "optional">;
|
|
494
|
-
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "upstreamCodeVerifier" | "upstreamNonce" | "upstreamStateHash">, import("convex/values").VObject<{
|
|
564
|
+
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash" | "upstreamCodeVerifier" | "upstreamNonce" | "upstreamStateHash">, import("convex/values").VObject<{
|
|
495
565
|
appId: string;
|
|
496
566
|
clientId: string;
|
|
497
567
|
codeChallenge: string;
|
|
@@ -505,6 +575,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
505
575
|
scope: string;
|
|
506
576
|
state?: string;
|
|
507
577
|
status: "claimed";
|
|
578
|
+
txnCookieHash?: string;
|
|
508
579
|
}, {
|
|
509
580
|
requestId: import("convex/values").VString<string, "required">;
|
|
510
581
|
appId: import("convex/values").VString<string, "required">;
|
|
@@ -516,11 +587,17 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
516
587
|
codeChallenge: import("convex/values").VString<string, "required">;
|
|
517
588
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
518
589
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
590
|
+
/**
|
|
591
|
+
* SHA-256 hex of the request's transaction cookie, set with the chooser page. `/continue`, the
|
|
592
|
+
* connector callback, and the email steps need the cookie, so only the browser that saw the
|
|
593
|
+
* chooser can move the request on. Absent when /authorize skipped the chooser.
|
|
594
|
+
*/
|
|
595
|
+
txnCookieHash: import("convex/values").VString<string | undefined, "optional">;
|
|
519
596
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
520
597
|
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
521
598
|
status: import("convex/values").VLiteral<"claimed", "required">;
|
|
522
599
|
connector: import("convex/values").VString<string, "required">;
|
|
523
|
-
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status">, import("convex/values").VObject<{
|
|
600
|
+
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash">, import("convex/values").VObject<{
|
|
524
601
|
appId: string;
|
|
525
602
|
clientId: string;
|
|
526
603
|
codeChallenge: string;
|
|
@@ -530,6 +607,8 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
530
607
|
emailAttempts: number;
|
|
531
608
|
emailCodeExpiresAt: number;
|
|
532
609
|
emailCodeHash: string;
|
|
610
|
+
emailLastSentAt: number;
|
|
611
|
+
emailSends: number;
|
|
533
612
|
expiresAt: number;
|
|
534
613
|
freshLogin: boolean;
|
|
535
614
|
nonce?: string;
|
|
@@ -538,6 +617,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
538
617
|
scope: string;
|
|
539
618
|
state?: string;
|
|
540
619
|
status: "emailSent";
|
|
620
|
+
txnCookieHash?: string;
|
|
541
621
|
}, {
|
|
542
622
|
requestId: import("convex/values").VString<string, "required">;
|
|
543
623
|
appId: import("convex/values").VString<string, "required">;
|
|
@@ -549,6 +629,12 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
549
629
|
codeChallenge: import("convex/values").VString<string, "required">;
|
|
550
630
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
551
631
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
632
|
+
/**
|
|
633
|
+
* SHA-256 hex of the request's transaction cookie, set with the chooser page. `/continue`, the
|
|
634
|
+
* connector callback, and the email steps need the cookie, so only the browser that saw the
|
|
635
|
+
* chooser can move the request on. Absent when /authorize skipped the chooser.
|
|
636
|
+
*/
|
|
637
|
+
txnCookieHash: import("convex/values").VString<string | undefined, "optional">;
|
|
552
638
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
553
639
|
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
554
640
|
status: import("convex/values").VLiteral<"emailSent", "required">;
|
|
@@ -556,8 +642,12 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
556
642
|
email: import("convex/values").VString<string, "required">;
|
|
557
643
|
emailCodeHash: import("convex/values").VString<string, "required">;
|
|
558
644
|
emailCodeExpiresAt: import("convex/values").VFloat64<number, "required">;
|
|
645
|
+
/** Wrong codes typed, across every code sent for this request. */
|
|
559
646
|
emailAttempts: import("convex/values").VFloat64<number, "required">;
|
|
560
|
-
|
|
647
|
+
/** Codes sent for this request. */
|
|
648
|
+
emailSends: import("convex/values").VFloat64<number, "required">;
|
|
649
|
+
emailLastSentAt: import("convex/values").VFloat64<number, "required">;
|
|
650
|
+
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "email" | "emailAttempts" | "emailCodeExpiresAt" | "emailCodeHash" | "emailLastSentAt" | "emailSends" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash">, import("convex/values").VObject<{
|
|
561
651
|
appId: string;
|
|
562
652
|
authTime: number;
|
|
563
653
|
clientId: string;
|
|
@@ -579,6 +669,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
579
669
|
scope: string;
|
|
580
670
|
state?: string;
|
|
581
671
|
status: "completed";
|
|
672
|
+
txnCookieHash?: string;
|
|
582
673
|
}, {
|
|
583
674
|
requestId: import("convex/values").VString<string, "required">;
|
|
584
675
|
appId: import("convex/values").VString<string, "required">;
|
|
@@ -590,6 +681,12 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
590
681
|
codeChallenge: import("convex/values").VString<string, "required">;
|
|
591
682
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
592
683
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
684
|
+
/**
|
|
685
|
+
* SHA-256 hex of the request's transaction cookie, set with the chooser page. `/continue`, the
|
|
686
|
+
* connector callback, and the email steps need the cookie, so only the browser that saw the
|
|
687
|
+
* chooser can move the request on. Absent when /authorize skipped the chooser.
|
|
688
|
+
*/
|
|
689
|
+
txnCookieHash: import("convex/values").VString<string | undefined, "optional">;
|
|
593
690
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
594
691
|
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
595
692
|
status: import("convex/values").VLiteral<"completed", "required">;
|
|
@@ -609,7 +706,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
609
706
|
picture: import("convex/values").VString<string | undefined, "optional">;
|
|
610
707
|
}, "required", "connector" | "email" | "emailVerified" | "name" | "picture" | "upstreamId">;
|
|
611
708
|
authTime: import("convex/values").VFloat64<number, "required">;
|
|
612
|
-
}, "required", "appId" | "authTime" | "clientId" | "codeChallenge" | "createdAt" | "expiresAt" | "freshLogin" | "identity" | "identity.connector" | "identity.email" | "identity.emailVerified" | "identity.name" | "identity.picture" | "identity.upstreamId" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status">], "required", "appId" | "authTime" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "email" | "emailAttempts" | "emailCodeExpiresAt" | "emailCodeHash" | "expiresAt" | "freshLogin" | "identity" | "identity.connector" | "identity.email" | "identity.emailVerified" | "identity.name" | "identity.picture" | "identity.upstreamId" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "upstreamCodeVerifier" | "upstreamNonce" | "upstreamStateHash">, {
|
|
709
|
+
}, "required", "appId" | "authTime" | "clientId" | "codeChallenge" | "createdAt" | "expiresAt" | "freshLogin" | "identity" | "identity.connector" | "identity.email" | "identity.emailVerified" | "identity.name" | "identity.picture" | "identity.upstreamId" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash">], "required", "appId" | "authTime" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "email" | "emailAttempts" | "emailCodeExpiresAt" | "emailCodeHash" | "emailLastSentAt" | "emailSends" | "expiresAt" | "freshLogin" | "identity" | "identity.connector" | "identity.email" | "identity.emailVerified" | "identity.name" | "identity.picture" | "identity.upstreamId" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash" | "upstreamCodeVerifier" | "upstreamNonce" | "upstreamStateHash">, {
|
|
613
710
|
by_expires_at: ["expiresAt", "_creationTime"];
|
|
614
711
|
by_request_id: ["requestId", "_creationTime"];
|
|
615
712
|
by_upstream_state_hash: ["upstreamStateHash", "_creationTime"];
|
|
@@ -630,6 +727,18 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
630
727
|
by_code_hash: ["codeHash", "_creationTime"];
|
|
631
728
|
by_expires_at: ["expiresAt", "_creationTime"];
|
|
632
729
|
}, {}, {}>;
|
|
730
|
+
/** One row per email code sent, kept for the rolling send window; no address, only its hash. */
|
|
731
|
+
emailSends: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
732
|
+
at: number;
|
|
733
|
+
emailHash: string;
|
|
734
|
+
}, {
|
|
735
|
+
/** SHA-256 hex of the canonical address. */
|
|
736
|
+
emailHash: import("convex/values").VString<string, "required">;
|
|
737
|
+
at: import("convex/values").VFloat64<number, "required">;
|
|
738
|
+
}, "required", "at" | "emailHash">, {
|
|
739
|
+
by_at: ["at", "_creationTime"];
|
|
740
|
+
by_email_hash_and_at: ["emailHash", "at", "_creationTime"];
|
|
741
|
+
}, {}, {}>;
|
|
633
742
|
signIns: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
634
743
|
appId: string;
|
|
635
744
|
at: number;
|
package/dist/component/schema.js
CHANGED
|
@@ -30,6 +30,12 @@ const authRequestFields = {
|
|
|
30
30
|
codeChallenge: string(),
|
|
31
31
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
32
32
|
freshLogin: boolean(),
|
|
33
|
+
/**
|
|
34
|
+
* SHA-256 hex of the request's transaction cookie, set with the chooser page. `/continue`, the
|
|
35
|
+
* connector callback, and the email steps need the cookie, so only the browser that saw the
|
|
36
|
+
* chooser can move the request on. Absent when /authorize skipped the chooser.
|
|
37
|
+
*/
|
|
38
|
+
txnCookieHash: optional(string()),
|
|
33
39
|
createdAt: number(),
|
|
34
40
|
expiresAt: number(),
|
|
35
41
|
};
|
|
@@ -47,7 +53,7 @@ object({
|
|
|
47
53
|
}),
|
|
48
54
|
// The connector callback arrived and the code exchange is running; a replay finds this and stops.
|
|
49
55
|
object({ status: literal("claimed"), ...authRequestFields, connector: string() }),
|
|
50
|
-
// An email code was sent; the user types it.
|
|
56
|
+
// An email code was sent; the user types it. A resend replaces the code and keeps the counts.
|
|
51
57
|
object({
|
|
52
58
|
status: literal("emailSent"),
|
|
53
59
|
...authRequestFields,
|
|
@@ -55,7 +61,11 @@ object({
|
|
|
55
61
|
email: string(),
|
|
56
62
|
emailCodeHash: string(),
|
|
57
63
|
emailCodeExpiresAt: number(),
|
|
64
|
+
/** Wrong codes typed, across every code sent for this request. */
|
|
58
65
|
emailAttempts: number(),
|
|
66
|
+
/** Codes sent for this request. */
|
|
67
|
+
emailSends: number(),
|
|
68
|
+
emailLastSentAt: number(),
|
|
59
69
|
}),
|
|
60
70
|
// The connector attested the identity; the authorization code points here until it is exchanged.
|
|
61
71
|
object({
|
|
@@ -80,7 +90,8 @@ export default defineSchema({
|
|
|
80
90
|
createdAt: number(),
|
|
81
91
|
})
|
|
82
92
|
.index("by_token_hash", ["tokenHash"])
|
|
83
|
-
.index("by_app_id", ["appId"])
|
|
93
|
+
.index("by_app_id", ["appId"])
|
|
94
|
+
.index("by_expires_at", ["expiresAt"]),
|
|
84
95
|
clients: defineTable({
|
|
85
96
|
clientId: string(),
|
|
86
97
|
appId: string(),
|
|
@@ -109,6 +120,14 @@ export default defineSchema({
|
|
|
109
120
|
})
|
|
110
121
|
.index("by_code_hash", ["codeHash"])
|
|
111
122
|
.index("by_expires_at", ["expiresAt"]),
|
|
123
|
+
/** One row per email code sent, kept for the rolling send window; no address, only its hash. */
|
|
124
|
+
emailSends: defineTable({
|
|
125
|
+
/** SHA-256 hex of the canonical address. */
|
|
126
|
+
emailHash: string(),
|
|
127
|
+
at: number(),
|
|
128
|
+
})
|
|
129
|
+
.index("by_email_hash_and_at", ["emailHash", "at"])
|
|
130
|
+
.index("by_at", ["at"]),
|
|
112
131
|
signIns: defineTable({
|
|
113
132
|
appId: string(),
|
|
114
133
|
clientId: string(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAElC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAE/E,8FAA8F;AAC9F,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAC3C,OAAO,CAAC,oBAAoB,CAAC,EAC7B,OAAO,CAAC,qBAAqB,CAAC,CAC/B,CAAC;AAEF,sGAAsG;AACtG,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAClC,OAAO,CAAC,YAAY,CAAC,EACrB,OAAO,CAAC,aAAa,CAAC,EACtB,OAAO,CAAC,SAAS,CAAC,CACnB,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;IACtC,SAAS,EAAE,MAAM,EAAE;IACnB,UAAU,EAAE,MAAM,EAAE;IACpB,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;IAClC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;CAC5B,CAAC,CAAC;AAEH,4FAA4F;AAC5F,MAAM,iBAAiB,GAAG;IACxB,SAAS,EAAE,MAAM,EAAE;IACnB,KAAK,EAAE,MAAM,EAAE;IACf,QAAQ,EAAE,MAAM,EAAE;IAClB,WAAW,EAAE,MAAM,EAAE;IACrB,KAAK,EAAE,MAAM,EAAE;IACf,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACzB,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE;IACvB,yFAAyF;IACzF,UAAU,EAAE,OAAO,EAAE;IACrB,SAAS,EAAE,MAAM,EAAE;IACnB,SAAS,EAAE,MAAM,EAAE;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK;AAC/B,iEAAiE;AACjE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,GAAG,iBAAiB,EAAE,CAAC;AAC5D,+FAA+F;AAC/F,MAAM,CAAC;IACL,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;IAC3B,GAAG,iBAAiB;IACpB,SAAS,EAAE,MAAM,EAAE;IACnB,iBAAiB,EAAE,MAAM,EAAE;IAC3B,oBAAoB,EAAE,MAAM,EAAE;IAC9B,aAAa,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;CAClC,CAAC;AACF,kGAAkG;AAClG,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,GAAG,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;AACjF,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAElC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAE/E,8FAA8F;AAC9F,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAC3C,OAAO,CAAC,oBAAoB,CAAC,EAC7B,OAAO,CAAC,qBAAqB,CAAC,CAC/B,CAAC;AAEF,sGAAsG;AACtG,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAClC,OAAO,CAAC,YAAY,CAAC,EACrB,OAAO,CAAC,aAAa,CAAC,EACtB,OAAO,CAAC,SAAS,CAAC,CACnB,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;IACtC,SAAS,EAAE,MAAM,EAAE;IACnB,UAAU,EAAE,MAAM,EAAE;IACpB,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;IAClC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;CAC5B,CAAC,CAAC;AAEH,4FAA4F;AAC5F,MAAM,iBAAiB,GAAG;IACxB,SAAS,EAAE,MAAM,EAAE;IACnB,KAAK,EAAE,MAAM,EAAE;IACf,QAAQ,EAAE,MAAM,EAAE;IAClB,WAAW,EAAE,MAAM,EAAE;IACrB,KAAK,EAAE,MAAM,EAAE;IACf,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACzB,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE;IACvB,yFAAyF;IACzF,UAAU,EAAE,OAAO,EAAE;IACrB;;;;OAIG;IACH,aAAa,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACjC,SAAS,EAAE,MAAM,EAAE;IACnB,SAAS,EAAE,MAAM,EAAE;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK;AAC/B,iEAAiE;AACjE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,GAAG,iBAAiB,EAAE,CAAC;AAC5D,+FAA+F;AAC/F,MAAM,CAAC;IACL,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;IAC3B,GAAG,iBAAiB;IACpB,SAAS,EAAE,MAAM,EAAE;IACnB,iBAAiB,EAAE,MAAM,EAAE;IAC3B,oBAAoB,EAAE,MAAM,EAAE;IAC9B,aAAa,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;CAClC,CAAC;AACF,kGAAkG;AAClG,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,GAAG,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;AACjF,8FAA8F;AAC9F,MAAM,CAAC;IACL,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC;IAC5B,GAAG,iBAAiB;IACpB,SAAS,EAAE,MAAM,EAAE;IACnB,KAAK,EAAE,MAAM,EAAE;IACf,aAAa,EAAE,MAAM,EAAE;IACvB,kBAAkB,EAAE,MAAM,EAAE;IAC5B,kEAAkE;IAClE,aAAa,EAAE,MAAM,EAAE;IACvB,mCAAmC;IACnC,UAAU,EAAE,MAAM,EAAE;IACpB,eAAe,EAAE,MAAM,EAAE;CAC1B,CAAC;AACF,iGAAiG;AACjG,MAAM,CAAC;IACL,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC;IAC5B,GAAG,iBAAiB;IACpB,QAAQ,EAAE,iBAAiB;IAC3B,QAAQ,EAAE,MAAM,EAAE;CACnB,CAAC,CACH,CAAC;AAEF,eAAe,YAAY,CAAC;IAC1B,IAAI,EAAE,WAAW,CAAC;QAChB,KAAK,EAAE,MAAM,EAAE;QACf,IAAI,EAAE,MAAM,EAAE;QACd,UAAU,EAAE,OAAO,EAAE;QACrB,0FAA0F;QAC1F,oBAAoB,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QACrC,SAAS,EAAE,MAAM,EAAE;KACpB,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC;IAEhC,kBAAkB,EAAE,WAAW,CAAC;QAC9B,SAAS,EAAE,MAAM,EAAE;QACnB,KAAK,EAAE,MAAM,EAAE;QACf,SAAS,EAAE,MAAM,EAAE;QACnB,SAAS,EAAE,MAAM,EAAE;KACpB,CAAC;SACC,KAAK,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC,CAAC;SACrC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC;SAC7B,KAAK,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC,CAAC;IAExC,OAAO,EAAE,WAAW,CAAC;QACnB,QAAQ,EAAE,MAAM,EAAE;QAClB,KAAK,EAAE,MAAM,EAAE;QACf,UAAU,EAAE,MAAM,EAAE;QACpB,uBAAuB,EAAE,wBAAwB;QACjD,WAAW,EAAE,MAAM,EAAE;QACrB,cAAc,EAAE,eAAe;QAC/B,UAAU,EAAE,MAAM,EAAE;QACpB,eAAe,EAAE,MAAM,EAAE;QACzB,SAAS,EAAE,MAAM,EAAE;QACnB,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;KACjC,CAAC;SACC,KAAK,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,CAAC;SACnC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC;SAC7B,KAAK,CAAC,oBAAoB,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAElD,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC;SACpC,KAAK,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC,CAAC;SACrC,KAAK,CAAC,wBAAwB,EAAE,CAAC,mBAAmB,CAAC,CAAC;SACtD,KAAK,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC,CAAC;IAExC,kBAAkB,EAAE,WAAW,CAAC;QAC9B,QAAQ,EAAE,MAAM,EAAE;QAClB,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC;QACnC,QAAQ,EAAE,MAAM,EAAE;QAClB,SAAS,EAAE,MAAM,EAAE;QACnB,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;KAC3B,CAAC;SACC,KAAK,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,CAAC;SACnC,KAAK,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC,CAAC;IAExC,gGAAgG;IAChG,UAAU,EAAE,WAAW,CAAC;QACtB,4CAA4C;QAC5C,SAAS,EAAE,MAAM,EAAE;QACnB,EAAE,EAAE,MAAM,EAAE;KACb,CAAC;SACC,KAAK,CAAC,sBAAsB,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;SAClD,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IAEzB,OAAO,EAAE,WAAW,CAAC;QACnB,KAAK,EAAE,MAAM,EAAE;QACf,QAAQ,EAAE,MAAM,EAAE;QAClB,SAAS,EAAE,MAAM,EAAE;QACnB,GAAG,EAAE,MAAM,EAAE;QACb,EAAE,EAAE,MAAM,EAAE;KACb,CAAC;SACC,KAAK,CAAC,kBAAkB,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SAC1C,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;CAC1B,CAAC,CAAC"}
|
package/package.json
CHANGED