@codefox-inc/oauth-provider 0.4.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +28 -0
  2. package/dist/client/index.d.ts.map +1 -1
  3. package/dist/client/index.js +5 -1
  4. package/dist/client/index.js.map +1 -1
  5. package/dist/component/clientManagement.d.ts.map +1 -1
  6. package/dist/component/clientManagement.js +9 -0
  7. package/dist/component/clientManagement.js.map +1 -1
  8. package/dist/component/handlers.d.ts +19 -1
  9. package/dist/component/handlers.d.ts.map +1 -1
  10. package/dist/component/handlers.js +76 -15
  11. package/dist/component/handlers.js.map +1 -1
  12. package/dist/component/mutations.d.ts +3 -1
  13. package/dist/component/mutations.d.ts.map +1 -1
  14. package/dist/component/mutations.js +113 -19
  15. package/dist/component/mutations.js.map +1 -1
  16. package/dist/component/queries.d.ts +7 -1
  17. package/dist/component/queries.d.ts.map +1 -1
  18. package/dist/component/queries.js +7 -1
  19. package/dist/component/queries.js.map +1 -1
  20. package/dist/component/schema.d.ts +7 -1
  21. package/dist/component/schema.d.ts.map +1 -1
  22. package/dist/component/schema.js +3 -0
  23. package/dist/component/schema.js.map +1 -1
  24. package/dist/lib/oauth.d.ts.map +1 -1
  25. package/dist/lib/oauth.js +26 -8
  26. package/dist/lib/oauth.js.map +1 -1
  27. package/package.json +1 -1
  28. package/src/client/__tests__/oauth-provider.test.ts +15 -0
  29. package/src/client/index.ts +6 -1
  30. package/src/component/__tests__/bugs.test.ts +1001 -0
  31. package/src/component/__tests__/handlers-protocol.test.ts +148 -0
  32. package/src/component/__tests__/oauth.test.ts +18 -15
  33. package/src/component/__tests__/rfc-compliance.test.ts +233 -0
  34. package/src/component/clientManagement.ts +11 -0
  35. package/src/component/handlers.ts +116 -18
  36. package/src/component/mutations.ts +159 -17
  37. package/src/component/queries.ts +6 -1
  38. package/src/component/schema.ts +3 -0
  39. package/src/lib/__tests__/oauth-jwt.test.ts +1 -1
  40. package/src/lib/oauth.ts +28 -8
