@aura-stack/auth 0.1.0-rc.10 → 0.1.0-rc.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 (55) hide show
  1. package/dist/@types/index.d.cts +9 -0
  2. package/dist/@types/index.d.ts +4 -2
  3. package/dist/@types/module.cjs +1 -0
  4. package/dist/@types/module.d.cts +16 -0
  5. package/dist/@types/module.d.ts +16 -0
  6. package/dist/@types/module.js +0 -0
  7. package/dist/@types/router.d.d.cts +16 -0
  8. package/dist/@types/router.d.d.ts +8 -3
  9. package/dist/@types/utility.d.cts +6 -0
  10. package/dist/@types/utility.d.ts +2 -6
  11. package/dist/actions/callback/access-token.d.cts +30 -0
  12. package/dist/actions/callback/access-token.d.ts +3 -1
  13. package/dist/actions/callback/callback.d.cts +13 -0
  14. package/dist/actions/callback/callback.d.ts +2 -1
  15. package/dist/actions/callback/userinfo.d.cts +22 -0
  16. package/dist/actions/callback/userinfo.d.ts +3 -1
  17. package/dist/actions/csrfToken/csrfToken.d.cts +5 -0
  18. package/dist/actions/index.d.cts +14 -0
  19. package/dist/actions/index.d.ts +2 -1
  20. package/dist/actions/index.js +6 -6
  21. package/dist/actions/session/session.d.cts +5 -0
  22. package/dist/actions/signIn/authorization.d.cts +45 -0
  23. package/dist/actions/signIn/authorization.d.ts +3 -1
  24. package/dist/actions/signIn/signIn.d.cts +13 -0
  25. package/dist/actions/signIn/signIn.d.ts +2 -1
  26. package/dist/actions/signOut/signOut.d.cts +8 -0
  27. package/dist/{chunk-UTDLUEEG.js → chunk-X7M4CQTN.js} +0 -6
  28. package/dist/cookie.d.ts +3 -1
  29. package/dist/error.d.ts +3 -1
  30. package/dist/{index-DpfbvTZ_.d.ts → index-CGRZ0wrw.d.ts} +7 -25
  31. package/dist/index.cjs +0 -3
  32. package/dist/index.d.ts +14 -5
  33. package/dist/index.js +9 -9
  34. package/dist/jose.cjs +0 -12
  35. package/dist/jose.js +1 -1
  36. package/dist/oauth/bitbucket.d.cts +9 -0
  37. package/dist/oauth/bitbucket.d.ts +3 -1
  38. package/dist/oauth/discord.d.cts +9 -0
  39. package/dist/oauth/discord.d.ts +3 -1
  40. package/dist/oauth/figma.d.cts +9 -0
  41. package/dist/oauth/figma.d.ts +3 -1
  42. package/dist/oauth/github.d.cts +9 -0
  43. package/dist/oauth/github.d.ts +3 -1
  44. package/dist/oauth/gitlab.d.cts +9 -0
  45. package/dist/oauth/gitlab.d.ts +3 -1
  46. package/dist/oauth/index.d.cts +9 -0
  47. package/dist/oauth/index.d.ts +3 -1
  48. package/dist/oauth/index.js +4 -4
  49. package/dist/oauth/spotify.d.cts +9 -0
  50. package/dist/oauth/spotify.d.ts +3 -1
  51. package/dist/oauth/x.d.cts +9 -0
  52. package/dist/oauth/x.d.ts +3 -1
  53. package/dist/secure.d.ts +3 -1
  54. package/package.json +4 -4
  55. package/dist/{chunk-VFTYH33W.js → chunk-NWSD4JNX.js} +3 -3
@@ -0,0 +1,9 @@
1
+ import 'zod/v4';
2
+ import '../jose.cjs';
3
+ import '../schemas.cjs';
4
+ import '@aura-stack/router';
5
+ import 'cookie';
6
+ export { LiteralUnion, Prettify } from './utility.cjs';
7
+ export { w as AccessTokenError, c as AuthConfig, A as AuthRuntimeConfig, v as AuthorizationError, C as CookieConfig, a as CookieConfigInternal, b as CookieName, t as CookieStrategyOptions, E as ErrorType, H as HostCookie, m as JWTStandardClaims, J as JoseInstance, u as OAuthError, p as OAuthProvider, o as OAuthProviderConfig, O as OAuthProviderCredentials, q as SecureCookie, n as Session, r as StandardCookie, T as TokenRevocationError, U as User } from '../index-B1vDUGwh.cjs';
8
+ import '@aura-stack/jose/jose';
9
+ import 'zod/v4/core';
@@ -1,7 +1,9 @@
1
1
  import 'zod/v4';
2
- import '@aura-stack/jose/jose';
2
+ import '../jose.js';
3
3
  import '../schemas.js';
4
+ import '@aura-stack/router';
4
5
  import 'cookie';
5
6
  export { LiteralUnion, Prettify } from './utility.js';
