@lunora/auth 1.0.0-alpha.57 → 1.0.0-alpha.59

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.
@@ -0,0 +1 @@
1
+ import{oauthProviderClient as l}from"@better-auth/oauth-provider/client";import{passkeyClient as r}from"@better-auth/passkey/client";import{oneTapClient as p,organizationClient as h,twoFactorClient as m,magicLinkClient as C,emailOTPClient as c,adminClient as g,usernameClient as d,phoneNumberClient as L,multiSessionClient as b,anonymousClient as k,deviceAuthorizationClient as v,lastLoginMethodClient as y}from"better-auth/client/plugins";const P=(t={})=>{const n=[];return t.organization&&n.push(h()),t.twoFactor&&n.push(m()),t.passkey&&n.push(r()),t.magicLink&&n.push(C()),t.emailOtp&&n.push(c()),t.admin&&n.push(g()),t.username&&n.push(d()),t.phoneNumber&&n.push(L()),t.multiSession&&n.push(b()),t.anonymous&&n.push(k()),t.deviceAuthorization&&n.push(v()),t.lastLoginMethod&&n.push(y()),t.oauthProvider&&n.push(l()),n},z=()=>globalThis.location?.origin,w=(t,n={})=>{const{baseURL:o,extraPlugins:i=[],oneTapClientId:e,plugins:s,...a}=n,u=e===void 0||e===""?[]:[p({clientId:e})];return t({...a,baseURL:o??z(),plugins:[...P(s),...u,...i]})};export{w as createLunoraAuthClient,P as lunoraAuthPlugins};
@@ -0,0 +1 @@
1
+ import{createAuthEndpoint as p}from"better-auth/api";import{getAuthTables as g}from"better-auth/db";const l=i=>[...i].toSorted((o,e)=>o.localeCompare(e)),m=(i,o={})=>{const e=o.expose??{},t=new Set((i.plugins??[]).map(n=>n.id)),s=i.emailAndPassword?.enabled??!1,r=g(i),a=(i.plugins??[]).find(n=>n.id==="organization")?.options??{},d={allowUserToCreate:typeof a.allowUserToCreateOrganization=="function"?!0:a.allowUserToCreateOrganization!==!1,enabled:t.has("organization"),invitationLimit:a.invitationLimit,limit:a.organizationLimit,membershipLimit:a.membershipLimit,roles:!!r.organizationRole,teams:!!r.team};return{emailAndPassword:s,signUp:s&&i.emailAndPassword?.disableSignUp!==!0,...e.organization===!1?{}:{organization:d},...e.plugins===!1?{}:{plugins:l(t)},...e.socialProviders===!1?{}:{socialProviders:l(new Set([...Object.keys(i.socialProviders??{}),...o.extraProviders??[]]))}}},c=i=>p(i.path??"/ui-config",{metadata:{openapi:{description:"Public description of the enabled auth plugins and social providers.",responses:{200:{description:"The UI configuration."}}}},method:"GET"},o=>{const e=o;return Promise.resolve(e.json(m(e.context.options,i)))}),h=(i={})=>({endpoints:{getUiConfig:c(i)},id:"lunora-ui-config"});export{m as deriveUiConfig,h as uiConfig};
@@ -1,3 +1,69 @@
1
+ import { organizationClient } from 'better-auth/client/plugins';
2
+ export { adminClient, anonymousClient, customSessionClient, deviceAuthorizationClient, emailOTPClient, inferAdditionalFields, inferOrgAdditionalFields, jwtClient, lastLoginMethodClient, magicLinkClient, multiSessionClient, oneTapClient, oneTimeTokenClient, organizationClient, phoneNumberClient, siweClient, twoFactorClient, usernameClient } from 'better-auth/client/plugins';
1
3
  export { oauthProviderClient } from '@better-auth/oauth-provider/client';
2
4
  export { passkeyClient } from '@better-auth/passkey/client';
