pyric-admin 0.1.0-alpha.32 → 0.1.0-alpha.34

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.
@@ -1,7 +1,6 @@
1
1
  import { type PyricAdminApp } from '../app/index.js';
2
2
  import type { Auth } from './types.js';
3
3
  export * from './types.js';
4
- export { SANDBOX_TOKEN_PREFIX } from './token-decoders.js';
5
4
  /**
6
5
  * Return an `Auth` handle for the given app — or for the DEFAULT app when
7
6
  * called with no argument (mirrors firebase-admin's no-arg `getAuth()`:
@@ -20,9 +19,11 @@ export { SANDBOX_TOKEN_PREFIX } from './token-decoders.js';
20
19
  * const auth = getAuth(app);
21
20
  *
22
21
  * const user = await auth.createUser({ uid: 'alice', email: 'a@e.com' });
23
- * const token = await auth.createCustomToken(user.uid, { role: 'admin' });
24
- * const decoded = await auth.verifyIdToken(token);
25
- * console.log(decoded.uid, decoded.role); // 'alice' 'admin'
22
+ * await auth.setCustomUserClaims(user.uid, { role: 'admin' });
23
+ *
24
+ * // An ID token from a client signed in on the same sandbox.
25
+ * const decoded = await auth.verifyIdToken(idTokenFromTheClient);
26
+ * console.log(decoded.uid);
26
27
  * ```
27
28
  */
28
29
  export declare function getAuth(app?: PyricAdminApp): Auth;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AA2EA,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EACV,IAAI,EAML,MAAM,YAAY,CAAC;AAIpB,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AA+mB3D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,OAAO,CAAC,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CAoBjD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AA2FA,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EACV,IAAI,EAML,MAAM,YAAY,CAAC;AAGpB,cAAc,YAAY,CAAC;AA6qB3B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,OAAO,CAAC,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CAoBjD"}
@@ -5,9 +5,10 @@
5
5
  * `app` argument is the branded handle from `pyric-admin/app`
6
6
  * ({@link PyricAdminApp}); only sandbox-branded apps enter this package.
7
7
  * The local sandbox path uses an in-memory store keyed off `app.sandbox`
8
- * and implements the core user-management subset below. Tokens are NOT
9
- * real JWTs — they are deterministic strings parsed by the same sandbox
10
- * backend. This is enough to exercise agent code paths that use
8
+ * and implements the core user-management subset below. Custom tokens are
9
+ * NOT real JWTs — they are deterministic strings. `verifyIdToken` checks the
10
+ * ID token JWTs pyric's Auth mints, as firebase-admin checks an ID token.
11
+ * This is enough to exercise agent code paths that use
11
12
  * `createUser` / `getUser` / `setCustomUserClaims` /
12
13
  * `createCustomToken` / `verifyIdToken`, not enough to model a real
13
14
  * identity platform.
@@ -24,11 +25,20 @@
24
25
  * Surface scope on the sandbox backend (what works):
25
26
  *
26
27
  * - {@link getAuth}