6
- export { y as AccessTokenError, c as AuthConfig, d as AuthInstance, A as AuthRuntimeConfig, w as AuthorizationError, C as CookieConfig, a as CookieConfigInternal, b as CookieName, u as CookieStrategyOptions, E as ErrorType, H as HostCookie, q as JWTStandardClaims, J as JoseInstance, v as OAuthError, O as OAuthProvider, e as OAuthProviderConfig, f as OAuthProviderCredentials, R as RouterGlobalContext, r as SecureCookie, S as Session, t as StandardCookie, T as TokenRevocationError, U as User } from '../index-DpfbvTZ_.js';
7
+ export { w as AccessTokenError, c as AuthConfig, A as AuthRuntimeConfig, v as AuthorizationError, C as CookieConfig, a as CookieConfigInternal, b as CookieName, t as CookieStrategyOptions, E as ErrorType, H as HostCookie, m as JWTStandardClaims, J as JoseInstance, u as OAuthError, p as OAuthProvider, o as OAuthProviderConfig, O as OAuthProviderCredentials, q as SecureCookie, n as Session, r as StandardCookie, T as TokenRevocationError, U as User } from '../index-CGRZ0wrw.js';
8
+ import '@aura-stack/jose/jose';
7
9
  import 'zod/v4/core';
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,16 @@
1
+ import { c as AuthConfig, d as createBuiltInOAuthProviders, J as JoseInstance } from '../index-B1vDUGwh.cjs';
2
+ import 'zod/v4';
3
+ import '../jose.cjs';
4
+ import '@aura-stack/jose/jose';
5
+ import '../schemas.cjs';
6
+ import 'zod/v4/core';
7
+ import '@aura-stack/router';
8
+ import 'cookie';
9
+ import './utility.cjs';
10
+
11
+ declare module "@aura-stack/router" {
12
+ interface GlobalContext extends Required<Omit<AuthConfig, "secret" | "oauth">> {
13
+ oauth: ReturnType<typeof createBuiltInOAuthProviders>;
14
+ jose: JoseInstance;
15
+ }
16
+ }
@@ -0,0 +1,16 @@
1
+ import { c as AuthConfig, d as createBuiltInOAuthProviders, J as JoseInstance } from '../index-CGRZ0wrw.js';
2
+ import 'zod/v4';
3
+ import '../jose.js';
4
+ import '@aura-stack/jose/jose';
5
+ import '../schemas.js';
6
+ import 'zod/v4/core';
7
+ import '@aura-stack/router';
8
+ import 'cookie';
9
+ import './utility.js';
10
+
11
+ declare module "@aura-stack/router" {
12
+ interface GlobalContext extends Required<Omit<AuthConfig, "secret" | "oauth">> {
13
+ oauth: ReturnType<typeof createBuiltInOAuthProviders>;
14
+ jose: JoseInstance;
15
+ }
16
+ }
File without changes
@@ -0,0 +1,16 @@
1
+ import { c as AuthConfig, d as createBuiltInOAuthProviders, J as JoseInstance } from '../index-B1vDUGwh.cjs';
2
+ import 'zod/v4';
3
+ import '../jose.cjs';
4
+ import '@aura-stack/jose/jose';
5
+ import '../schemas.cjs';
6
+ import 'zod/v4/core';
7
+ import '@aura-stack/router';
8
+ import 'cookie';
9
+ import './utility.cjs';
10
+
11
+ declare module "@aura-stack/router" {
12
+ interface GlobalContext extends Required<Omit<AuthConfig, "secret" | "oauth">> {
13
+ oauth: ReturnType<typeof createBuiltInOAuthProviders>
14
+ jose: JoseInstance
15
+ }
16
+ }
@@ -1,11 +1,16 @@
1
- import { R as RouterGlobalContext } from '../index-DpfbvTZ_.js';
1
+ import { c as AuthConfig, d as createBuiltInOAuthProviders, J as JoseInstance } from '../index-CGRZ0wrw.js';
2
2
  import 'zod/v4';
3
+ import '../jose.js';
3
4
  import '@aura-stack/jose/jose';
4
5
  import '../schemas.js';
5
6
  import 'zod/v4/core';
7
+ import '@aura-stack/router';
6
8
  import 'cookie';
7
9
  import './utility.js';
8
10
 
9
- declare module "@aura-stack/router" {
10
- interface GlobalContext extends RouterGlobalContext {}
11
+ declare module "@aura-stack/router" {
12
+ interface GlobalContext extends Required<Omit<AuthConfig, "secret" | "oauth">> {
13
+ oauth: ReturnType<typeof createBuiltInOAuthProviders>
14
+ jose: JoseInstance
15
+ }
11
16
  }
@@ -0,0 +1,6 @@
1
+ type Prettify<T> = {
2
+ [K in keyof T]: T[K];
3
+ } & {};
4
+ type LiteralUnion<T extends U, U = string> = T | (U & Record<never, never>);
5
+
6
+ export type { LiteralUnion, Prettify };
@@ -1,10 +1,6 @@
1
1
  type Prettify<T> = {
2
2
  [K in keyof T]: T[K];
3
- } & {
4
- __aura_auth_prettify_brand?: never;
5
- };
6
- type LiteralUnion<T extends U, U = string> = (T | (U & Record<never, never>)) & {
7
- __aura_auth_literal_union_brand?: never;
8
- };
3
+ } & {};
4
+ type LiteralUnion<T extends U, U = string> = T | (U & Record<never, never>);
9
5
 
10
6
  export type { LiteralUnion, Prettify };
@@ -0,0 +1,30 @@
1
+ import { O as OAuthProviderCredentials } from '../../index-B1vDUGwh.cjs';
2
+ import 'zod/v4';
3
+ import '../../jose.cjs';
4
+ import '@aura-stack/jose/jose';
5
+ import '../../schemas.cjs';
6
+ import 'zod/v4/core';
7
+ import '@aura-stack/router';
8
+ import 'cookie';
9
+ import '../../@types/utility.cjs';
10
+
11
+ /**
12
+ * Make a request to the OAuth provider to the token endpoint to exchange the authorization code provided
13
+ * by the authorization server.
14
+ *
15
+ * @see https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.3
16
+ * @see https://datatracker.ietf.org/doc/html/rfc6749#section-5
17
+ * @param oauthConfig - OAuth provider configuration
18
+ * @param redirectURI - The redirect URI registered in the Resource Owner's authorization request and sent in the authorization code exchange
19
+ * @param code - The authorization code received from the OAuth server
20
+ * @returns The access token response from the OAuth server
21
+ */
22
+ declare const createAccessToken: (oauthConfig: OAuthProviderCredentials, redirectURI: string, code: string, codeVerifier: string) => Promise<{
23
+ access_token: string;
24
+ token_type: string;
25
+ expires_in?: number | undefined;
26
+ refresh_token?: string | undefined;
27
+ scope?: string | undefined;
28
+ }>;
29
+
30
+ export { createAccessToken };
@@ -1,8 +1,10 @@
1
- import { f as OAuthProviderCredentials } from '../../index-DpfbvTZ_.js';
1
+ import { O as OAuthProviderCredentials } from '../../index-CGRZ0wrw.js';
2
2
  import 'zod/v4';
3
+ import '../../jose.js';
3
4
  import '@aura-stack/jose/jose';
4
5
  import '../../schemas.js';
5
6
  import 'zod/v4/core';
7
+ import '@aura-stack/router';
6
8
  import 'cookie';
7
9
  import '../../@types/utility.js';
8
10
 