3
- export { adminClient, anonymousClient, customSessionClient, deviceAuthorizationClient, emailOTPClient, inferAdditionalFields, inferOrgAdditionalFields, jwtClient, lastLoginMethodClient, magicLinkClient, multiSessionClient, oneTimeTokenClient, organizationClient, phoneNumberClient, siweClient, twoFactorClient, usernameClient } from 'better-auth/client/plugins';
5
+ /**
6
+ * Which client plugins to include. Each defaults to `false`.
7
+ *
8
+ * These are the same names `@lunora/auth-ui` gates its cards on, so one object
9
+ * can drive both `createLunoraAuthClient` and `registerAuthClientPlugins` — a
10
+ * flow the UI can show but this cannot install would be a card that renders and
11
+ * then fails at call time.
12
+ *
13
+ * `oneTap` is absent on purpose: Google One Tap needs a client id, not a
14
+ * boolean, so it comes in through {@link CreateLunoraAuthClientOptions.oneTapClientId}.
15
+ */
16
+ interface LunoraAuthPluginToggles {
17
+ admin?: boolean;
18
+ anonymous?: boolean;
19
+ deviceAuthorization?: boolean;
20
+ emailOtp?: boolean;
21
+ lastLoginMethod?: boolean;
22
+ magicLink?: boolean;
23
+ multiSession?: boolean;
24
+ oauthProvider?: boolean;
25
+ organization?: boolean;
26
+ passkey?: boolean;
27
+ phoneNumber?: boolean;
28
+ twoFactor?: boolean;
29
+ username?: boolean;
30
+ }
31
+ type LunoraAuthClientPlugin = ReturnType<typeof organizationClient>;
32
+ declare const lunoraAuthPlugins: (toggles?: LunoraAuthPluginToggles) => LunoraAuthClientPlugin[];
33
+ /** Options for {@link createLunoraAuthClient}; anything else is forwarded to `createAuthClient`. */
34
+ interface CreateLunoraAuthClientOptions {
35
+ [option: string]: unknown;
36
+ /** Defaults to the current origin, which is right for a same-origin app. */
37
+ baseURL?: string;
38
+ /** Your own client plugins, appended after the standard set. */
39
+ extraPlugins?: LunoraAuthClientPlugin[];
40
+ /**
41
+ * Google OAuth client id. Setting it installs the One Tap client plugin —
42
+ * a boolean toggle can't, because the prompt is Google's and needs the id.
43
+ */
44
+ oneTapClientId?: string;
45
+ /** Which standard client plugins to include. */
46
+ plugins?: LunoraAuthPluginToggles;
47
+ }
48
+ /**
49
+ * Build a better-auth client with Lunora's standard plugin set from toggles.
50
+ *
51
+ * You pass your framework's `createAuthClient` in — `better-auth/react`,
52
+ * `/vue`, `/svelte`, or `/solid` — because the variant has to match the UI
53
+ * framework, and a helper that picked for you would either guess wrong or drag
54
+ * every variant into your bundle.
55
+ *
56
+ * ```ts
57
+ * import { createAuthClient } from "better-auth/react";
58
+ * import { createLunoraAuthClient } from "@lunora/auth/plugins/client";
59
+ *
60
+ * export const authClient = createLunoraAuthClient(createAuthClient, {
61
+ * plugins: { organization: true, passkey: true, twoFactor: true },
62
+ * });
63
+ * ```
64
+ *
65
+ * Reach for {@link lunoraAuthPlugins} instead when you want to own the
66
+ * `createAuthClient` call and only borrow the plugin array.
67
+ */
68
+ declare const createLunoraAuthClient: <TClient>(createAuthClient: (options: Record<string, unknown>) => TClient, options?: CreateLunoraAuthClientOptions) => TClient;
69
+ export { type CreateLunoraAuthClientOptions, type LunoraAuthClientPlugin, type LunoraAuthPluginToggles, createLunoraAuthClient, lunoraAuthPlugins };
@@ -1,3 +1,69 @@
1
+ import { organizationClient } from 'better-auth/client/plugins';
2
+ export { adminClient, anonymousClient, customSessionClient, deviceAuthorizationClient, emailOTPClient, inferAdditionalFields, inferOrgAdditionalFields, jwtClient, lastLoginMethodClient, magicLinkClient, multiSessionClient, oneTapClient, oneTimeTokenClient, organizationClient, phoneNumberClient, siweClient, twoFactorClient, usernameClient } from 'better-auth/client/plugins';
1
3
  export { oauthProviderClient } from '@better-auth/oauth-provider/client';