27
- * - `Auth.createCustomToken(uid, claims?)` — returns a deterministic
28
- * `pyric-sandbox-custom:${uid}:${json}` string; no signing.
29
- * - `Auth.verifyIdToken(token)` — parses tokens minted by
30
- * `createCustomToken`; returns a {@link DecodedIdToken}-shaped
31
- * object.
28
+ * - `Auth.createCustomToken(uid, claims?)` — returns a custom token in
29
+ * firebase-admin's JWT shape for the app's project, signed by the
30
+ * sandbox, which pyric's `signInWithCustomToken` exchanges (#1952).
31
+ * - `Auth.verifyIdToken(token, checkRevoked?)` — verifies an ID token
32
+ * pyric's Auth minted for the app's project (the app's project ID, or
33
+ * `pyric-sandbox` when it names none), with production's error codes;
34
+ * returns a {@link DecodedIdToken}. A custom token is refused with
35
+ * `auth/argument-error`, as in production (#1949). With
36
+ * `checkRevoked`, the client account behind the token must exist
37
+ * (`auth/user-not-found`), be enabled (`auth/user-disabled`), and have
38
+ * no revocation after the token's `auth_time` (`auth/id-token-revoked`).
39
+ * - `Auth.revokeRefreshTokens(uid)` — revokes the client account's
40
+ * refresh tokens: its held sessions fail their next refresh, and
41
+ * `verifyIdToken(token, true)` refuses tokens authenticated before it.
32
42
  * - `Auth.createUser(properties)` — stores a {@link UserRecord}
33
43
  * in an in-memory `Map<uid, UserRecord>`. Auto-generates a `uid`
34
44
  * when one is not supplied.
@@ -54,7 +64,6 @@
54
64
  * `generateSignInWithEmailLink`, `generateVerifyAndChangeEmailLink`.
55
65
  * - Bulk operations: `listUsers`, `getUsers`, `deleteUsers`,
56
66
  * `importUsers`.
57
- * - Revocation: `revokeRefreshTokens`.
58
67
  * - `getUserByPhoneNumber`, `getUserByProviderUid`.
59
68
  * - `updateUser` — not required by the brief.
60
69
  *
@@ -62,19 +71,18 @@
62
71
  * load `firebase-admin/auth` directly, outside this package graph.
63
72
  */
64
73
  import { isRemoteSandbox, } from 'pyric/sandbox';
65
- import { assertNoReservedCustomClaims } from 'pyric/sandbox/internal';
74
+ import { assertNoReservedCustomClaims, authAccountsFor, getClock, mintCustomToken, SANDBOX_PROJECT_ID, } from 'pyric/sandbox/internal';
66
75
  import { ADMIN_APP_TARGET, getApp, } from '../app/index.js';
67
76
  import { assertAdminAppActive } from '../app/lifecycle.js';
68
- import { SANDBOX_TOKEN_PREFIX } from './token-decoders.js';
69
- import { verifySandboxIdToken } from './verify-token.js';
77
+ import { explicitProjectId } from '../app/project-id.js';
78
+ import { assertIdTokenArgument, assertNotRevokedOrDisabled, invalidUid, userNotFound, verifySandboxIdToken } from './verify-token.js';
70
79
  export * from './types.js';
71
- export { SANDBOX_TOKEN_PREFIX } from './token-decoders.js';
72
80
  // ─── Sandbox backend ────────────────────────────────────────────────────
73
81
  /**
74
82
  * Per-sandbox in-memory store. One instance per `Sandbox` (tracked in
75
83
  * the {@link sandboxStores} WeakMap below). Holds the user table; the
76
- * token format is stateless (`createCustomToken` mints, `verifyIdToken`
77
- * parses) so it doesn't need to live here.
84
+ * tokens are stateless (`createCustomToken` mints, `verifyIdToken`
85
+ * checks) so they don't need to live here.
78
86
  *
79
87
  * `usersByUid` is the canonical index. `getUserByEmail` does a linear
80
88
  * scan over its values — the sandbox is for development and agent test
@@ -144,15 +152,14 @@ function storeFor(sandbox) {
144
152
  return store;
145
153
  }
146
154
  /**
147
- * Mint a deterministic sandbox token (the {@link SANDBOX_TOKEN_PREFIX}
148
- * format). Stateless — shared verbatim by the local and remote sandbox
149
- * arms, so a token minted against either round-trips through
150
- * verifySandboxIdToken on the other.
155
+ * Mint a sandbox custom token for the app's project at `nowMs`, in
156
+ * firebase-admin's shape (`pyric/sandbox/internal` `mintCustomToken`).
157
+ * Stateless, shared by the local and remote sandbox arms. Like production's
158
+ * custom token, it is not an ID token, and `verifyIdToken` refuses it.
151
159
  */
152
- function mintSandboxCustomToken(uid, developerClaims) {
153
- const claims = developerClaims ?? {};
154
- const token = `${SANDBOX_TOKEN_PREFIX}:${uid}:${JSON.stringify(claims)}`;
155
- return Promise.resolve(token);
160
+ function mintSandboxCustomToken(app, nowMs, uid, developerClaims) {
161
+ const claims = developerClaims;
162
+ return Promise.resolve(mintCustomToken({ uid, claims, projectId: idTokenProjectId(app), nowMs }));
156
163
  }
157
164
  /**
158
165
  * Build the in-memory `Auth` handle for a sandbox app. Returns an
@@ -168,7 +175,24 @@ function mintSandboxCustomToken(uid, developerClaims) {
168
175
  * cast acknowledges the divergence in one place and lets the rest of
169
176
  * the file focus on the methods that actually work.
170
177
  */
171
- function makeSandboxAuth(sandbox) {
178
+ /**
179
+ * The project an ID token must name for `app`: firebase-admin's explicit
180
+ * project ID, or `pyric-sandbox`, which pyric's Auth mints for when it knows
181
+ * no project. Production throws `auth/invalid-credential` with no project;
182
+ * the sandbox checks against `pyric-sandbox` instead, by design.
183
+ */
184
+ function idTokenProjectId(app) {
185
+ return explicitProjectId(app) ?? SANDBOX_PROJECT_ID;
186
+ }
187
+ /**
188
+ * Where the client account with `uid` stands, from the account table the
189
+ * sandbox's client sign-ins write to. A sandbox no client Auth has touched
190
+ * has no accounts.
191
+ */
192
+ function clientAccountStanding(sandbox, uid) {
193
+ return authAccountsFor(sandbox)?.standing(uid) ?? { kind: 'unrecorded' };
194
+ }
195
+ function makeSandboxAuth(app, sandbox) {
172
196
  const store = storeFor(sandbox);
173
197
  /** Canonical "not implemented" error for surface that the sandbox
174
198
  * backend doesn't model. Threaded through every stub so the message
@@ -217,21 +241,22 @@ function makeSandboxAuth(sandbox) {
217
241
  throw notImplemented('auth.app');
218
242
  },
219
243
  /**
220
- * Mint a deterministic sandbox token. Format is fixed at
221
- * `${SANDBOX_TOKEN_PREFIX}:${uid}:${JSON.stringify(claims ?? {})}`.
222
- * Round-trips through {@link verifyIdToken} on the same sandbox
223
- * backend; rejected by every other token verifier. Shared
224
- * implementation: {@link mintSandboxCustomToken}.
244
+ * Mint a custom token for the app's project on the sandbox clock. Not
245
+ * an ID token: {@link verifyIdToken} refuses it, as production does.
246
+ * Shared implementation: {@link mintSandboxCustomToken}.
225
247
  */
226
248
  createCustomToken(uid, developerClaims) {
227
- return mintSandboxCustomToken(uid, developerClaims);
249
+ return mintSandboxCustomToken(app, getClock(sandbox).now(), uid, developerClaims);
228
250
  },
229
251
  /**
230
- * Parse a token minted by {@link createCustomToken}. Shared
231
- * implementation: {@link verifySandboxIdToken}.
252
+ * Verify an ID token for the app's project, reading `exp` and `nbf` on
253
+ * the sandbox clock. Shared implementation: {@link verifySandboxIdToken}.
232
254
  */
233
- verifyIdToken(idToken, _checkRevoked) {
234
- return verifySandboxIdToken(idToken);
255
+ verifyIdToken(idToken, checkRevoked = false) {
256
+ const verified = verifySandboxIdToken(idToken, { projectId: idTokenProjectId(app), nowMs: getClock(sandbox).now() });
257
+ if (!checkRevoked)
258
+ return verified;
259
+ return verified.then((decoded) => assertNotRevokedOrDisabled(decoded, clientAccountStanding(sandbox, decoded.sub)));
235
260
  },
236
261
  /**
237
262
  * Store a {@link UserRecord} in the in-memory map. If the caller
@@ -337,8 +362,22 @@ function makeSandboxAuth(sandbox) {
337
362
  importUsers() {
338
363
  return Promise.reject(notImplemented('importUsers'));
339
364
  },
340
- revokeRefreshTokens() {
341
- return Promise.reject(notImplemented('revokeRefreshTokens'));
365
+ /**
366
+ * Revoke the client account's refresh tokens at the sandbox clock's now,
367
+ * through the shared foundation's account table. A uid that is not a
368
+ * non-empty string of at most 128 characters rejects `auth/invalid-uid`,
369
+ * and a uid with no client record `auth/user-not-found`, as production's do.
370
+ */
371
+ revokeRefreshTokens(uid) {
372
+ const uidError = invalidUid(uid);
373
+ if (uidError !== null)
374
+ return Promise.reject(uidError);
375
+ const standing = clientAccountStanding(sandbox, uid);
376
+ const hasRecord = standing.kind === 'active' || standing.kind === 'disabled';
377
+ if (!hasRecord)
378
+ return Promise.reject(userNotFound());
379
+ authAccountsFor(sandbox)?.revokeRefreshTokens(uid);
380
+ return Promise.resolve();
342
381
  },
343
382
  createSessionCookie() {
344
383
  return Promise.reject(notImplemented('createSessionCookie'));
@@ -399,10 +438,14 @@ function makeSandboxAuth(sandbox) {
399
438
  // dedicated single-lookup op, and O(n) over the wire is fine at sandbox
400
439
  // scale (per the design spike — add an op if it ever matters).
401
440
  //
402
- // Tokens stay stateless and local: `createCustomToken` / `verifyIdToken`
403
- // are the same string transforms as the local arm
404
- // ({@link mintSandboxCustomToken} / {@link verifySandboxIdToken}), so a
405
- // token minted server-side verifies against any pyric-admin backend.
441
+ // Tokens are minted and checked in this process with the local arm's
442
+ // transforms ({@link mintSandboxCustomToken} / {@link verifySandboxIdToken}),
443
+ // at the instant the worker's sandbox clock reads (`sandbox.clock`), so after
444
+ // `advanceClock` both arms agree on `iat`, `exp` and expiry (#2010). The
445
+ // clock is read on every call rather than cached: Studio, the CLI, an agent
446
+ // or the page can move it at any moment, and the bridge relays no clock
447
+ // updates to this process, so a cached offset would go stale at exactly the
448
+ // advance a test makes.
406
449
  /** Map a firebase-admin `CreateRequest` onto the worker's sandbox
407
450
  * create-user request. `null`s (upstream "clear") become "unset" — a
408
451
  * fresh user has nothing to clear. `multiFactor` isn't modeled. */
@@ -465,22 +508,48 @@ function fromAuthUserRecord(r) {
465
508
  * - User mutations emit auth `SandboxEvent`s in the worker (visible to
466
509
  * Studio/agents) and are visible to the browser app immediately.
467
510
  */
468
- function makeRemoteAuth(sandbox) {
511
+ function makeRemoteAuth(app, sandbox) {
469
512
  const channel = sandbox.channel;
470
513
  const notImplemented = (method) => new Error(`pyric-admin/auth: ${method} is not implemented in pyric-admin/auth remote sandbox backend`);
471
514
  const listRecords = async () => (await channel.op({ method: 'auth.listUsers' }));
515
+ /** The worker's sandbox clock now, in epoch milliseconds. */
516
+ const sandboxNow = async () => (await channel.op({ method: 'sandbox.clock' })).now;
517
+ /**
518
+ * Where the account stands, from the worker's user pool. The worker relays
519
+ * no revocation time (this arm has no `revokeRefreshTokens`), so a token is
520
+ * refused here only for a missing or disabled account.
521
+ */
522
+ const relayedStanding = async (uid) => {
523
+ const record = (await listRecords()).find((u) => u.uid === uid);
524
+ if (record === undefined)
525
+ return { kind: 'unrecorded' };
526
+ if (record.disabled)
527
+ return { kind: 'disabled' };
528
+ return { kind: 'active', tokensValidAfterMs: null };
529
+ };
472
530
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
473
531
  const handle = {
474
532
  get app() {
475
533
  throw notImplemented('auth.app');
476
534
  },
477
- /** Stateless mint — identical to the local arm; needs no relay. */
478
- createCustomToken(uid, developerClaims) {
479
- return mintSandboxCustomToken(uid, developerClaims);
535
+ /** The local arm's mint for the app's project, at the worker's sandbox clock. */
536
+ async createCustomToken(uid, developerClaims) {
537
+ return mintSandboxCustomToken(app, await sandboxNow(), uid, developerClaims);
480
538
  },
481
- /** Stateless parse — identical to the local arm; needs no relay. */
482
- verifyIdToken(idToken, _checkRevoked) {
483
- return verifySandboxIdToken(idToken);
539
+ /**
540
+ * The local arm's token check, for the app's project, with expiry read on
541
+ * the worker's sandbox clock. A token that is not a string throws before
542
+ * the clock is read, as the local arm throws. With `checkRevoked`, the
543
+ * account's standing is relayed from the worker's user pool
544
+ * ({@link relayedStanding}).
545
+ */
546
+ verifyIdToken(idToken, checkRevoked = false) {
547
+ assertIdTokenArgument(idToken);
548
+ const projectId = idTokenProjectId(app);
549
+ const verified = sandboxNow().then((nowMs) => verifySandboxIdToken(idToken, { projectId, nowMs }));
550
+ if (!checkRevoked)
551
+ return verified;
552
+ return verified.then(async (decoded) => assertNotRevokedOrDisabled(decoded, await relayedStanding(decoded.sub)));
484
553
  },
485
554
  /** Relays `auth.adminCreateUser`. Uid conflicts / invalid emails /
486
555
  * weak passwords reject with the worker backend's `auth/*` error. */
@@ -576,7 +645,10 @@ function makeRemoteAuth(sandbox) {
576
645
  importUsers() {
577
646
  return Promise.reject(notImplemented('importUsers'));
578
647
  },
579
- revokeRefreshTokens() {
648
+ revokeRefreshTokens(uid) {
649
+ const uidError = invalidUid(uid);
650
+ if (uidError !== null)
651
+ return Promise.reject(uidError);
580
652
  return Promise.reject(notImplemented('revokeRefreshTokens'));
581
653
  },
582
654
  createSessionCookie() {
@@ -640,9 +712,11 @@ function makeRemoteAuth(sandbox) {
640
712
  * const auth = getAuth(app);
641
713
  *
642
714
  * const user = await auth.createUser({ uid: 'alice', email: 'a@e.com' });
643
- * const token = await auth.createCustomToken(user.uid, { role: 'admin' });
644
- * const decoded = await auth.verifyIdToken(token);
645
- * console.log(decoded.uid, decoded.role); // 'alice' 'admin'
715
+ * await auth.setCustomUserClaims(user.uid, { role: 'admin' });
716
+ *
717
+ * // An ID token from a client signed in on the same sandbox.
718
+ * const decoded = await auth.verifyIdToken(idTokenFromTheClient);
719
+ * console.log(decoded.uid);
646
720
  * ```
647
721
  */
648
722
  export function getAuth(app) {
@@ -661,7 +735,7 @@ export function getAuth(app) {
661
735
  throw new TypeError('pyric-admin/auth: getAuth expected a sandbox admin app.');
662
736
  }
663
737
  return isRemoteSandbox(app.sandbox)
664
- ? makeRemoteAuth(app.sandbox)
665
- : makeSandboxAuth(app.sandbox);
738
+ ? makeRemoteAuth(app, app.sandbox)
739
+ : makeSandboxAuth(app, app.sandbox);
666
740
  }
667
741
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,OAAO,EACL,eAAe,GAIhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAMtE,OAAO,EACL,gBAAgB,EAChB,MAAM,GAEP,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAS3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,2EAA2E;AAE3E;;;;;;;;;;GAUG;AACH,MAAM,SAAS;IACJ,UAAU,GAAG,IAAI,GAAG,EAAsB,CAAC;IACpD;qDACiD;IACzC,WAAW,GAAG,CAAC,CAAC;IAExB;;;;;;;OAOG;IACH,OAAO;QACL,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACvD,OAAO,iBAAiB,CAAC,EAAE,CAAC;IAC9B,CAAC;IAED,+CAA+C;IAC/C,KAAK;QACH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,aAAa,GAAG,IAAI,OAAO,EAAsB,CAAC;AAExD;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,IAAI,OAAO,EAAW,CAAC;AAElD;;;;;;;;;GASG;AACH,SAAS,QAAQ,CAAC,OAAgB;IAChC,IAAI,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;IACxB,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAmB,EAAE,EAAE;YACtC,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACtC,KAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,GAAW,EAAE,eAAwB;IACnE,MAAM,MAAM,GAAG,eAAe,IAAI,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,GAAG,oBAAoB,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IACzE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,eAAe,CAAC,OAAgB;IACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEhC;;0CAEsC;IACtC,MAAM,cAAc,GAAG,CAAC,MAAc,EAAS,EAAE,CAC/C,IAAI,KAAK,CACP,qBAAqB,MAAM,yDAAyD,CACrF,CAAC;IAEJ;;;;;;;;;;OAUG;IACH,MAAM,YAAY,GAAG,CACnB,GAAW,EACX,KAAoB,EACpB,YAAsC,EAC1B,EAAE;QACd,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,MAAM,GAAwB;YAClC,GAAG;YACH,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,KAAK;YAC3C,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,SAAS;YAC3C,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,SAAS;YACrC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,SAAS;YAC3C,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK;YACjC,QAAQ,EAAE;gBACR,YAAY,EAAE,GAAG;gBACjB,cAAc,EAAE,EAAE;gBAClB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;aAChC;YAC3B,YAAY,EAAE,EAAE;YAChB,YAAY;YACZ,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;SAC5C,CAAC;QACF,OAAO,MAAoB,CAAC;IAC9B,CAAC,CAAC;IAEF,iEAAiE;IACjE,6DAA6D;IAC7D,8DAA8D;IAC9D,MAAM,MAAM,GAAQ;QAClB;+EACuE;QACvE,IAAI,GAAG;YACL,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;QAED;;;;;;WAMG;QACH,iBAAiB,CAAC,GAAW,EAAE,eAAwB;YACrD,OAAO,sBAAsB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACtD,CAAC;QAED;;;WAGG;QACH,aAAa,CAAC,OAAe,EAAE,aAAuB;YACpD,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QAED;;;;;WAKG;QACH,UAAU,CAAC,UAAyB;YAClC,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9C,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CACP,8CAA8C,GAAG,4CAA4C,CAC9F,CACF,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAC7C,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAClC,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,mEAAmE;QACnE,OAAO,CAAC,GAAW;YACjB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,wDAAwD,GAAG,GAAG,CAAC,CAC1E,CAAC;YACJ,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,8DAA8D;QAC9D,cAAc,CAAC,KAAa;YAC1B,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC/C,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK;oBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,iEAAiE,KAAK,GAAG,CAAC,CACrF,CAAC;QACJ,CAAC;QAED;;;;0EAIkE;QAClE,UAAU,CAAC,GAAW;YACpB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,2DAA2D,GAAG,GAAG,CAAC,CAC7E,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QAED;;;;;;;;;WASG;QACH,mBAAmB,CACjB,GAAW,EACX,gBAA+B;YAE/B,IAAI,CAAC;gBACH,IAAI,gBAAgB,KAAK,IAAI;oBAAE,4BAA4B,CAAC,gBAA2C,CAAC,CAAC;YAC3G,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CACP,oEAAoE,GAAG,GAAG,CAC3E,CACF,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG;gBACd,GAAG,KAAK;gBACR,YAAY,EACV,gBAAgB,KAAK,IAAI;oBACvB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAE,gBAA4C;gBACnD,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aACnB,CAAC;YAChB,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACnC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QAED,mEAAmE;QACnE,EAAE;QACF,iEAAiE;QACjE,yDAAyD;QACzD,gEAAgE;QAChE,6DAA6D;QAC7D,iEAAiE;QACjE,2BAA2B;QAE3B,UAAU;YACR,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,oBAAoB;YAClB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,oBAAoB;YAClB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,QAAQ;YACN,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,WAAW;YACT,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,SAAS;YACP,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,WAAW;YACT,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,mBAAmB;YACjB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,mBAAmB;YACjB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,mBAAmB;YACjB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,yBAAyB;YACvB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,6BAA6B;YAC3B,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,+BAA+B,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,2BAA2B;YACzB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,gCAAgC;YAC9B,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,oBAAoB;YAClB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,iBAAiB;YACf,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,mBAAmB;YACjB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,oBAAoB;YAClB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,oBAAoB;YAClB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,aAAa;YACf,MAAM,cAAc,CAAC,eAAe,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,oBAAoB;YACtB,MAAM,cAAc,CAAC,sBAAsB,CAAC,CAAC;QAC/C,CAAC;KACF,CAAC;IACF,OAAO,MAAc,CAAC;AACxB,CAAC;AAED,2EAA2E;AAC3E,EAAE;AACF,oEAAoE;AACpE,0EAA0E;AAC1E,kEAAkE;AAClE,4EAA4E;AAC5E,wEAAwE;AACxE,2EAA2E;AAC3E,sEAAsE;AACtE,uEAAuE;AACvE,gEAAgE;AAChE,EAAE;AACF,gEAAgE;AAChE,sEAAsE;AACtE,wEAAwE;AACxE,+DAA+D;AAC/D,EAAE;AACF,yEAAyE;AACzE,kDAAkD;AAClD,wEAAwE;AACxE,qEAAqE;AAErE;;oEAEoE;AACpE,SAAS,sBAAsB,CAAC,KAAoB;IAClD,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,SAAS;QAC3C,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,SAAS;QAC3C,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,SAAS;QACrC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,aAAa,EAAE,KAAK,CAAC,aAAa;KACnC,CAAC;AACJ,CAAC;AAED;;2DAE2D;AAC3D,SAAS,kBAAkB,CAAC,CAAiB;IAC3C,MAAM,QAAQ,GAAG;QACf,YAAY,EAAE,CAAC,CAAC,SAAS;QACzB,cAAc,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE;QACnC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;KACzD,CAAC;IAC5B,MAAM,MAAM,GAAwB;QAClC,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;QAC3B,aAAa,EAAE,CAAC,CAAC,aAAa;QAC9B,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,SAAS;QACvC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;QACjC,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,SAAS;QACvC,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,QAAQ;QACR,YAAY,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3C,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,SAAS;YACvC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;YAC3B,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;YACjC,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,SAAS;YACvC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;SACzD,CAAC,CAA0C;QAC5C,YAAY,EACV,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC;YACpC,CAAC,CAAE,CAAC,CAAC,YAAwC;YAC7C,CAAC,CAAC,SAAS;QACf,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC;KAC5D,CAAC;IACF,OAAO,MAAoB,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,cAAc,CAAC,OAAsB;IAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAEhC,MAAM,cAAc,GAAG,CAAC,MAAc,EAAS,EAAE,CAC/C,IAAI,KAAK,CACP,qBAAqB,MAAM,gEAAgE,CAC5F,CAAC;IAEJ,MAAM,WAAW,GAAG,KAAK,IAA+B,EAAE,CACxD,CAAC,MAAM,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAqB,CAAC;IAEvE,8DAA8D;IAC9D,MAAM,MAAM,GAAQ;QAClB,IAAI,GAAG;YACL,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;QAED,mEAAmE;QACnE,iBAAiB,CAAC,GAAW,EAAE,eAAwB;YACrD,OAAO,sBAAsB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACtD,CAAC;QAED,oEAAoE;QACpE,aAAa,CAAC,OAAe,EAAE,aAAuB;YACpD,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QAED;8EACsE;QACtE,KAAK,CAAC,UAAU,CAAC,UAAyB;YACxC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,EAAE,CAAC;gBAC9B,MAAM,EAAE,sBAAsB;gBAC9B,OAAO,EAAE,sBAAsB,CAAC,UAAU,CAAuC;aAClF,CAAC,CAAC;YACH,OAAO,kBAAkB,CAAC,MAAwB,CAAC,CAAC;QACtD,CAAC;QAED,+DAA+D;QAC/D,KAAK,CAAC,OAAO,CAAC,GAAW;YACvB,MAAM,MAAM,GAAG,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,wDAAwD,GAAG,GAAG,CAAC,CAAC;YAClF,CAAC;YACD,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QAED,+DAA+D;QAC/D,KAAK,CAAC,cAAc,CAAC,KAAa;YAChC,MAAM,MAAM,GAAG,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;YACpE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CACb,iEAAiE,KAAK,GAAG,CAC1E,CAAC;YACJ,CAAC;YACD,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QAED;2EACmE;QACnE,KAAK,CAAC,SAAS,CAAC,UAAmB,EAAE,UAAmB;YACtD,IAAI,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;YAClC,IAAI,UAAU,KAAK,SAAS;gBAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YACrE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAqB,CAAC;QACvE,CAAC;QAED;;;;;;WAMG;QACH,KAAK,CAAC,UAAU,CAAC,GAAW,EAAE,UAAyB;YACrD,MAAM,WAAW,GAAI,CAAC,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,CAAW,CAAC,MAAM,CACrH,CAAC,CAAC,EAAE,EAAE,CAAE,UAAsC,CAAC,CAAC,CAAC,KAAK,SAAS,CAChE,CAAC;YACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,cAAc,CAAC,gBAAgB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpE,CAAC;YACD,MAAM,OAAO,GAA6B;gBACxC,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,aAAa,EAAE,UAAU,CAAC,aAAa;aACxC,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,EAAE,CAAC;gBAC9B,MAAM,EAAE,sBAAsB;gBAC9B,GAAG;gBACH,OAAO,EAAE,OAA6C;aACvD,CAAC,CAAC;YACH,OAAO,kBAAkB,CAAC,MAAwB,CAAC,CAAC;QACtD,CAAC;QAED;;2DAEmD;QACnD,KAAK,CAAC,UAAU,CAAC,GAAW;YAC1B,MAAM,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED;;8EAEsE;QACtE,KAAK,CAAC,mBAAmB,CAAC,GAAW,EAAE,gBAA+B;YACpE,wEAAwE;YACxE,IAAI,gBAAgB,KAAK,IAAI;gBAAE,4BAA4B,CAAC,gBAA2C,CAAC,CAAC;YACzG,MAAM,OAAO,CAAC,EAAE,CAAC;gBACf,MAAM,EAAE,sBAAsB;gBAC9B,GAAG;gBACH,OAAO,EAAE,EAAE,YAAY,EAAE,gBAAgB,IAAI,EAAE,EAAE;aAClD,CAAC,CAAC;QACL,CAAC;QAED,oEAAoE;QAEpE,oBAAoB;YAClB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,oBAAoB;YAClB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,QAAQ;YACN,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,WAAW;YACT,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,WAAW;YACT,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,mBAAmB;YACjB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,mBAAmB;YACjB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,mBAAmB;YACjB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,yBAAyB;YACvB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,6BAA6B;YAC3B,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,+BAA+B,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,2BAA2B;YACzB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,gCAAgC;YAC9B,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,oBAAoB;YAClB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,iBAAiB;YACf,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,mBAAmB;YACjB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,oBAAoB;YAClB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,oBAAoB;YAClB,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,aAAa;YACf,MAAM,cAAc,CAAC,eAAe,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,oBAAoB;YACtB,MAAM,cAAc,CAAC,sBAAsB,CAAC,CAAC;QAC/C,CAAC;KACF,CAAC;IACF,OAAO,MAAc,CAAC;AACxB,CAAC;AAED,2EAA2E;AAE3E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,OAAO,CAAC,GAAmB;IACzC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,8DAA8D;QAC9D,mEAAmE;QACnE,GAAG,GAAG,MAAM,EAAE,CAAC;IACjB,CAAC;IACD,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,gBAAgB,IAAI,GAAG,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,SAAS,CACjB,2FAA2F;YACzF,+EAA+E;YAC/E,+BAA+B,CAClC,CAAC;IACJ,CAAC;IACD,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,GAAG,CAAC,gBAAgB,CAAC,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,IAAI,SAAS,CAAC,yDAAyD,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;QACjC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;QAC7B,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,17 @@
1
- /**
2
- * Modular token decoders for `pyric-admin/auth` verification.
3
- * Each decoder strategy isolates prefix detection and claim decoding
4
- * for one recognized token format.
5
- */
6
1
  import type { DecodedIdToken } from './types.js';
2
+ /** The two codes an ID token check fails with. */
3
+ export type IdTokenFailureCode = 'argument-error' | 'id-token-expired';
4
+ export type IdTokenVerdict = {
5
+ ok: true;
6
+ token: DecodedIdToken;
7
+ } | {
8
+ ok: false;
9
+ code: IdTokenFailureCode;
10
+ message: string;
11
+ };
7
12
  /**
8
- * Token format minted by `createCustomToken` and parsed by
9
- * `verifyIdToken`. Exported as a constant so tests can lock the shape.
10
- *
11
- * Layout: `pyric-sandbox-custom:${uid}:${jsonClaims}`
12
- *
13
- * - The prefix lets `verifyIdToken` reject foreign tokens with a clear
14
- * "not a sandbox token" error rather than NaN'ing out.
15
- * - `uid` is colon-free per the auto-uid format above.
16
- * - `jsonClaims` is the JSON-stringified developer claims (or `{}` when
17
- * none were provided). Round-trips losslessly through `JSON.parse`.
18
- *
19
- * NOT a JWT. NOT signed. Do not use this token format to talk to any
20
- * real Firebase service — it only round-trips through this same
21
- * sandbox backend.
13
+ * Checks an ID token for `projectId` at `nowSec`, in firebase-admin's order:
14
+ * decoding, the content rules, the key and signature, then `nbf` and `exp`.
22
15
  */
23
- export declare const SANDBOX_TOKEN_PREFIX = "pyric-sandbox-custom";
24
- export interface TokenDecoder {
25
- readonly name: string;
26
- readonly prefix: string;
27
- decode(token: string, nowSec: number): DecodedIdToken;
28
- }
29
- export declare const TOKEN_DECODERS: TokenDecoder[];
16
+ export declare function checkClientIdToken(idToken: string, projectId: string, nowSec: number): Promise<IdTokenVerdict>;
30
17
  //# sourceMappingURL=token-decoders.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-decoders.d.ts","sourceRoot":"","sources":["../../src/auth/token-decoders.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAE3D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC;CACvD;AAgID,eAAO,MAAM,cAAc,EAAE,YAAY,EAA+C,CAAC"}
1
+ {"version":3,"file":"token-decoders.d.ts","sourceRoot":"","sources":["../../src/auth/token-decoders.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA2BjD,kDAAkD;AAClD,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;AAEvE,MAAM,MAAM,cAAc,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GACnC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAuD7D;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAWpH"}