@@ -0,0 +1,13 @@
1
+ import * as _aura_stack_router from '@aura-stack/router';
2
+ import { A as AuthRuntimeConfig } from '../../index-B1vDUGwh.cjs';
3
+ import 'zod/v4';
4
+ import '../../jose.cjs';
5
+ import '@aura-stack/jose/jose';
6
+ import '../../schemas.cjs';
7
+ import 'zod/v4/core';
8
+ import 'cookie';
9
+ import '../../@types/utility.cjs';
10
+
11
+ declare const callbackAction: (oauth: AuthRuntimeConfig["oauth"]) => _aura_stack_router.RouteEndpoint<"GET", "/callback/:oauth", {}>;
12
+
13
+ export { callbackAction };
@@ -1,6 +1,7 @@
1
1
  import * as _aura_stack_router from '@aura-stack/router';
2
- import { A as AuthRuntimeConfig } from '../../index-DpfbvTZ_.js';
2
+ import { A as AuthRuntimeConfig } from '../../index-CGRZ0wrw.js';
3
3
  import 'zod/v4';
4
+ import '../../jose.js';
4
5
  import '@aura-stack/jose/jose';
5
6
  import '../../schemas.js';
6
7
  import 'zod/v4/core';
@@ -0,0 +1,22 @@
1
+ import { O as OAuthProviderCredentials, U as User } from '../../index-B1vDUGwh.cjs';
2
+ import 'zod/v4';
3
+ import '../../jose.cjs';
4
+ import '@aura-stack/jose/jose';
5
+ import '../../schemas.cjs';
6
+ import 'zod/v4/core';
7
+ import '@aura-stack/router';
8
+ import 'cookie';
9
+ import '../../@types/utility.cjs';
10
+
11
+ /**
12
+ * Get user information from the OAuth provider's userinfo endpoint using the provided access token.
13
+ * The response by default is mapped to the standardized `User` format unless a custom
14
+ * `profile` function is provided in the `oauthConfig`.
15
+ *
16
+ * @param oauthConfig - OAuth provider configuration
17
+ * @param accessToken - Access Token to access the userinfo endpoint
18
+ * @returns The user information retrieved from the userinfo endpoint
19
+ */
20
+ declare const getUserInfo: (oauthConfig: OAuthProviderCredentials, accessToken: string) => Promise<User>;
21
+
22
+ export { getUserInfo };
@@ -1,8 +1,10 @@
1
- import { f as OAuthProviderCredentials, U as User } from '../../index-DpfbvTZ_.js';
1
+ import { O as OAuthProviderCredentials, U as User } from '../../index-CGRZ0wrw.js';
2
2
  import 'zod/v4';
3
+ import '../../jose.js';
3
4
  import '@aura-stack/jose/jose';
4
5
  import '../../schemas.js';
5
6
  import 'zod/v4/core';
7
+ import '@aura-stack/router';
6
8
  import 'cookie';
7
9
  import '../../@types/utility.js';
8
10
 
@@ -0,0 +1,5 @@
1
+ import * as _aura_stack_router from '@aura-stack/router';
2
+
3
+ declare const csrfTokenAction: _aura_stack_router.RouteEndpoint<"GET", "/csrfToken", {}>;
4
+
5
+ export { csrfTokenAction };
@@ -0,0 +1,14 @@
1
+ export { signInAction } from './signIn/signIn.cjs';
2
+ export { callbackAction } from './callback/callback.cjs';
3
+ export { sessionAction } from './session/session.cjs';
4
+ export { signOutAction } from './signOut/signOut.cjs';
5
+ export { csrfTokenAction } from './csrfToken/csrfToken.cjs';
6
+ import '@aura-stack/router';
7
+ import '../index-B1vDUGwh.cjs';
8
+ import 'zod/v4';
9
+ import '../jose.cjs';
10
+ import '@aura-stack/jose/jose';
11
+ import '../schemas.cjs';
12
+ import 'zod/v4/core';
13
+ import 'cookie';
14
+ import '../@types/utility.cjs';
@@ -4,8 +4,9 @@ export { sessionAction } from './session/session.js';
4
4
  export { signOutAction } from './signOut/signOut.js';
5
5
  export { csrfTokenAction } from './csrfToken/csrfToken.js';
6
6
  import '@aura-stack/router';
7
- import '../index-DpfbvTZ_.js';
7
+ import '../index-CGRZ0wrw.js';
8
8
  import 'zod/v4';
9
+ import '../jose.js';
9
10
  import '@aura-stack/jose/jose';
10
11
  import '../schemas.js';
11
12
  import 'zod/v4/core';
@@ -1,10 +1,14 @@
1
1
  import "../chunk-ITQ7352M.js";
2
2
  import {
3
- sessionAction
4
- } from "../chunk-XXJKNKGQ.js";
3
+ callbackAction
4
+ } from "../chunk-HGJ4TXY4.js";
5
+ import "../chunk-RLT4RFKV.js";
5
6
  import {
6
7
  csrfTokenAction
7
8
  } from "../chunk-SMQO5WD7.js";
9
+ import {
10
+ sessionAction
11
+ } from "../chunk-XXJKNKGQ.js";
8
12
  import {
9
13
  signInAction
10
14
  } from "../chunk-LLR722CL.js";
@@ -12,10 +16,6 @@ import {
12
16
  signOutAction
13
17
  } from "../chunk-SJPDVKUS.js";
14
18
  import "../chunk-CAKJT3KS.js";
15
- import {
16
- callbackAction
17
- } from "../chunk-HGJ4TXY4.js";
18
- import "../chunk-RLT4RFKV.js";
19
19
  import "../chunk-UJJ7R56J.js";
20
20
  import "../chunk-ZV4BH47P.js";
21
21
  import "../chunk-6SM22VVJ.js";