2
4
  export { passkeyClient } from '@better-auth/passkey/client';
3
- export { adminClient, anonymousClient, customSessionClient, deviceAuthorizationClient, emailOTPClient, inferAdditionalFields, inferOrgAdditionalFields, jwtClient, lastLoginMethodClient, magicLinkClient, multiSessionClient, oneTimeTokenClient, organizationClient, phoneNumberClient, siweClient, twoFactorClient, usernameClient } from 'better-auth/client/plugins';
5
+ /**
6
+ * Which client plugins to include. Each defaults to `false`.
7
+ *
8
+ * These are the same names `@lunora/auth-ui` gates its cards on, so one object
9
+ * can drive both `createLunoraAuthClient` and `registerAuthClientPlugins` — a
10
+ * flow the UI can show but this cannot install would be a card that renders and
11
+ * then fails at call time.
12
+ *
13
+ * `oneTap` is absent on purpose: Google One Tap needs a client id, not a
14
+ * boolean, so it comes in through {@link CreateLunoraAuthClientOptions.oneTapClientId}.
15
+ */
16
+ interface LunoraAuthPluginToggles {
17
+ admin?: boolean;
18
+ anonymous?: boolean;
19
+ deviceAuthorization?: boolean;
20
+ emailOtp?: boolean;
21
+ lastLoginMethod?: boolean;
22
+ magicLink?: boolean;
23
+ multiSession?: boolean;
24
+ oauthProvider?: boolean;
25
+ organization?: boolean;
26
+ passkey?: boolean;
27
+ phoneNumber?: boolean;
28
+ twoFactor?: boolean;
29
+ username?: boolean;
30
+ }
31
+ type LunoraAuthClientPlugin = ReturnType<typeof organizationClient>;
32
+ declare const lunoraAuthPlugins: (toggles?: LunoraAuthPluginToggles) => LunoraAuthClientPlugin[];
33
+ /** Options for {@link createLunoraAuthClient}; anything else is forwarded to `createAuthClient`. */
34
+ interface CreateLunoraAuthClientOptions {
35
+ [option: string]: unknown;
36
+ /** Defaults to the current origin, which is right for a same-origin app. */
37
+ baseURL?: string;
38
+ /** Your own client plugins, appended after the standard set. */
39
+ extraPlugins?: LunoraAuthClientPlugin[];
40
+ /**
41
+ * Google OAuth client id. Setting it installs the One Tap client plugin —
42
+ * a boolean toggle can't, because the prompt is Google's and needs the id.
43
+ */
44
+ oneTapClientId?: string;
45
+ /** Which standard client plugins to include. */
46
+ plugins?: LunoraAuthPluginToggles;
47
+ }
48
+ /**
49
+ * Build a better-auth client with Lunora's standard plugin set from toggles.
50
+ *
51
+ * You pass your framework's `createAuthClient` in — `better-auth/react`,
52
+ * `/vue`, `/svelte`, or `/solid` — because the variant has to match the UI
53
+ * framework, and a helper that picked for you would either guess wrong or drag
54
+ * every variant into your bundle.
55
+ *
56
+ * ```ts
57
+ * import { createAuthClient } from "better-auth/react";
58
+ * import { createLunoraAuthClient } from "@lunora/auth/plugins/client";
59
+ *
60
+ * export const authClient = createLunoraAuthClient(createAuthClient, {
61
+ * plugins: { organization: true, passkey: true, twoFactor: true },
62
+ * });
63
+ * ```
64
+ *
65
+ * Reach for {@link lunoraAuthPlugins} instead when you want to own the
66
+ * `createAuthClient` call and only borrow the plugin array.
67
+ */
68
+ declare const createLunoraAuthClient: <TClient>(createAuthClient: (options: Record<string, unknown>) => TClient, options?: CreateLunoraAuthClientOptions) => TClient;
69
+ export { type CreateLunoraAuthClientOptions, type LunoraAuthClientPlugin, type LunoraAuthPluginToggles, createLunoraAuthClient, lunoraAuthPlugins };
@@ -1 +1 @@
1
- import{oauthProviderClient as n}from"@better-auth/oauth-provider/client";import{passkeyClient as o}from"@better-auth/passkey/client";import{adminClient as C,anonymousClient as r,customSessionClient as a,deviceAuthorizationClient as s,emailOTPClient as m,inferAdditionalFields as d,inferOrgAdditionalFields as u,jwtClient as f,lastLoginMethodClient as p,magicLinkClient as c,multiSessionClient as g,oneTimeTokenClient as h,organizationClient as k,phoneNumberClient as w,siweClient as x,twoFactorClient as A,usernameClient as F}from"better-auth/client/plugins";export{C as adminClient,r as anonymousClient,a as customSessionClient,s as deviceAuthorizationClient,m as emailOTPClient,d as inferAdditionalFields,u as inferOrgAdditionalFields,f as jwtClient,p as lastLoginMethodClient,c as magicLinkClient,g as multiSessionClient,n as oauthProviderClient,h as oneTimeTokenClient,k as organizationClient,o as passkeyClient,w as phoneNumberClient,x as siweClient,A as twoFactorClient,F as usernameClient};
1
+ import{createLunoraAuthClient as n,lunoraAuthPlugins as t}from"./packem_shared/createLunoraAuthClient-CedinxXU.mjs";import{oauthProviderClient as l}from"@better-auth/oauth-provider/client";import{passkeyClient as C}from"@better-auth/passkey/client";import{adminClient as s,anonymousClient as m,customSessionClient as u,deviceAuthorizationClient as d,emailOTPClient as p,inferAdditionalFields as f,inferOrgAdditionalFields as h,jwtClient as c,lastLoginMethodClient as g,magicLinkClient as A,multiSessionClient as x,oneTapClient as T,oneTimeTokenClient as k,organizationClient as w,phoneNumberClient as F,siweClient as L,twoFactorClient as P,usernameClient as v}from"better-auth/client/plugins";export{s as adminClient,m as anonymousClient,n as createLunoraAuthClient,u as customSessionClient,d as deviceAuthorizationClient,p as emailOTPClient,f as inferAdditionalFields,h as inferOrgAdditionalFields,c as jwtClient,g as lastLoginMethodClient,t as lunoraAuthPlugins,A as magicLinkClient,x as multiSessionClient,l as oauthProviderClient,T as oneTapClient,k as oneTimeTokenClient,w as organizationClient,C as passkeyClient,F as phoneNumberClient,L as siweClient,P as twoFactorClient,v as usernameClient};
@@ -1,3 +1,4 @@
1
+ import { BetterAuthPlugin } from 'better-auth';
1
2
  export { mcp, mcpHandler, requireMcpAuth } from '@better-auth/mcp';
