UNPKG

better-auth

Version:

The most comprehensive authentication library for TypeScript.

237 lines (230 loc) 10.1 kB
import { B as BetterAuthOptions, T as TelemetryContext, E as TelemetryEvent, J as FieldAttribute, M as Models } from './shared/better-auth.BWDlmABj.cjs'; export { O as Account, a as Adapter, Y as AdapterInstance, X as AdapterSchemaCreation, N as AdditionalSessionFieldsInput, m as AdditionalSessionFieldsOutput, q as AdditionalUserFieldsInput, n as AdditionalUserFieldsOutput, g as Auth, h as AuthContext, v as AuthPluginSchema, r as BetterAuthPlugin, F as FilterActions, _ as FilteredAPI, G as GenericEndpointContext, H as HookEndpointContext, l as InferAPI, I as InferOptionSchema, t as InferPluginErrorCodes, s as InferPluginTypes, j as InferSession, $ as InferSessionAPI, i as InferUser, a5 as InternalLogger, a4 as LogHandlerParams, a0 as LogLevel, a3 as Logger, R as RateLimit, Z as SecondaryStorage, S as Session, U as User, V as Verification, Q as Where, W as WithJsDoc, L as betterAuth, a6 as createLogger, P as init, a1 as levels, a7 as logger, a2 as shouldPublishLog } from './shared/better-auth.BWDlmABj.cjs'; export { A as AtomListener, B as BetterAuthClientPlugin, C as ClientOptions, b as InferActions, i as InferAdditionalFromClient, a as InferClientAPI, c as InferErrorCodes, f as InferPluginsFromClient, g as InferSessionFromClient, h as InferUserFromClient, I as IsSignal, S as SessionQueryParams, e as Store } from './shared/better-auth.Cri7Gd3F.cjs'; export { H as HIDE_METADATA } from './shared/better-auth.DEHJp1rk.cjs'; export { g as generateState, p as parseState } from './shared/better-auth.DEfCvgT7.cjs'; export * from 'better-call'; export { APIError } from 'better-call'; export * from 'zod/v4'; export * from 'zod/v4/core'; import { b as LiteralUnion } from './shared/better-auth.DTtXpZYr.cjs'; export { A as Awaitable, D as DeepPartial, E as Expand, H as HasRequiredKeys, d as LiteralNumber, L as LiteralString, O as OmitId, e as PreserveJSDoc, a as Prettify, P as PrettifyDeep, c as Primitive, R as RequiredKeysOf, S as StripEmptyObjects, U as UnionToIntersection, W as WithoutEmpty } from './shared/better-auth.DTtXpZYr.cjs'; export { O as OAuth2Tokens, a as OAuth2UserInfo, b as OAuthProvider, P as ProviderOptions } from './shared/better-auth.BaMSx6K3.cjs'; import 'kysely'; import 'zod'; import 'better-sqlite3'; import 'bun:sqlite'; import 'node:sqlite'; import '@better-fetch/fetch'; import 'nanostores'; declare function capitalizeFirstLetter(str: string): string; declare const generateId: (size?: number) => string; declare class BetterAuthError extends Error { constructor(message: string, cause?: string); } declare class MissingDependencyError extends BetterAuthError { constructor(pkgName: string); } declare function createTelemetry(options: BetterAuthOptions, context?: TelemetryContext): Promise<{ publish: (event: TelemetryEvent) => Promise<void>; }>; declare function getTelemetryAuthConfig(options: BetterAuthOptions, context?: TelemetryContext): { database: string | undefined; adapter: string | undefined; emailVerification: { sendVerificationEmail: boolean; sendOnSignUp: boolean; sendOnSignIn: boolean; autoSignInAfterVerification: boolean; expiresIn: number | undefined; onEmailVerification: boolean; afterEmailVerification: boolean; }; emailAndPassword: { enabled: boolean; disableSignUp: boolean; requireEmailVerification: boolean; maxPasswordLength: number | undefined; minPasswordLength: number | undefined; sendResetPassword: boolean; resetPasswordTokenExpiresIn: number | undefined; onPasswordReset: boolean; password: { hash: boolean; verify: boolean; }; autoSignIn: boolean; revokeSessionsOnPasswordReset: boolean; }; socialProviders: ({ id?: undefined; mapProfileToUser?: undefined; disableDefaultScope?: undefined; disableIdTokenSignIn?: undefined; disableImplicitSignUp?: undefined; disableSignUp?: undefined; getUserInfo?: undefined; overrideUserInfoOnSignIn?: undefined; prompt?: undefined; verifyIdToken?: undefined; scope?: undefined; refreshAccessToken?: undefined; } | { id: string; mapProfileToUser: boolean; disableDefaultScope: boolean; disableIdTokenSignIn: boolean; disableImplicitSignUp: boolean | undefined; disableSignUp: boolean | undefined; getUserInfo: boolean; overrideUserInfoOnSignIn: boolean; prompt: "select_account" | "consent" | "login" | "none" | "select_account consent" | undefined; verifyIdToken: boolean; scope: string[] | undefined; refreshAccessToken: boolean; })[]; plugins: string[] | undefined; user: { modelName: string | undefined; fields: Partial<Record<"name" | "emailVerified" | "email" | "image" | "createdAt" | "updatedAt", string>> | undefined; additionalFields: { [key: string]: FieldAttribute; } | undefined; changeEmail: { enabled: boolean | undefined; sendChangeEmailVerification: boolean; }; }; verification: { modelName: string | undefined; disableCleanup: boolean | undefined; fields: Partial<Record<"createdAt" | "updatedAt" | "expiresAt" | "value" | "identifier", string>> | undefined; }; session: { modelName: string | undefined; additionalFields: { [key: string]: FieldAttribute; } | undefined; cookieCache: { enabled: boolean | undefined; maxAge: number | undefined; }; disableSessionRefresh: boolean | undefined; expiresIn: number | undefined; fields: Partial<Record<"token" | "createdAt" | "updatedAt" | "userId" | "expiresAt" | "ipAddress" | "userAgent", string>> | undefined; freshAge: number | undefined; preserveSessionInDatabase: boolean | undefined; storeSessionInDatabase: boolean | undefined; updateAge: number | undefined; }; account: { modelName: string | undefined; fields: Partial<Record<"scope" | "accessToken" | "refreshToken" | "accessTokenExpiresAt" | "refreshTokenExpiresAt" | "idToken" | "createdAt" | "updatedAt" | "userId" | "providerId" | "accountId" | "password", string>> | undefined; encryptOAuthTokens: boolean | undefined; updateAccountOnSignIn: boolean | undefined; accountLinking: { enabled: boolean | undefined; trustedProviders: LiteralUnion<"apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "github" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paypal" | "email-password", string>[] | undefined; updateUserInfoOnLink: boolean | undefined; allowUnlinkingAll: boolean | undefined; }; }; hooks: { after: boolean; before: boolean; }; secondaryStorage: boolean; advanced: { cookiePrefix: boolean; cookies: boolean; crossSubDomainCookies: { domain: boolean; enabled: boolean | undefined; additionalCookies: string[] | undefined; }; database: { useNumberId: boolean; generateId: false | ((options: { model: LiteralUnion<Models, string>; size?: number; }) => string | false) | undefined; defaultFindManyLimit: number | undefined; }; useSecureCookies: boolean | undefined; ipAddress: { disableIpTracking: boolean | undefined; ipAddressHeaders: string[] | undefined; }; disableCSRFCheck: boolean | undefined; cookieAttributes: { expires: Date | undefined; secure: boolean | undefined; sameSite: "none" | "lax" | "Strict" | "Lax" | "None" | "strict" | undefined; domain: boolean; path: string | undefined; httpOnly: boolean | undefined; }; }; trustedOrigins: number | undefined; rateLimit: { storage: "database" | "memory" | "secondary-storage" | undefined; modelName: string | undefined; window: number | undefined; customStorage: boolean; enabled: boolean | undefined; max: number | undefined; }; onAPIError: { errorURL: string | undefined; onError: boolean; throw: boolean | undefined; }; logger: { disabled: boolean | undefined; level: "error" | "info" | "warn" | "debug" | undefined; log: boolean; }; databaseHooks: { user: { create: { after: boolean; before: boolean; }; update: { after: boolean; before: boolean; }; }; session: { create: { after: boolean; before: boolean; }; update: { after: boolean; before: boolean; }; }; account: { create: { after: boolean; before: boolean; }; update: { after: boolean; before: boolean; }; }; verification: { create: { after: boolean; before: boolean; }; update: { after: boolean; before: boolean; }; }; }; }; export { BetterAuthError, BetterAuthOptions, LiteralUnion, MissingDependencyError, Models, TelemetryEvent, capitalizeFirstLetter, createTelemetry, generateId, getTelemetryAuthConfig };