@@ -0,0 +1,5 @@
1
+ import * as _aura_stack_router from '@aura-stack/router';
2
+
3
+ declare const sessionAction: _aura_stack_router.RouteEndpoint<"GET", "/session", {}>;
4
+
5
+ export { sessionAction };
@@ -0,0 +1,45 @@
1
+ import { O as OAuthProviderCredentials } from '../../index-B1vDUGwh.cjs';
2
+ import 'zod/v4';
3
+ import '../../jose.cjs';
4
+ import '@aura-stack/jose/jose';
5
+ import '../../schemas.cjs';
6
+ import 'zod/v4/core';
7
+ import '@aura-stack/router';
8
+ import 'cookie';
9
+ import '../../@types/utility.cjs';
10
+
11
+ /**
12
+ * Constructs the request URI for the Authorization Request to the third-party OAuth service. It includes
13
+ * the necessary query parameters such as `client_id`, `redirect_uri`, `response_type`, `scope`, `state`,
14
+ * `code_challenge`, and `code_challenge_method`.
15
+ *
16
+ * @see https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.1
17
+ * @see https://datatracker.ietf.org/doc/html/rfc7636#section-4
18
+ *
19
+ * @param oauthConfig - The OAuth configuration for the third-party service.
20
+ * @param redirectURI - The redirect URI where the OAuth service will send the user after authorization.
21
+ * @param state - A unique string used to maintain state between the request and callback.
22
+ */
23
+ declare const createAuthorizationURL: (oauthConfig: OAuthProviderCredentials, redirectURI: string, state: string, codeChallenge: string, codeChallengeMethod: string) => string;
24
+ declare const getOriginURL: (request: Request, trustedProxyHeaders?: boolean) => URL;
25
+ /**
26
+ * Creates the redirect URI for the OAuth callback based on the original request URL and the OAuth provider.
27
+ *
28
+ * @param requestURL - the original request URL
29
+ * @param oauth - OAuth provider name
30
+ * @returns The redirect URI for the OAuth callback.
31
+ */
32
+ declare const createRedirectURI: (request: Request, oauth: string, basePath: string, trustedProxyHeaders?: boolean) => string;
33
+ /**
34
+ * Verifies if the request's origin matches the expected origin. It accepts the redirectTo search
35
+ * parameter for redirection. It checks the 'Referer' header of the request with the origin where
36
+ * the authentication flow is hosted. If they do not match, it throws an AuthError to avoid
37
+ * potential `Open URL Redirection` attacks.
38
+ *
39
+ * @param request The incoming request object
40
+ * @param redirectTo Optional redirectTo parameter to override the referer
41
+ * @returns The pathname of the referer URL if origins match
42
+ */
43
+ declare const createRedirectTo: (request: Request, redirectTo?: string, trustedProxyHeaders?: boolean) => string;
44
+
45
+ export { createAuthorizationURL, createRedirectTo, createRedirectURI, getOriginURL };
@@ -1,8 +1,10 @@
1
- import { f as OAuthProviderCredentials } from '../../index-DpfbvTZ_.js';
1
+ import { O as OAuthProviderCredentials } from '../../index-CGRZ0wrw.js';
2
2
  import 'zod/v4';
3
+ import '../../jose.js';
3
4
  import '@aura-stack/jose/jose';
4
5
  import '../../schemas.js';
5
6
  import 'zod/v4/core';
7
+ import '@aura-stack/router';
6
8
  import 'cookie';
7
9
  import '../../@types/utility.js';
8
10
 
@@ -0,0 +1,13 @@
1
+ import * as _aura_stack_router from '@aura-stack/router';
2
+ import { A as AuthRuntimeConfig } from '../../index-B1vDUGwh.cjs';
3
+ import 'zod/v4';
4
+ import '../../jose.cjs';
5
+ import '@aura-stack/jose/jose';
6
+ import '../../schemas.cjs';
7
+ import 'zod/v4/core';
8
+ import 'cookie';
9
+ import '../../@types/utility.cjs';
10
+
11
+ declare const signInAction: (oauth: AuthRuntimeConfig["oauth"]) => _aura_stack_router.RouteEndpoint<"GET", "/signIn/:oauth", {}>;
12
+
13
+ export { signInAction };
@@ -1,6 +1,7 @@
1
1
  import * as _aura_stack_router from '@aura-stack/router';
2
- import { A as AuthRuntimeConfig } from '../../index-DpfbvTZ_.js';
2
+ import { A as AuthRuntimeConfig } from '../../index-CGRZ0wrw.js';
3
3
  import 'zod/v4';
4
+ import '../../jose.js';
4
5
  import '@aura-stack/jose/jose';
5
6
  import '../../schemas.js';
6
7
  import 'zod/v4/core';
@@ -0,0 +1,8 @@
1
+ import * as _aura_stack_router from '@aura-stack/router';
2
+
3
+ /**
4
+ * @see https://datatracker.ietf.org/doc/html/rfc7009
5
+ */
6
+ declare const signOutAction: _aura_stack_router.RouteEndpoint<"POST", "/signOut", {}>;
7
+
8
+ export { signOutAction };
@@ -1,18 +1,12 @@
1
1
  import {
2
2
  createDerivedSalt
3
3
  } from "./chunk-GZU3RBTB.js";
4
- import {
5
- AuthError
6
- } from "./chunk-FJUDBLCP.js";
7
4
 
8
5
  // src/jose.ts
9
6
  import "dotenv/config";
10
7
  import { createJWT, createJWS, createDeriveKey } from "@aura-stack/jose";