2
3
  export { oauthProvider } from '@better-auth/oauth-provider';
3
4
  export { passkey } from '@better-auth/passkey';
@@ -22,3 +23,81 @@ export { phoneNumber } from 'better-auth/plugins/phone-number';
22
23
  export { siwe } from 'better-auth/plugins/siwe';
23
24
  export { twoFactor } from 'better-auth/plugins/two-factor';
24
25
  export { username } from 'better-auth/plugins/username';
26
+ /** Organization sub-features a UI branches on. */
27
+ interface UiConfigOrganization {
28
+ /** Whether an ordinary user may create one at all. */
29
+ allowUserToCreate: boolean;
30
+ enabled: boolean;
31
+ /** Max invitations per organization, when configured. */
32
+ invitationLimit?: number;
33
+ /** Max organizations one user may belong to, when configured. */
34
+ limit?: number;
35
+ /** Max members per organization, when configured. */
36
+ membershipLimit?: number;
37
+ /** Custom roles / dynamic access control are configured. */
38
+ roles: boolean;
39
+ /** Teams are enabled. */
40
+ teams: boolean;
41
+ }
42
+ /** The public payload `GET {basePath}/ui-config` returns. */
43
+ interface UiConfigPayload {
44
+ /** Whether email + password sign-in is enabled. */
45
+ emailAndPassword: boolean;
46
+ /** Absent when `expose.organization` is false — see {@link UiConfigOptions.expose}. */
47
+ organization?: UiConfigOrganization;
48
+ /** Enabled better-auth plugin ids, sorted. Absent when not disclosed. */
49
+ plugins?: string[];
50
+ /** Whether self-serve sign-up is open. */
51
+ signUp: boolean;
52
+ /** Configured social/OAuth provider ids, sorted. Absent when not disclosed. */
53
+ socialProviders?: string[];
54
+ }
55
+ /** Options for {@link uiConfig}. */
56
+ interface UiConfigOptions {
57
+ /**
58
+ * Omit fields from the payload. Everything is published by default; set a
59
+ * key to `false` for a deployment that would rather not enumerate, say, its
60
+ * plugin set to anonymous callers.
61
+ *
62
+ * The field is **omitted, not emptied**. An empty `plugins: []` is
63
+ * indistinguishable from "this deployment runs no plugins", and the client
64
+ * ANDs the server's answer with its own registration — so emptying it would
65
+ * silently switch off every gated card instead of merely withholding the
66
+ * list. Absent means "not disclosed", and the client falls back to what
67
+ * `client.ts` registered.
68
+ */
69
+ expose?: {
70
+ organization?: boolean;
71
+ plugins?: boolean;
72
+ socialProviders?: boolean;
73
+ };
74
+ /**
75
+ * Extra provider ids to advertise beyond `socialProviders`. Providers wired
76
+ * through the `genericOAuth` plugin live in that plugin's own options rather
77
+ * than in `socialProviders`, so they cannot be derived here — list them if
78
+ * you want buttons for them.
79
+ */
80
+ extraProviders?: string[];
81
+ /**
82
+ * Path the endpoint mounts at, relative to the auth basePath.
83
+ * @default "/ui-config"
84
+ */
85
+ path?: string;
86
+ }
87
+ /**
88
+ * A better-auth server plugin publishing {@link UiConfigPayload} at
89
+ * `GET {basePath}/ui-config`.
90
+ *
91
+ * There is no client half: the payload is fetched with a plain `fetch` by
92
+ * whatever renders your auth screens, so it works before a client exists and
93
+ * from a framework this package knows nothing about.
94
+ *
95
+ * The return type is better-auth's own `BetterAuthPlugin` rather than the precise
96
+ * shape of the endpoint map. That is deliberate: `createAuthEndpoint`'s inferred
97
+ * type is anonymous, and naming it is the difference between a build that emits
98
+ * declarations and one that fails only in the bundler — after `tsc` and the
99
+ * tests have both gone green. `BetterAuthPlugin` is what `createAuth({ plugins })`
100
+ * consumes anyway.
101
+ */
102
+ declare const uiConfig: (options?: UiConfigOptions) => BetterAuthPlugin;
103
+ export { type UiConfigOptions, type UiConfigOrganization, type UiConfigPayload, uiConfig };
package/dist/plugins.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { BetterAuthPlugin } from 'better-auth';
1
2
  export { mcp, mcpHandler, requireMcpAuth } from '@better-auth/mcp';