package/README.md CHANGED
@@ -71,6 +71,7 @@ This implementation follows [OAuth 2.1](https://datatracker.ietf.org/doc/html/dr
71
71
  - **Scope Validation**: Only registered scopes are allowed per client
72
72
  - **Token Hashing**: Access and refresh tokens are stored as SHA-256 hashes
73
73
  - **Client Secret Hashing**: Confidential client secrets use bcrypt
74
+ - **Client Secret Compatibility**: Newly issued confidential client secrets fit within bcrypt's 72-byte input limit; existing longer secrets remain valid for patch-release compatibility and should be rotated when practical
74
75
  - **Internal Mutations**: Critical operations like `issueAuthorizationCode` are not directly accessible
75
76
  - **DCR Disabled by Default**: Dynamic Client Registration must be explicitly enabled
76
77
 
@@ -107,6 +108,7 @@ Refresh tokens are **only issued** when the `offline_access` scope is requested
107
108
  - The original authorization must have included the `offline_access` scope
108
109
  - Refresh tokens are automatically rotated on each use (old token is invalidated)
109
110
  - The new refresh token maintains the same scope as the original
111
+ - Reuse of a rotated refresh token revokes the active refresh-token family and its authorization record
110
112
 
111
113
  This follows OAuth 2.1 and OpenID Connect specifications, ensuring that long-lived refresh tokens are only issued with explicit user consent.
112
114
 
@@ -621,6 +623,32 @@ interface OAuthConfig {
621
623
 
622
624
  ## Token Verification
623
625
 
626
+ ### Revocation and Access Token Lifetime
627
+
628
+ Access tokens are JWTs and can be verified statelessly with the JWKS. Stateless verification alone cannot observe authorization revocation, authorization-code replay detection, or refresh-token family revocation until the access token expires.
629
+
630
+ For Convex resource servers, wire `createAuthorizationChecker()` into `createAuthHelper()` so bearer-token requests check the current authorization record:
631
+
632
+ ```typescript
633
+ import { createAuthHelper, OAuthProvider } from "@codefox-inc/oauth-provider";
634
+ import { components } from "./_generated/api";
635
+
636
+ const oauthProvider = new OAuthProvider(components.oauthProvider, {
637
+ privateKey: process.env.JWT_PRIVATE_KEY!,
638
+ jwks: process.env.JWKS!,
639
+ siteUrl: process.env.SITE_URL!,
640
+ });
641
+
642
+ export const authHelper = createAuthHelper({
643
+ providers: ["anonymous"],
644
+ checkAuthorization: oauthProvider.createAuthorizationChecker(),
645
+ });
646
+ ```
647
+
648
+ If you verify access tokens outside Convex with `verifyAccessToken()` only, revoked access tokens remain valid until their `exp` time. Use short access-token lifetimes and a resource-server authorization check if immediate revocation is required.
649
+
650
+ After upgrading this component, rerun Convex code generation (for example `convex dev --once` or your repository's codegen script). The generated component references and schema must match the package version; `prompt=none` silent authorization also relies on the latest generated `getAuthorization` query reference.
651
+
624
652
  ### In Convex Functions
625
653
 
626
654
  ```typescript
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,7 @@ export class OAuthProvider {
42
42
  return this.config;
43
43
  }
44
44
  createAPI(component) {
45
- return {
45
+ const api = {
46
46
  queries: {
47
47
  getClient: (ctx, args) => ctx.runQuery(component.queries.getClient, args),
48
48
  getRefreshToken: (ctx, args) => ctx.runQuery(component.queries.getRefreshToken, args),
@@ -61,6 +61,10 @@ export class OAuthProvider {
61
61
  verifyClientSecret: (ctx, args) => ctx.runMutation(component.clientManagement.verifyClientSecret, args),
62
62
  },
63
63
  };
64
+ if (component.queries.getAuthorization) {
65
+ api.queries.getAuthorization = (ctx, args) => ctx.runQuery(component.queries.getAuthorization, args);
66
+ }
67
+ return api;
64
68
  }
65
69
  /**
66
70
  * HTTP Handlers for mounting in http.ts
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"clientManagement.d.ts","sourceRoot":"","sources":["../../src/component/clientManagement.ts"],"names":[],"mappings":"AAiDA;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;GAgGzB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;oBAsB7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY;;;;GAuCvB,CAAC"}
1
+ {"version":3,"file":"clientManagement.d.ts","sourceRoot":"","sources":["../../src/component/clientManagement.ts"],"names":[],"mappings":"AAkDA;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;GAgGzB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;oBAsB7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY;;;;GAiDvB,CAAC"}
@@ -24,6 +24,7 @@ function isValidRedirectUri(uri) {
24
24
  const host = parsed.hostname.toLowerCase();
25
25
  const isLoopback = host === "localhost" ||
26
26
  host === "127.0.0.1" ||
27
+ host === "[::1]" ||
27
28
  host === "::1";
28
29
  if (parsed.protocol === "https:")
29
30
  return true;
@@ -185,6 +186,14 @@ export const deleteClient = mutation({
185
186
  for (const code of codes) {
186
187
  await ctx.db.delete(code._id);
187
188
  }
189
+ // Delete all authorization records for this client
190
+ const authorizations = await ctx.db
191
+ .query("oauthAuthorizations")
192
+ .filter(q => q.eq(q.field("clientId"), args.clientId))
193
+ .collect();
194
+ for (const authorization of authorizations) {
195
+ await ctx.db.delete(authorization._id);
196
+ }
188
197
  // Delete the client
189
198
  await ctx.db.delete(client._id);
190
199
  return { success: true };
@@ -1 +1 @@
1
- {"version":3,"file":"clientManagement.js","sourceRoot":"","sources":["../../src/component/clientManagement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clientManagement.js","sourceRoot":"","sources":["../../src/component/clientManagement.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,15 @@ export interface OAuthComponentAPI {
19
19
  allowedScopes: string[];
20
20
  tokenEndpointAuthMethod?: TokenEndpointAuthMethod;
21
21
  } | null>;
22
+ getAuthorization?: (ctx: RunQueryCtx, args: {
23
+ userId: string;
24
+ clientId: string;
25
+ }) => Promise<{
26
+ userId: string;
27
+ clientId: string;
28
+ scopes: string[];
29
+ resource?: string;
30
+ } | null>;
22
31
  getRefreshToken: (ctx: RunQueryCtx, args: {
23
32
  refreshToken: string;
24
33
  }) => Promise<{
@@ -27,8 +36,12 @@ export interface OAuthComponentAPI {
27
36
  userId: string;
28
37
  scopes: string[];
29
38
  refreshTokenExpiresAt?: number;
39
+ authorizationCode?: string;
40
+ refreshTokenFamilyId?: string;
41
+ refreshTokenRotatedAt?: number;
30
42
  resource?: string;
31
43
  audience?: string;
44
+ authTime?: number;
32
45
  } | null>;
33
46
  getTokensByUser: (ctx: RunQueryCtx, args: {
34
47
  userId: string;
@@ -81,6 +94,7 @@ export interface OAuthComponentAPI {
81
94
  authorizationCode?: string;
82
95
  resource?: string;
83
96
  audience?: string;
97
+ authTime?: number;
84
98
  }) => Promise<void>;
85
99
  rotateRefreshToken: (ctx: RunMutationCtx, args: {
86
100
  oldRefreshToken: string;
@@ -93,7 +107,11 @@ export interface OAuthComponentAPI {
93
107
  refreshTokenExpiresAt: number;
94
108
  resource?: string;
95
109
  audience?: string;
96
- }) => Promise<void>;
110
+ }) => Promise<void | {
111
+ error: string;
112
+ revokedTokens: number;
113
+ authorizationDeleted: boolean;
114
+ }>;
97
115
  upsertAuthorization: (ctx: RunMutationCtx, args: {
98
116
  userId: string;
99
117
  clientId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/component/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/component/handlers.ts"],"names":[],"mappings":"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"}
@@ -233,6 +233,9 @@ export async function authorizeHandler(ctx, request, config, api) {
233
233
  if (resourceValues.length > 1) {
234
234
  return buildAuthorizeErrorRedirect(redirectUri, "invalid_target", "Multiple resource parameters are not supported", state);
235
235
  }
236
+ if (params.has("request") || params.has("request_uri")) {
237
+ return buildAuthorizeErrorRedirect(redirectUri, "invalid_request", "request and request_uri parameters are not supported", state);
238
+ }
236
239
  if (consent === "approve" && !isConsentFromProvider(request, config)) {
237
240
  return buildAuthorizeErrorRedirect(redirectUri, "access_denied", "User consent required", state);
238
241
  }
@@ -252,7 +255,9 @@ export async function authorizeHandler(ctx, request, config, api) {
252
255
  let requestedScopes = scope
253
256
  ? scope.split(" ").filter(Boolean)
254
257
  : [];
255
- if (requestedScopes.includes("offline_access") && !promptValues.has("consent")) {
258
+ if (requestedScopes.includes("offline_access") &&
259
+ !promptValues.has("consent") &&
260
+ !promptValues.has("none")) {
256
261
  requestedScopes = requestedScopes.filter((s) => s !== "offline_access");
257
262
  }
258
263
  if (requestedScopes.length === 0) {
@@ -271,13 +276,34 @@ export async function authorizeHandler(ctx, request, config, api) {
271
276
  if (codeChallengeMethod !== "S256") {
272
277
  return buildAuthorizeErrorRedirect(redirectUri, "invalid_request", "code_challenge_method must be S256", state);
273
278
  }
274
- if (consent !== "approve") {
275
- return buildAuthorizeErrorRedirect(redirectUri, "access_denied", "User consent required", state);
276
- }
277
279
  if (!config.getUserId) {
278
280
  return new OAuthError("server_error", "getUserId is not configured", 500).toResponse(headers);
279
281
  }
280
282
  const userId = await config.getUserId(ctx, request);
283
+ if (promptValues.has("none")) {
284
+ if (promptValues.size > 1) {
285
+ return buildAuthorizeErrorRedirect(redirectUri, "invalid_request", "prompt=none cannot be combined with other prompt values", state);
286
+ }
287
+ if (!userId) {
288
+ return buildAuthorizeErrorRedirect(redirectUri, "login_required", "User not authenticated", state);
289
+ }
290
+ if (consent !== "approve") {
291
+ if (!api.queries.getAuthorization) {
292
+ return buildAuthorizeErrorRedirect(redirectUri, "server_error", "OAuth component API is out of date; regenerate component API references", state);
293
+ }
294
+ const authorization = await api.queries.getAuthorization(ctx, { userId, clientId });
295
+ const hasScopes = authorization !== null &&
296
+ requestedScopes.every((scope) => authorization.scopes.includes(scope));
297
+ const hasResource = authorization !== null &&
298
+ authorization.resource === (resource ?? undefined);
299
+ if (!hasScopes || !hasResource) {
300
+ return buildAuthorizeErrorRedirect(redirectUri, "consent_required", "User consent required", state);
301
+ }
302
+ }
303
+ }
304
+ else if (consent !== "approve") {
305
+ return buildAuthorizeErrorRedirect(redirectUri, "access_denied", "User consent required", state);
306
+ }
281
307
  if (!userId) {
282
308
  return buildAuthorizeErrorRedirect(redirectUri, "access_denied", "User not authenticated", state);
283
309
  }
@@ -307,7 +333,7 @@ export async function openIdConfigurationHandler(_ctx, request, config) {
307
333
  if (corsResponse)
308
334
  return corsResponse;
309
335
  const headers = createCorsHeaders(request.headers.get("Origin"), config, "GET, OPTIONS");
310
- const backendUrl = config.convexSiteUrl ?? config.siteUrl;
336
+ const backendUrl = (config.convexSiteUrl ?? config.siteUrl).replace(/\/+$/, "");
311
337
  const prefix = normalizePrefix(config.prefix);
312
338
  const issuerUrl = getIssuerUrl(config);
313
339
  const supportedScopes = config.allowedScopes ?? ["openid", "profile", "email", "offline_access"];
@@ -324,6 +350,9 @@ export async function openIdConfigurationHandler(_ctx, request, config) {
324
350
  token_endpoint_auth_methods_supported: ["client_secret_basic", "client_secret_post", "none"],
325
351
  grant_types_supported: ["authorization_code", "refresh_token"],
326
352
  code_challenge_methods_supported: ["S256"],
353
+ request_uri_parameter_supported: false,
354
+ request_parameter_supported: false,
355
+ claims_parameter_supported: false,
327
356
  };
328
357
  if (config.allowDynamicClientRegistration) {
329
358
  responseBody.registration_endpoint = `${backendUrl}${prefix}/register`;
@@ -395,12 +424,17 @@ export async function tokenHandler(ctx, request, config, api) {
395
424
  throw new OAuthError("invalid_request", "Multiple client authentication methods");
396
425
  }
397
426
  const basicCredentials = parseBasicClientCredentials(authHeader);
427
+ if (bodyClientId && bodyClientId !== basicCredentials.clientId) {
428
+ throw new OAuthError("invalid_request", "Conflicting client_id");
429
+ }
398
430
  clientId = basicCredentials.clientId;
399
431
  clientSecret = basicCredentials.clientSecret;
400
432
  usedAuthMethod = "client_secret_basic";
401
433
  }
402
434
  if (!clientId)
403
435
  throw new OAuthError("invalid_request", "client_id required");
436
+ if (!grantType)
437
+ throw new OAuthError("invalid_request", "grant_type required");
404
438
  // Client existence + confidential client check
405
439
  const client = await api.queries.getClient(ctx, { clientId });
406
440
  if (!client) {
@@ -496,6 +530,7 @@ export async function tokenHandler(ctx, request, config, api) {
496
530
  authorizationCode: codeData.codeHash, // Link to authorization code
497
531
  resource: codeData.resource,
498
532
  audience: accessTokenAudience,
533
+ authTime: codeData.authTime,
499
534
  });
500
535
  // F. Create/Update Authorization Record
501
536
  await api.mutations.upsertAuthorization(ctx, {
@@ -528,6 +563,24 @@ export async function tokenHandler(ctx, request, config, api) {
528
563
  const oldToken = await api.queries.getRefreshToken(ctx, { refreshToken });
529
564
  if (!oldToken)
530
565
  throw new OAuthError("invalid_grant", "Invalid refresh token");
566
+ if (oldToken.refreshTokenRotatedAt !== undefined) {
567
+ // rotateRefreshToken detects tombstones before storing the supplied replacement tokens.
568
+ await api.mutations.rotateRefreshToken(ctx, {
569
+ oldRefreshToken: refreshToken,
570
+ accessToken: "refresh-token-reuse-detected",
571
+ refreshToken: "refresh-token-reuse-detected",
572
+ clientId: oldToken.clientId,
573
+ userId: oldToken.userId,
574
+ scopes: oldToken.scopes,
575
+ expiresAt: Date.now(),
576
+ refreshTokenExpiresAt: Date.now(),
577
+ resource: oldToken.resource,
578
+ audience: oldToken.audience,
579
+ });
580
+ throw new OAuthError("invalid_grant", "Invalid refresh token");
581
+ }
582
+ if (oldToken.clientId !== clientId)
583
+ throw new OAuthError("invalid_grant", "Client mismatch");
531
584
  const refreshTokenResource = oldToken.resource;
532
585
  const refreshTokenAudience = oldToken.audience ?? refreshTokenResource ?? config.applicationID ?? "convex";
533
586
  const accessTokenAudience = refreshTokenResource ?? refreshTokenAudience;
@@ -540,8 +593,6 @@ export async function tokenHandler(ctx, request, config, api) {
540
593
  if (!oldToken.refreshTokenExpiresAt || oldToken.refreshTokenExpiresAt < Date.now()) {
541
594
  throw new OAuthError("invalid_grant", "Refresh token expired");
542
595
  }
543
- if (oldToken.clientId !== clientId)
544
- throw new OAuthError("invalid_grant", "Client mismatch");
545
596
  const userId = oldToken.userId;
546
597
  // RFC 6749 Section 6: スコープパラメータ処理(アクセストークン用)
547
598
  let accessTokenScopes;
@@ -587,6 +638,7 @@ export async function tokenHandler(ctx, request, config, api) {
587
638
  sub: userId,
588
639
  iss: issuerUrl,
589
640
  aud: clientId,
641
+ auth_time: oldToken.authTime,
590
642
  })
591
643
  .setProtectedHeader({ alg: "RS256", typ: "JWT", kid: keyId })
592
644
  .setIssuedAt()
@@ -595,7 +647,7 @@ export async function tokenHandler(ctx, request, config, api) {
595
647
  }
596
648
  // Rotate - 元のスコープ維持
597
649
  try {
598
- await api.mutations.rotateRefreshToken(ctx, {
650
+ const rotationResult = await api.mutations.rotateRefreshToken(ctx, {
599
651
  oldRefreshToken: refreshToken,
600
652
  accessToken,
601
653
  refreshToken: newRefreshToken,
@@ -607,6 +659,9 @@ export async function tokenHandler(ctx, request, config, api) {
607
659
  resource: refreshTokenResource,
608
660
  audience: refreshTokenAudience,
609
661
  });
662
+ if (rotationResult && "error" in rotationResult && rotationResult.error === "refresh_token_reuse_detected") {
663
+ throw new OAuthError("invalid_grant", "Invalid refresh token");
664
+ }
610
665
  // Update authorization lastUsedAt
611
666
  await api.mutations.updateAuthorizationLastUsed(ctx, {
612
667
  userId,
@@ -667,8 +722,7 @@ export async function tokenHandler(ctx, request, config, api) {
667
722
  return new OAuthError("invalid_scope", e.message).toResponse(tokenHeaders);
668
723
  }
669
724
  }
670
- const message = e instanceof Error ? e.message : String(e);
671
- return new OAuthError("invalid_request", message).toResponse(tokenHeaders);
725
+ return new OAuthError("invalid_request", "Invalid request").toResponse(tokenHeaders);
672
726
  }
673
727
  }
674
728
  /**
@@ -680,7 +734,8 @@ export async function userInfoHandler(ctx, request, config, getUserProfile) {
680
734
  return corsResponse;
681
735
  const headers = createCorsHeaders(request.headers.get("Origin"), config, "GET, POST, OPTIONS");
682
736
  const authHeader = request.headers.get("Authorization");
683
- if (!authHeader || !authHeader.startsWith("Bearer ")) {
737
+ const authMatch = authHeader?.match(/^Bearer\s+(.+)$/i);
738
+ if (!authMatch) {
684
739
  return new Response(null, {
685
740
  status: 401,
686
741
  headers: {
@@ -689,7 +744,7 @@ export async function userInfoHandler(ctx, request, config, getUserProfile) {
689
744
  },
690
745
  });
691
746
  }
692
- const token = authHeader.split(" ")[1];
747
+ const token = authMatch[1];
693
748
  try {
694
749
  const issuerUrl = getIssuerUrl(config);
695
750
  const payload = await verifyAccessToken(token, config, issuerUrl);
@@ -741,7 +796,14 @@ export async function userInfoHandler(ctx, request, config, getUserProfile) {
741
796
  responseBody.email = user.email;
742
797
  responseBody.email_verified = user.email_verified;
743
798
  }
744
- return new Response(JSON.stringify(responseBody), { headers });
799
+ return new Response(JSON.stringify(responseBody), {
800
+ headers: {
801
+ ...headers,
802
+ "Content-Type": "application/json",
803
+ "Cache-Control": "no-store",
804
+ "Pragma": "no-cache",
805
+ },
806
+ });
745
807
  }
746
808
  catch {
747
809
  return new Response(null, {
@@ -850,8 +912,7 @@ export async function registerHandler(ctx, request, config, api) {
850
912
  if (e instanceof OAuthError) {
851
913
  return e.toResponse(headers);
852
914
  }
853
- const message = e instanceof Error ? e.message : String(e);
854
- return new OAuthError("invalid_request", message).toResponse(headers);
915
+ return new OAuthError("invalid_request", "Invalid client metadata").toResponse(headers);
855
916
  }
856
917
  }
857
918
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/component/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/component/handlers.ts"],"names":[],"mappings":"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"}