11
8
  var createJoseInstance = (secret) => {
12
9
  secret ?? (secret = process.env.AURA_AUTH_SECRET);
13
- if (!secret) {
14
- throw new AuthError("JOSE_INIT_ERROR", "AURA_AUTH_SECRET environment variable is not set and no secret was provided.");
15
- }
16
10
  const salt = process.env.AURA_AUTH_SALT ?? createDerivedSalt(secret);
17
11
  const { derivedKey: derivedSessionKey } = createDeriveKey(secret, salt, "session");
18
12
  const { derivedKey: derivedCsrfTokenKey } = createDeriveKey(secret, salt, "csrfToken");
package/dist/cookie.d.ts CHANGED
@@ -1,11 +1,13 @@
1
1
  import { SerializeOptions } from 'cookie';
2
2
  export { parse } from 'cookie';
3
3
  import { JWTPayload } from '@aura-stack/jose/jose';
4
- import { C as CookieConfig, a as CookieConfigInternal, b as CookieName, A as AuthRuntimeConfig } from './index-DpfbvTZ_.js';
4
+ import { C as CookieConfig, a as CookieConfigInternal, b as CookieName, A as AuthRuntimeConfig } from './index-CGRZ0wrw.js';
5
5
  import { LiteralUnion } from './@types/utility.js';
6
6
  import 'zod/v4';
7
+ import './jose.js';
7
8
  import './schemas.js';
8
9
  import 'zod/v4/core';
10
+ import '@aura-stack/router';
9
11
 
10
12
  /**
11
13
  * Prefix for all cookies set by Aura Auth.
package/dist/error.d.ts CHANGED
@@ -1,9 +1,11 @@
1
- import { E as ErrorType } from './index-DpfbvTZ_.js';
1
+ import { E as ErrorType } from './index-CGRZ0wrw.js';
2
2
  import { LiteralUnion } from './@types/utility.js';
3
3
  import 'zod/v4';
4
+ import './jose.js';
4
5
  import '@aura-stack/jose/jose';
5
6
  import './schemas.js';
6
7
  import 'zod/v4/core';
8
+ import '@aura-stack/router';
7
9
  import 'cookie';
8
10
 
9
11
  /**
@@ -1,8 +1,10 @@
1
1
  import { z } from 'zod/v4';
2
- import { JWTPayload } from '@aura-stack/jose/jose';
2
+ import { createJoseInstance } from './jose.js';
3
3
  import { OAuthAuthorizationErrorResponse, OAuthAccessTokenErrorResponse } from './schemas.js';
4
+ import { Prettify, RoutePattern } from '@aura-stack/router';
4
5
  import { SerializeOptions } from 'cookie';
5
- import { LiteralUnion, Prettify } from './@types/utility.js';
6
+ import { LiteralUnion } from './@types/utility.js';
7
+ import { JWTPayload } from '@aura-stack/jose/jose';
6
8
 
7
9
  /**
8
10
  * @see [X - Get my User](https://docs.x.com/x-api/users/get-my-user)
@@ -472,7 +474,7 @@ interface AuthConfig {
472
474
  /**
473
475
  * Base path for all authentication routes. Default is `/auth`.
474
476
  */
475
- basePath?: `/${string}`;
477
+ basePath?: RoutePattern;
476
478
  /**
477
479
  * Enable trusted proxy headers for scenarios where the application is behind a reverse proxy or load balancer.
478
480
  * This setting allows Aura Auth to correctly interpret headers like `X-Forwarded-For` and `X-Forwarded-Proto`
@@ -489,17 +491,11 @@ interface AuthConfig {
489
491
  */
490
492
  trustedProxyHeaders?: boolean;
491
493
  }
492
- interface JoseInstance {
493
- decodeJWT: (token: string) => Promise<JWTPayload>;
494
- encodeJWT: (payload: JWTPayload) => Promise<string>;
495
- signJWS: (payload: JWTPayload) => Promise<string>;
496
- verifyJWS: (payload: string) => Promise<JWTPayload>;
497
- }
494
+ type JoseInstance = ReturnType<typeof createJoseInstance>;
498
495
  /**
499
496
  * Internal runtime configuration used within Aura Auth after initialization.
500
497
  * All optional fields from AuthConfig are resolved to their default values.
501
498
  * @internal
502
- * @todo: is this needed?
503
499
  */
504
500
  interface AuthRuntimeConfig {
505
501
  oauth: Record<LiteralUnion<BuiltInOAuthProvider>, OAuthProviderCredentials>;
@@ -507,20 +503,6 @@ interface AuthRuntimeConfig {
507
503
  secret: string;
508
504
  jose: JoseInstance;
509
505
  }
510
- interface RouterGlobalContext {
511
- oauth: Record<LiteralUnion<BuiltInOAuthProvider>, OAuthProviderCredentials>;
512
- cookies: CookieConfigInternal;
513
- jose: JoseInstance;
514
- basePath: string;
515
- trustedProxyHeaders: boolean;
516
- }
517
- interface AuthInstance {
518
- handlers: {
519
- GET: (request: Request) => Response | Promise<Response>;
520
- POST: (request: Request) => Response | Promise<Response>;
521
- };
522
- jose: JoseInstance;
523
- }
524
506
  /**
525
507
  * Base OAuth error response structure.
526
508
  */
@@ -545,4 +527,4 @@ type AccessTokenError = OAuthError<z.infer<typeof OAuthAccessTokenErrorResponse>
545
527
  type TokenRevocationError = OAuthError<"invalid_session_token" | "invalid_csrf_token" | "invalid_redirect_to">;
546
528
  type ErrorType = AuthorizationError["error"] | AccessTokenError["error"] | TokenRevocationError["error"];
547
529
 
548
- export { type AuthRuntimeConfig as A, type BitbucketProfile as B, type CookieConfig as C, type DiscordProfile as D, type ErrorType as E, type FigmaProfile as F, type GitLabProfile as G, type HostCookie as H, type JoseInstance as J, type Nameplate as N, type OAuthProvider as O, type RouterGlobalContext as R, type Session as S, type TokenRevocationError as T, type User as U, type XProfile as X, type CookieConfigInternal as a, type CookieName as b, type AuthConfig as c, type AuthInstance as d, type OAuthProviderConfig as e, type OAuthProviderCredentials as f, type SpotifyProfile as g, gitlab as h, discord as i, figma as j, bitbucket as k, type GitHubProfile as l, github as m, builtInOAuthProviders as n, createBuiltInOAuthProviders as o, type BuiltInOAuthProvider as p, type JWTStandardClaims as q, type SecureCookie as r, spotify as s, type StandardCookie as t, type CookieStrategyOptions as u, type OAuthError as v, type AuthorizationError as w, x, type AccessTokenError as y };
530
+ export { type AuthRuntimeConfig as A, type BitbucketProfile as B, type CookieConfig as C, type DiscordProfile as D, type ErrorType as E, type FigmaProfile as F, type GitLabProfile as G, type HostCookie as H, type JoseInstance as J, type Nameplate as N, type OAuthProviderCredentials as O, type SpotifyProfile as S, type TokenRevocationError as T, type User as U, type XProfile as X, type CookieConfigInternal as a, type CookieName as b, type AuthConfig as c, createBuiltInOAuthProviders as d, discord as e, figma as f, gitlab as g, bitbucket as h, type GitHubProfile as i, github as j, builtInOAuthProviders as k, type BuiltInOAuthProvider as l, type JWTStandardClaims as m, type Session as n, type OAuthProviderConfig as o, type OAuthProvider as p, type SecureCookie as q, type StandardCookie as r, spotify as s, type CookieStrategyOptions as t, type OAuthError as u, type AuthorizationError as v, type AccessTokenError as w, x };
package/dist/index.cjs CHANGED
@@ -227,9 +227,6 @@ var createDerivedSalt = (secret) => {
227
227
  // src/jose.ts
228
228
  var createJoseInstance = (secret) => {
229
229
  secret ?? (secret = process.env.AURA_AUTH_SECRET);
230
- if (!secret) {
231
- throw new AuthError("JOSE_INIT_ERROR", "AURA_AUTH_SECRET environment variable is not set and no secret was provided.");
232
- }
233
230
  const salt = process.env.AURA_AUTH_SALT ?? createDerivedSalt(secret);
234
231
  const { derivedKey: derivedSessionKey } = (0, import_jose.createDeriveKey)(secret, salt, "session");
235
232
  const { derivedKey: derivedCsrfTokenKey } = (0, import_jose.createDeriveKey)(secret, salt, "csrfToken");
package/dist/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- import { c as AuthConfig, d as AuthInstance } from './index-DpfbvTZ_.js';
2
- export { C as CookieConfig, E as ErrorType, J as JoseInstance, O as OAuthProvider, e as OAuthProviderConfig, f as OAuthProviderCredentials, S as Session, U as User } from './index-DpfbvTZ_.js';
1
+ import { JWTPayload } from '@aura-stack/jose/jose';
2
+ import * as _aura_stack_router from '@aura-stack/router';
3
+ import { c as AuthConfig } from './index-CGRZ0wrw.js';
3
4
  import 'zod/v4';
4
- import '@aura-stack/jose/jose';
5
+ import './jose.js';
5
6
  import './schemas.js';
6
7
  import 'zod/v4/core';
7
8
  import 'cookie';
@@ -29,6 +30,14 @@ import './@types/utility.js';
29
30
  * }]
30
31
  * })