2
3
  export { oauthProvider } from '@better-auth/oauth-provider';
3
4
  export { passkey } from '@better-auth/passkey';
@@ -22,3 +23,81 @@ export { phoneNumber } from 'better-auth/plugins/phone-number';
22
23
  export { siwe } from 'better-auth/plugins/siwe';
23
24
  export { twoFactor } from 'better-auth/plugins/two-factor';
24
25
  export { username } from 'better-auth/plugins/username';
26
+ /** Organization sub-features a UI branches on. */
27
+ interface UiConfigOrganization {
28
+ /** Whether an ordinary user may create one at all. */
29
+ allowUserToCreate: boolean;
30
+ enabled: boolean;
31
+ /** Max invitations per organization, when configured. */
32
+ invitationLimit?: number;
33
+ /** Max organizations one user may belong to, when configured. */
34
+ limit?: number;
35
+ /** Max members per organization, when configured. */
36
+ membershipLimit?: number;
37
+ /** Custom roles / dynamic access control are configured. */
38
+ roles: boolean;
39
+ /** Teams are enabled. */
40
+ teams: boolean;
41
+ }
42
+ /** The public payload `GET {basePath}/ui-config` returns. */
43
+ interface UiConfigPayload {
44
+ /** Whether email + password sign-in is enabled. */
45
+ emailAndPassword: boolean;
46
+ /** Absent when `expose.organization` is false — see {@link UiConfigOptions.expose}. */
47
+ organization?: UiConfigOrganization;
48
+ /** Enabled better-auth plugin ids, sorted. Absent when not disclosed. */
49
+ plugins?: string[];
50
+ /** Whether self-serve sign-up is open. */
51
+ signUp: boolean;
52
+ /** Configured social/OAuth provider ids, sorted. Absent when not disclosed. */
53
+ socialProviders?: string[];
54
+ }
55
+ /** Options for {@link uiConfig}. */
56
+ interface UiConfigOptions {
57
+ /**
58
+ * Omit fields from the payload. Everything is published by default; set a
59
+ * key to `false` for a deployment that would rather not enumerate, say, its
60
+ * plugin set to anonymous callers.
61
+ *
62
+ * The field is **omitted, not emptied**. An empty `plugins: []` is
63
+ * indistinguishable from "this deployment runs no plugins", and the client
64
+ * ANDs the server's answer with its own registration — so emptying it would
65
+ * silently switch off every gated card instead of merely withholding the
66
+ * list. Absent means "not disclosed", and the client falls back to what
67
+ * `client.ts` registered.
68
+ */
69
+ expose?: {
70
+ organization?: boolean;
71
+ plugins?: boolean;
72
+ socialProviders?: boolean;
73
+ };
74
+ /**
75
+ * Extra provider ids to advertise beyond `socialProviders`. Providers wired
76
+ * through the `genericOAuth` plugin live in that plugin's own options rather
77
+ * than in `socialProviders`, so they cannot be derived here — list them if
78
+ * you want buttons for them.
79
+ */
80
+ extraProviders?: string[];
81
+ /**
82
+ * Path the endpoint mounts at, relative to the auth basePath.
83
+ * @default "/ui-config"
84
+ */
85
+ path?: string;
86
+ }
87
+ /**
88
+ * A better-auth server plugin publishing {@link UiConfigPayload} at
89
+ * `GET {basePath}/ui-config`.
90
+ *
91
+ * There is no client half: the payload is fetched with a plain `fetch` by
92
+ * whatever renders your auth screens, so it works before a client exists and
93
+ * from a framework this package knows nothing about.
94
+ *
95
+ * The return type is better-auth's own `BetterAuthPlugin` rather than the precise
96
+ * shape of the endpoint map. That is deliberate: `createAuthEndpoint`'s inferred
97
+ * type is anonymous, and naming it is the difference between a build that emits
98
+ * declarations and one that fails only in the bundler — after `tsc` and the
99
+ * tests have both gone green. `BetterAuthPlugin` is what `createAuth({ plugins })`
100
+ * consumes anyway.
101
+ */
102
+ declare const uiConfig: (options?: UiConfigOptions) => BetterAuthPlugin;
103
+ export { type UiConfigOptions, type UiConfigOrganization, type UiConfigPayload, uiConfig };
package/dist/plugins.mjs CHANGED
@@ -1 +1 @@
1
- import{mcp as e,mcpHandler as t,requireMcpAuth as m}from"@better-auth/mcp";import{oauthProvider as x}from"@better-auth/oauth-provider";import{passkey as i}from"@better-auth/passkey";import{scim as a}from"@better-auth/scim";import{captcha as s}from"better-auth/plugins";import{createAccessControl as h}from"better-auth/plugins/access";import{admin as A}from"better-auth/plugins/admin";import{anonymous as w}from"better-auth/plugins/anonymous";import{bearer as g}from"better-auth/plugins/bearer";import{customSession as v}from"better-auth/plugins/custom-session";import{deviceAuthorization as T}from"better-auth/plugins/device-authorization";import{emailOTP as z}from"better-auth/plugins/email-otp";import{genericOAuth as S}from"better-auth/plugins/generic-oauth";import{haveIBeenPwned as q}from"better-auth/plugins/haveibeenpwned";import{jwt as C}from"better-auth/plugins/jwt";import{magicLink as H}from"better-auth/plugins/magic-link";import{multiSession as L}from"better-auth/plugins/multi-session";import{oAuthProxy as N}from"better-auth/plugins/oauth-proxy";import{oneTimeToken as E}from"better-auth/plugins/one-time-token";import{organization as J}from"better-auth/plugins/organization";import{phoneNumber as Q}from"better-auth/plugins/phone-number";import{siwe as U}from"better-auth/plugins/siwe";import{twoFactor as W}from"better-auth/plugins/two-factor";import{username as Y}from"better-auth/plugins/username";export{A as admin,w as anonymous,g as bearer,s as captcha,h as createAccessControl,v as customSession,T as deviceAuthorization,z as emailOTP,S as genericOAuth,q as haveIBeenPwned,C as jwt,H as magicLink,e as mcp,t as mcpHandler,L as multiSession,N as oAuthProxy,x as oauthProvider,E as oneTimeToken,J as organization,i as passkey,Q as phoneNumber,m as requireMcpAuth,a as scim,U as siwe,W as twoFactor,Y as username};
1
+ import{uiConfig as e}from"./packem_shared/uiConfig-BrYEFK3O.mjs";import{mcp as m,mcpHandler as p,requireMcpAuth as f}from"@better-auth/mcp";import{oauthProvider as i}from"@better-auth/oauth-provider";import{passkey as a}from"@better-auth/passkey";import{scim as s}from"@better-auth/scim";import{captcha as h}from"better-auth/plugins";import{createAccessControl as A}from"better-auth/plugins/access";import{admin as l}from"better-auth/plugins/admin";import{anonymous as P}from"better-auth/plugins/anonymous";import{bearer as v}from"better-auth/plugins/bearer";import{customSession as T}from"better-auth/plugins/custom-session";import{deviceAuthorization as z}from"better-auth/plugins/device-authorization";import{emailOTP as O}from"better-auth/plugins/email-otp";import{genericOAuth as j}from"better-auth/plugins/generic-oauth";import{haveIBeenPwned as B}from"better-auth/plugins/haveibeenpwned";import{jwt as H}from"better-auth/plugins/jwt";import{magicLink as L}from"better-auth/plugins/magic-link";import{multiSession as N}from"better-auth/plugins/multi-session";import{oAuthProxy as E}from"better-auth/plugins/oauth-proxy";import{oneTimeToken as J}from"better-auth/plugins/one-time-token";import{organization as Q}from"better-auth/plugins/organization";import{phoneNumber as U}from"better-auth/plugins/phone-number";import{siwe as W}from"better-auth/plugins/siwe";import{twoFactor as Y}from"better-auth/plugins/two-factor";import{username as _}from"better-auth/plugins/username";export{l as admin,P as anonymous,v as bearer,h as captcha,A as createAccessControl,T as customSession,z as deviceAuthorization,O as emailOTP,j as genericOAuth,B as haveIBeenPwned,H as jwt,L as magicLink,m as mcp,p as mcpHandler,N as multiSession,E as oAuthProxy,i as oauthProvider,J as oneTimeToken,Q as organization,a as passkey,U as phoneNumber,f as requireMcpAuth,s as scim,W as siwe,Y as twoFactor,e as uiConfig,_ as username};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lunora/auth",
3
- "version": "1.0.0-alpha.57",
3
+ "version": "1.0.0-alpha.59",
4
4
  "description": "Auth for Lunora — a thin better-auth wrapper: email/password, OAuth, plugins, D1-backed",
5
5
  "keywords": [
6
6
  "auth",