31
32
  */
32
- declare const createAuth: (authConfig: AuthConfig) => AuthInstance;
33
+ declare const createAuth: (authConfig: AuthConfig) => {
34
+ handlers: _aura_stack_router.GetHttpHandlers<[_aura_stack_router.RouteEndpoint<"GET", "/signIn/:oauth", {}>, _aura_stack_router.RouteEndpoint<"GET", "/callback/:oauth", {}>, _aura_stack_router.RouteEndpoint<"GET", "/session", {}>, _aura_stack_router.RouteEndpoint<"POST", "/signOut", {}>, _aura_stack_router.RouteEndpoint<"GET", "/csrfToken", {}>]>;
35
+ jose: {
36
+ decodeJWT: (token: string) => Promise<JWTPayload>;
37
+ encodeJWT: (payload: JWTPayload) => Promise<string>;
38
+ signJWS: (payload: JWTPayload) => Promise<string>;
39
+ verifyJWS: (payload: string) => Promise<JWTPayload>;
40
+ };
41
+ };
33
42
 
34
- export { AuthConfig, AuthInstance, createAuth };
43
+ export { createAuth };
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  createBuiltInOAuthProviders
3
- } from "./chunk-VFTYH33W.js";
3
+ } from "./chunk-NWSD4JNX.js";
4
+ import "./chunk-EBPE35JT.js";
4
5
  import "./chunk-FKRDCWBF.js";
5
6
  import "./chunk-IKHPGFCW.js";
6
7
  import "./chunk-KRNOMBXQ.js";
@@ -8,11 +9,15 @@ import "./chunk-E3OXBRYF.js";
8
9
  import "./chunk-42XB3YCW.js";
9
10
  import "./chunk-ITQ7352M.js";
10
11
  import {
11
- sessionAction
12
- } from "./chunk-XXJKNKGQ.js";
12
+ callbackAction
13
+ } from "./chunk-HGJ4TXY4.js";
14
+ import "./chunk-RLT4RFKV.js";
13
15
  import {
14
16
  csrfTokenAction
15
17
  } from "./chunk-SMQO5WD7.js";
18
+ import {
19
+ sessionAction
20
+ } from "./chunk-XXJKNKGQ.js";
16
21
  import {
17
22
  signInAction
18
23
  } from "./chunk-LLR722CL.js";
@@ -20,13 +25,8 @@ import {
20
25
  signOutAction
21
26
  } from "./chunk-SJPDVKUS.js";
22
27
  import "./chunk-CAKJT3KS.js";
23
- import {
24
- callbackAction
25
- } from "./chunk-HGJ4TXY4.js";
26
- import "./chunk-RLT4RFKV.js";
27
28
  import "./chunk-UJJ7R56J.js";
28
29
  import "./chunk-FIPU4MLT.js";
29
- import "./chunk-EBPE35JT.js";
30
30
  import {
31
31
  defaultCookieConfig
32
32
  } from "./chunk-ZV4BH47P.js";
@@ -34,7 +34,7 @@ import "./chunk-6SM22VVJ.js";
34
34
  import "./chunk-STHEPPUZ.js";
35
35
  import {
36
36
  createJoseInstance
37
- } from "./chunk-UTDLUEEG.js";
37
+ } from "./chunk-X7M4CQTN.js";
38
38
  import "./chunk-GZU3RBTB.js";
39
39
  import {
40
40
  onErrorHandler
package/dist/jose.cjs CHANGED
@@ -42,15 +42,6 @@ var import_node_crypto = __toESM(require("crypto"), 1);
42
42
  // src/utils.ts
43
43
  var import_router = require("@aura-stack/router");
44
44
 
45
- // src/error.ts
46
- var AuthError = class extends Error {
47
- constructor(type, message) {
48
- super(message);
49
- this.type = type;
50
- this.name = "AuthError";
51
- }
52
- };
53
-
54
45
  // src/secure.ts
55
46
  var createDerivedSalt = (secret) => {
56
47
  return import_node_crypto.default.createHash("sha256").update(secret).update("aura-auth-salt").digest("hex");
@@ -59,9 +50,6 @@ var createDerivedSalt = (secret) => {
59
50
  // src/jose.ts
60
51
  var createJoseInstance = (secret) => {
61
52
  secret ?? (secret = process.env.AURA_AUTH_SECRET);
62
- if (!secret) {
63
- throw new AuthError("JOSE_INIT_ERROR", "AURA_AUTH_SECRET environment variable is not set and no secret was provided.");
64
- }
65
53
  const salt = process.env.AURA_AUTH_SALT ?? createDerivedSalt(secret);
66
54
  const { derivedKey: derivedSessionKey } = (0, import_jose.createDeriveKey)(secret, salt, "session");
67
55
  const { derivedKey: derivedCsrfTokenKey } = (0, import_jose.createDeriveKey)(secret, salt, "csrfToken");
package/dist/jose.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createJoseInstance
3
- } from "./chunk-UTDLUEEG.js";
3
+ } from "./chunk-X7M4CQTN.js";
4
4
  import "./chunk-GZU3RBTB.js";
5
5
  import "./chunk-256KIVJL.js";
6
6
  import "./chunk-FJUDBLCP.js";
@@ -0,0 +1,9 @@
1
+ export { B as BitbucketProfile, h as bitbucket } from '../index-B1vDUGwh.cjs';
2
+ import '../@types/utility.cjs';
3
+ import 'zod/v4';
4
+ import '../jose.cjs';
5
+ import '@aura-stack/jose/jose';
6
+ import '../schemas.cjs';
7
+ import 'zod/v4/core';
8
+ import '@aura-stack/router';
9
+ import 'cookie';
@@ -1,7 +1,9 @@
1
- export { B as BitbucketProfile, k as bitbucket } from '../index-DpfbvTZ_.js';
1
+ export { B as BitbucketProfile, h as bitbucket } from '../index-CGRZ0wrw.js';
2
2
  import '../@types/utility.js';
3
3
  import 'zod/v4';
4
+ import '../jose.js';
4
5
  import '@aura-stack/jose/jose';
5
6
  import '../schemas.js';
6
7
  import 'zod/v4/core';
8
+ import '@aura-stack/router';
7
9
  import 'cookie';
@@ -0,0 +1,9 @@
1
+ export { D as DiscordProfile, N as Nameplate, e as discord } from '../index-B1vDUGwh.cjs';
2
+ import 'zod/v4';
3
+ import '../jose.cjs';
4
+ import '@aura-stack/jose/jose';
5
+ import '../schemas.cjs';
6
+ import 'zod/v4/core';
7
+ import '@aura-stack/router';
8
+ import 'cookie';
9
+ import '../@types/utility.cjs';
@@ -1,7 +1,9 @@
1
- export { D as DiscordProfile, N as Nameplate, i as discord } from '../index-DpfbvTZ_.js';
1
+ export { D as DiscordProfile, N as Nameplate, e as discord } from '../index-CGRZ0wrw.js';
2
2
  import 'zod/v4';
3
+ import '../jose.js';
3
4
  import '@aura-stack/jose/jose';
4
5
  import '../schemas.js';
5
6
  import 'zod/v4/core';
7
+ import '@aura-stack/router';
6
8
  import 'cookie';
7
9
  import '../@types/utility.js';
@@ -0,0 +1,9 @@
1
+ export { F as FigmaProfile, f as figma } from '../index-B1vDUGwh.cjs';
2
+ import 'zod/v4';
3
+ import '../jose.cjs';
4
+ import '@aura-stack/jose/jose';
5
+ import '../schemas.cjs';
6
+ import 'zod/v4/core';
7
+ import '@aura-stack/router';
8
+ import 'cookie';
9
+ import '../@types/utility.cjs';
@@ -1,7 +1,9 @@
1
- export { F as FigmaProfile, j as figma } from '../index-DpfbvTZ_.js';
1
+ export { F as FigmaProfile, f as figma } from '../index-CGRZ0wrw.js';
2
2
  import 'zod/v4';
3
+ import '../jose.js';
3
4
  import '@aura-stack/jose/jose';
4
5
  import '../schemas.js';
5
6
  import 'zod/v4/core';
7
+ import '@aura-stack/router';
6
8
  import 'cookie';
7
9
  import '../@types/utility.js';
@@ -0,0 +1,9 @@
1
+ export { i as GitHubProfile, j as github } from '../index-B1vDUGwh.cjs';
2
+ import 'zod/v4';
3
+ import '../jose.cjs';
4
+ import '@aura-stack/jose/jose';
5
+ import '../schemas.cjs';
6
+ import 'zod/v4/core';
7
+ import '@aura-stack/router';
8
+ import 'cookie';
9
+ import '../@types/utility.cjs';
@@ -1,7 +1,9 @@
1
- export { l as GitHubProfile, m as github } from '../index-DpfbvTZ_.js';
1
+ export { i as GitHubProfile, j as github } from '../index-CGRZ0wrw.js';
2
2
  import 'zod/v4';
3
+ import '../jose.js';
3
4
  import '@aura-stack/jose/jose';
4
5
  import '../schemas.js';
5
6
  import 'zod/v4/core';
7
+ import '@aura-stack/router';
6
8
  import 'cookie';
7
9
  import '../@types/utility.js';
@@ -0,0 +1,9 @@
1
+ export { G as GitLabProfile, g as gitlab } from '../index-B1vDUGwh.cjs';
2
+ import 'zod/v4';
3
+ import '../jose.cjs';
4
+ import '@aura-stack/jose/jose';
5
+ import '../schemas.cjs';
6
+ import 'zod/v4/core';
7
+ import '@aura-stack/router';
8
+ import 'cookie';
9
+ import '../@types/utility.cjs';
@@ -1,7 +1,9 @@
1
- export { G as GitLabProfile, h as gitlab } from '../index-DpfbvTZ_.js';
1
+ export { G as GitLabProfile, g as gitlab } from '../index-CGRZ0wrw.js';
2
2
  import 'zod/v4';
3
+ import '../jose.js';
3
4
  import '@aura-stack/jose/jose';
4
5
  import '../schemas.js';
5
6
  import 'zod/v4/core';
7
+ import '@aura-stack/router';
6
8
  import 'cookie';
7
9
  import '../@types/utility.js';
@@ -0,0 +1,9 @@
1
+ export { B as BitbucketProfile, l as BuiltInOAuthProvider, D as DiscordProfile, F as FigmaProfile, i as GitHubProfile, G as GitLabProfile, N as Nameplate, S as SpotifyProfile, X as XProfile, h as bitbucket, k as builtInOAuthProviders, d as createBuiltInOAuthProviders, e as discord, f as figma, j as github, g as gitlab, s as spotify, x } from '../index-B1vDUGwh.cjs';
2
+ import '../@types/utility.cjs';
3
+ import 'zod/v4';
4
+ import '../jose.cjs';
5
+ import '@aura-stack/jose/jose';
6
+ import '../schemas.cjs';
7
+ import 'zod/v4/core';
8
+ import '@aura-stack/router';
9
+ import 'cookie';
@@ -1,7 +1,9 @@
1
- export { B as BitbucketProfile, p as BuiltInOAuthProvider, D as DiscordProfile, F as FigmaProfile, l as GitHubProfile, G as GitLabProfile, N as Nameplate, g as SpotifyProfile, X as XProfile, k as bitbucket, n as builtInOAuthProviders, o as createBuiltInOAuthProviders, i as discord, j as figma, m as github, h as gitlab, s as spotify, x } from '../index-DpfbvTZ_.js';
1
+ export { B as BitbucketProfile, l as BuiltInOAuthProvider, D as DiscordProfile, F as FigmaProfile, i as GitHubProfile, G as GitLabProfile, N as Nameplate, S as SpotifyProfile, X as XProfile, h as bitbucket, k as builtInOAuthProviders, d as createBuiltInOAuthProviders, e as discord, f as figma, j as github, g as gitlab, s as spotify, x } from '../index-CGRZ0wrw.js';
2
2
  import '../@types/utility.js';
3
3
  import 'zod/v4';
4
+ import '../jose.js';
4
5
  import '@aura-stack/jose/jose';
5
6
  import '../schemas.js';
6
7
  import 'zod/v4/core';
8
+ import '@aura-stack/router';
7
9
  import 'cookie';
@@ -1,7 +1,10 @@
1
1
  import {
2
2
  builtInOAuthProviders,
3
3
  createBuiltInOAuthProviders
4
- } from "../chunk-VFTYH33W.js";
4
+ } from "../chunk-NWSD4JNX.js";
5
+ import {
6
+ discord
7
+ } from "../chunk-EBPE35JT.js";
5
8
  import {
6
9
  figma
7
10
  } from "../chunk-FKRDCWBF.js";
@@ -20,9 +23,6 @@ import {
20
23
  import {
21
24
  bitbucket
22
25
  } from "../chunk-FIPU4MLT.js";
23
- import {
24
- discord
25
- } from "../chunk-EBPE35JT.js";
26
26
  export {
27
27
  bitbucket,
28
28
  builtInOAuthProviders,
@@ -0,0 +1,9 @@
1
+ export { S as SpotifyProfile, s as spotify } from '../index-B1vDUGwh.cjs';
2
+ import 'zod/v4';
3
+ import '../jose.cjs';
4
+ import '@aura-stack/jose/jose';
5
+ import '../schemas.cjs';
6
+ import 'zod/v4/core';
7
+ import '@aura-stack/router';
8
+ import 'cookie';
9
+ import '../@types/utility.cjs';
@@ -1,7 +1,9 @@
1
- export { g as SpotifyProfile, s as spotify } from '../index-DpfbvTZ_.js';
1
+ export { S as SpotifyProfile, s as spotify } from '../index-CGRZ0wrw.js';
2
2
  import 'zod/v4';
3
+ import '../jose.js';
3
4
  import '@aura-stack/jose/jose';
4
5
  import '../schemas.js';
5
6
  import 'zod/v4/core';
7
+ import '@aura-stack/router';
6
8
  import 'cookie';
7
9
  import '../@types/utility.js';
@@ -0,0 +1,9 @@
1
+ export { X as XProfile, x } from '../index-B1vDUGwh.cjs';
2
+ import 'zod/v4';
3
+ import '../jose.cjs';
4
+ import '@aura-stack/jose/jose';
5
+ import '../schemas.cjs';
6
+ import 'zod/v4/core';
7
+ import '@aura-stack/router';
8
+ import 'cookie';
9
+ import '../@types/utility.cjs';
package/dist/oauth/x.d.ts CHANGED
@@ -1,7 +1,9 @@
1
- export { X as XProfile, x } from '../index-DpfbvTZ_.js';
1
+ export { X as XProfile, x } from '../index-CGRZ0wrw.js';
2
2
  import 'zod/v4';
3
+ import '../jose.js';
3
4
  import '@aura-stack/jose/jose';
4
5
  import '../schemas.js';
5
6
  import 'zod/v4/core';
7
+ import '@aura-stack/router';
6
8
  import 'cookie';
7
9
  import '../@types/utility.js';
package/dist/secure.d.ts CHANGED
@@ -1,8 +1,10 @@
1
- import { A as AuthRuntimeConfig } from './index-DpfbvTZ_.js';
1
+ import { A as AuthRuntimeConfig } from './index-CGRZ0wrw.js';
2
2
  import 'zod/v4';
3
+ import './jose.js';
3
4
  import '@aura-stack/jose/jose';
4
5
  import './schemas.js';
5
6
  import 'zod/v4/core';
7
+ import '@aura-stack/router';
6
8
  import 'cookie';
7
9
  import './@types/utility.js';
8
10
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aura-stack/auth",
3
- "version": "0.1.0-rc.10",
3
+ "version": "0.1.0-rc.2",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "Core auth for @aura-stack/auth",
@@ -51,8 +51,8 @@
51
51
  "@aura-stack/jose": "0.1.0-rc.1"
52
52
  },
53
53
  "devDependencies": {
54
- "@aura-stack/tsconfig": "0.0.0",
55
- "@aura-stack/tsup-config": "0.0.0"
54
+ "@aura-stack/tsup-config": "0.0.0",
55
+ "@aura-stack/tsconfig": "0.0.0"
56
56
  },
57
57
  "scripts": {
58
58
  "dev": "tsup --watch",
@@ -64,7 +64,7 @@
64
64
  "format:check": "prettier --check . --cache --cache-location .cache/.prettiercache",
65
65
  "type-check": "tsc --noEmit",
66
66
  "clean": "rm -rf dist",
67
- "clean:cts": "find dist -type f -name \"*.cts\" -delete",
67
+ "clean:cts": "rm -rf dist/*.cts",
68
68
  "prepublish": "pnpm clean:cts"
69
69
  }
70
70
  }
@@ -1,3 +1,6 @@
1
+ import {
2
+ discord
3
+ } from "./chunk-EBPE35JT.js";
1
4
  import {
2
5
  figma
3
6
  } from "./chunk-FKRDCWBF.js";
@@ -16,9 +19,6 @@ import {
16
19
  import {
17
20
  bitbucket
18
21
  } from "./chunk-FIPU4MLT.js";
19
- import {
20
- discord
21
- } from "./chunk-EBPE35JT.js";
22
22
 
23
23
  // src/oauth/index.ts
24
24
  var builtInOAuthProviders = {