hylekit 1.0.3 → 1.0.5

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 (54) hide show
  1. package/README.md +126 -59
  2. package/dist/bff/index.cjs +5 -139
  3. package/dist/bff/index.cjs.map +1 -1
  4. package/dist/bff/index.d.cts +2 -1
  5. package/dist/bff/index.d.ts +2 -1
  6. package/dist/bff/index.js +5 -145
  7. package/dist/bff/index.js.map +1 -1
  8. package/dist/client/index.cjs +48 -0
  9. package/dist/client/index.cjs.map +1 -0
  10. package/dist/client/index.d.cts +1588 -0
  11. package/dist/client/index.d.ts +1588 -0
  12. package/dist/client/index.js +21 -0
  13. package/dist/client/index.js.map +1 -0
  14. package/dist/client/nextjs.cjs +4 -220
  15. package/dist/client/nextjs.cjs.map +1 -1
  16. package/dist/client/nextjs.d.cts +89 -243
  17. package/dist/client/nextjs.d.ts +89 -243
  18. package/dist/client/nextjs.js +3 -224
  19. package/dist/client/nextjs.js.map +1 -1
  20. package/dist/client/sveltekit.cjs +4 -207
  21. package/dist/client/sveltekit.cjs.map +1 -1
  22. package/dist/client/sveltekit.d.cts +89 -219
  23. package/dist/client/sveltekit.d.ts +89 -219
  24. package/dist/client/sveltekit.js +3 -211
  25. package/dist/client/sveltekit.js.map +1 -1
  26. package/dist/{index-DYW73KK3.d.cts → index-B-5TEr94.d.cts} +28 -2
  27. package/dist/{index-DYW73KK3.d.ts → index-B-5TEr94.d.ts} +28 -2
  28. package/dist/index.cjs +276 -262
  29. package/dist/index.cjs.map +1 -1
  30. package/dist/index.d.cts +110 -3272
  31. package/dist/index.d.ts +110 -3272
  32. package/dist/index.js +270 -258
  33. package/dist/index.js.map +1 -1
  34. package/dist/server/express.cjs +71 -80
  35. package/dist/server/express.cjs.map +1 -1
  36. package/dist/server/express.d.cts +18 -6
  37. package/dist/server/express.d.ts +18 -6
  38. package/dist/server/express.js +70 -86
  39. package/dist/server/express.js.map +1 -1
  40. package/dist/server/nextjs.cjs +107 -0
  41. package/dist/server/nextjs.cjs.map +1 -0
  42. package/dist/server/nextjs.d.cts +90 -0
  43. package/dist/server/nextjs.d.ts +90 -0
  44. package/dist/server/nextjs.js +82 -0
  45. package/dist/server/nextjs.js.map +1 -0
  46. package/dist/server/sveltekit.cjs +94 -0
  47. package/dist/server/sveltekit.cjs.map +1 -0
  48. package/dist/server/sveltekit.d.cts +68 -0
  49. package/dist/server/sveltekit.d.ts +68 -0
  50. package/dist/server/sveltekit.js +69 -0
  51. package/dist/server/sveltekit.js.map +1 -0
  52. package/dist/{types-GOn9sn7-.d.ts → types-Wucl0qmN.d.cts} +1 -8
  53. package/dist/{types-BHiK1JUX.d.cts → types-Wucl0qmN.d.ts} +1 -8
  54. package/package.json +22 -6
@@ -0,0 +1,21 @@
1
+ // src/client/sveltekit.ts
2
+ import { createAuthClient } from "better-auth/svelte";
3
+ var authClient = createAuthClient();
4
+ var client = authClient;
5
+ client.login = authClient.signIn;
6
+
7
+ // src/client/nextjs.ts
8
+ import { createAuthClient as createAuthClient2 } from "better-auth/react";
9
+ var authClient2 = createAuthClient2();
10
+ var client2 = authClient2;
11
+ client2.login = authClient2.signIn;
12
+
13
+ // src/client/index.ts
14
+ var client3 = {
15
+ sveltekit: client,
16
+ nextjs: client2
17
+ };
18
+ export {
19
+ client3 as client
20
+ };
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/client/sveltekit.ts","../../src/client/nextjs.ts","../../src/client/index.ts"],"sourcesContent":["import { createAuthClient } from \"better-auth/svelte\";\nexport type { SessionResult, UserInfo, SessionData } from \"./types\";\n\n// Initialize the Better Auth Client (for browser/client-side use)\nconst authClient = createAuthClient();\n\n/**\n * Client-side Auth instance.\n * Use this in your Svelte components and client-side logic.\n */\nexport const client = authClient as typeof authClient & { login: typeof authClient.signIn };\nclient.login = authClient.signIn;\n","import { createAuthClient } from \"better-auth/react\";\nexport type { SessionResult, UserInfo, SessionData } from \"./types\";\n\n// Initialize the Better Auth Client (for browser/client-side use)\nconst authClient = createAuthClient();\n\n/**\n * Client-side Auth instance.\n * Use this in your Next.js client components.\n */\nexport const client = authClient as typeof authClient & { login: typeof authClient.signIn };\nclient.login = authClient.signIn;\n","import { client as svelteKitClient } from \"./sveltekit\";\nimport { client as nextJsClient } from \"./nextjs\";\n\n// Client-side adapters (safe to use on client)\nexport const client = {\n sveltekit: svelteKitClient,\n nextjs: nextJsClient\n};\n\n// Shared types\nexport type {\n SessionResult,\n SessionData,\n UserInfo,\n Session,\n User,\n} from \"./types\";\n"],"mappings":";AAAA,SAAS,wBAAwB;AAIjC,IAAM,aAAa,iBAAiB;AAM7B,IAAM,SAAS;AACtB,OAAO,QAAQ,WAAW;;;ACX1B,SAAS,oBAAAA,yBAAwB;AAIjC,IAAMC,cAAaD,kBAAiB;AAM7B,IAAME,UAASD;AACtBC,QAAO,QAAQD,YAAW;;;ACPnB,IAAME,UAAS;AAAA,EAClB,WAAW;AAAA,EACX,QAAQA;AACZ;","names":["createAuthClient","authClient","client","client"]}
@@ -20,231 +20,15 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/client/nextjs.ts
21
21
  var nextjs_exports = {};
22
22
  __export(nextjs_exports, {
23
- client: () => client2,
24
- server: () => server
23
+ client: () => client
25
24
  });
26
25
  module.exports = __toCommonJS(nextjs_exports);
27
- var import_next_js = require("better-auth/next-js");
28
26
  var import_react = require("better-auth/react");
29
- var import_headers = require("next/headers");
30
-
31
- // src/lib/auth.ts
32
- var import_better_auth = require("better-auth");
33
- var import_drizzle = require("better-auth/adapters/drizzle");
34
-
35
- // src/lib/db.ts
36
- var import_libsql = require("drizzle-orm/libsql");
37
- var import_client = require("@libsql/client");
38
-
39
- // src/lib/schema.ts
40
- var schema_exports = {};
41
- __export(schema_exports, {
42
- account: () => account,
43
- accountRelations: () => accountRelations,
44
- session: () => session,
45
- sessionRelations: () => sessionRelations,
46
- user: () => user,
47
- userRelations: () => userRelations,
48
- verification: () => verification
49
- });
50
- var import_drizzle_orm = require("drizzle-orm");
51
- var import_sqlite_core = require("drizzle-orm/sqlite-core");
52
- var user = (0, import_sqlite_core.sqliteTable)("user", {
53
- id: (0, import_sqlite_core.text)("id").primaryKey(),
54
- name: (0, import_sqlite_core.text)("name").notNull(),
55
- email: (0, import_sqlite_core.text)("email").notNull().unique(),
56
- emailVerified: (0, import_sqlite_core.integer)("email_verified", { mode: "boolean" }).default(false).notNull(),
57
- image: (0, import_sqlite_core.text)("image"),
58
- createdAt: (0, import_sqlite_core.integer)("created_at", { mode: "timestamp_ms" }).default(import_drizzle_orm.sql`(cast(unixepoch('subsecond') * 1000 as integer))`).notNull(),
59
- updatedAt: (0, import_sqlite_core.integer)("updated_at", { mode: "timestamp_ms" }).default(import_drizzle_orm.sql`(cast(unixepoch('subsecond') * 1000 as integer))`).$onUpdate(() => /* @__PURE__ */ new Date()).notNull()
60
- });
61
- var session = (0, import_sqlite_core.sqliteTable)(
62
- "session",
63
- {
64
- id: (0, import_sqlite_core.text)("id").primaryKey(),
65
- expiresAt: (0, import_sqlite_core.integer)("expires_at", { mode: "timestamp_ms" }).notNull(),
66
- token: (0, import_sqlite_core.text)("token").notNull().unique(),
67
- createdAt: (0, import_sqlite_core.integer)("created_at", { mode: "timestamp_ms" }).default(import_drizzle_orm.sql`(cast(unixepoch('subsecond') * 1000 as integer))`).notNull(),
68
- updatedAt: (0, import_sqlite_core.integer)("updated_at", { mode: "timestamp_ms" }).$onUpdate(() => /* @__PURE__ */ new Date()).notNull(),
69
- ipAddress: (0, import_sqlite_core.text)("ip_address"),
70
- userAgent: (0, import_sqlite_core.text)("user_agent"),
71
- userId: (0, import_sqlite_core.text)("user_id").notNull().references(() => user.id, { onDelete: "cascade" })
72
- },
73
- (table) => [(0, import_sqlite_core.index)("session_userId_idx").on(table.userId)]
74
- );
75
- var account = (0, import_sqlite_core.sqliteTable)(
76
- "account",
77
- {
78
- id: (0, import_sqlite_core.text)("id").primaryKey(),
79
- accountId: (0, import_sqlite_core.text)("account_id").notNull(),
80
- providerId: (0, import_sqlite_core.text)("provider_id").notNull(),
81
- userId: (0, import_sqlite_core.text)("user_id").notNull().references(() => user.id, { onDelete: "cascade" }),
82
- accessToken: (0, import_sqlite_core.text)("access_token"),
83
- refreshToken: (0, import_sqlite_core.text)("refresh_token"),
84
- idToken: (0, import_sqlite_core.text)("id_token"),
85
- accessTokenExpiresAt: (0, import_sqlite_core.integer)("access_token_expires_at", {
86
- mode: "timestamp_ms"
87
- }),
88
- refreshTokenExpiresAt: (0, import_sqlite_core.integer)("refresh_token_expires_at", {
89
- mode: "timestamp_ms"
90
- }),
91
- scope: (0, import_sqlite_core.text)("scope"),
92
- password: (0, import_sqlite_core.text)("password"),
93
- createdAt: (0, import_sqlite_core.integer)("created_at", { mode: "timestamp_ms" }).default(import_drizzle_orm.sql`(cast(unixepoch('subsecond') * 1000 as integer))`).notNull(),
94
- updatedAt: (0, import_sqlite_core.integer)("updated_at", { mode: "timestamp_ms" }).$onUpdate(() => /* @__PURE__ */ new Date()).notNull()
95
- },
96
- (table) => [(0, import_sqlite_core.index)("account_userId_idx").on(table.userId)]
97
- );
98
- var verification = (0, import_sqlite_core.sqliteTable)(
99
- "verification",
100
- {
101
- id: (0, import_sqlite_core.text)("id").primaryKey(),
102
- identifier: (0, import_sqlite_core.text)("identifier").notNull(),
103
- value: (0, import_sqlite_core.text)("value").notNull(),
104
- expiresAt: (0, import_sqlite_core.integer)("expires_at", { mode: "timestamp_ms" }).notNull(),
105
- createdAt: (0, import_sqlite_core.integer)("created_at", { mode: "timestamp_ms" }).default(import_drizzle_orm.sql`(cast(unixepoch('subsecond') * 1000 as integer))`).notNull(),
106
- updatedAt: (0, import_sqlite_core.integer)("updated_at", { mode: "timestamp_ms" }).default(import_drizzle_orm.sql`(cast(unixepoch('subsecond') * 1000 as integer))`).$onUpdate(() => /* @__PURE__ */ new Date()).notNull()
107
- },
108
- (table) => [(0, import_sqlite_core.index)("verification_identifier_idx").on(table.identifier)]
109
- );
110
- var userRelations = (0, import_drizzle_orm.relations)(user, ({ many }) => ({
111
- sessions: many(session),
112
- accounts: many(account)
113
- }));
114
- var sessionRelations = (0, import_drizzle_orm.relations)(session, ({ one }) => ({
115
- user: one(user, {
116
- fields: [session.userId],
117
- references: [user.id]
118
- })
119
- }));
120
- var accountRelations = (0, import_drizzle_orm.relations)(account, ({ one }) => ({
121
- user: one(user, {
122
- fields: [account.userId],
123
- references: [user.id]
124
- })
125
- }));
126
-
127
- // src/lib/db.ts
128
- var client = (0, import_client.createClient)({
129
- url: process.env.HYLE_DATABASE_URL,
130
- authToken: process.env.HYLE_DATABASE_AUTH_TOKEN
131
- });
132
- var db = (0, import_libsql.drizzle)(client, { schema: schema_exports });
133
-
134
- // src/lib/auth.ts
135
- var auth = (0, import_better_auth.betterAuth)({
136
- database: (0, import_drizzle.drizzleAdapter)(db, {
137
- provider: "sqlite",
138
- schema: {
139
- ...schema_exports
140
- }
141
- }),
142
- baseURL: process.env.BETTER_AUTH_URL || process.env.PUBLIC_APP_URL || process.env.NEXT_PUBLIC_APP_URL,
143
- secret: process.env.BETTER_AUTH_SECRET,
144
- trustedOrigins: process.env.TRUSTED_ORIGINS ? process.env.TRUSTED_ORIGINS.split(",") : void 0,
145
- socialProviders: {
146
- google: {
147
- clientId: process.env.GOOGLE_CLIENT_ID || "",
148
- clientSecret: process.env.GOOGLE_CLIENT_SECRET || ""
149
- }
150
- },
151
- session: {
152
- expiresIn: 60 * 60 * 24 * 7,
153
- // 7 days
154
- updateAge: 60 * 60 * 24,
155
- // Update session every 24 hours
156
- cookieCache: {
157
- enabled: true,
158
- maxAge: 60 * 5
159
- // 5 minutes
160
- }
161
- }
162
- });
163
-
164
- // src/client/nextjs.ts
165
- var handler = (0, import_next_js.toNextJsHandler)(auth);
166
27
  var authClient = (0, import_react.createAuthClient)();
167
- var client2 = {
168
- ...authClient,
169
- /**
170
- * Alias for signIn.
171
- */
172
- login: authClient.signIn
173
- };
174
- var server = {
175
- /**
176
- * The underlying BetterAuth instance.
177
- */
178
- auth,
179
- /**
180
- * Next.js route handler for auth routes.
181
- * Place this in `app/api/auth/[...auth]/route.ts`
182
- */
183
- handler: {
184
- GET: handler,
185
- POST: handler
186
- },
187
- /**
188
- * Get session from current request headers.
189
- * Use in Server Components or Route Handlers.
190
- */
191
- getSession: async () => {
192
- const requestHeaders = await (0, import_headers.headers)();
193
- return auth.api.getSession({
194
- headers: requestHeaders
195
- });
196
- },
197
- /**
198
- * Get session from specific headers.
199
- * Use when you have direct access to headers.
200
- */
201
- getSessionFromHeaders: async (requestHeaders) => {
202
- return auth.api.getSession({
203
- headers: requestHeaders
204
- });
205
- },
206
- /**
207
- * Check if user is authenticated.
208
- * Use in Server Components.
209
- */
210
- isAuthenticated: async () => {
211
- const requestHeaders = await (0, import_headers.headers)();
212
- const session2 = await auth.api.getSession({
213
- headers: requestHeaders
214
- });
215
- return session2 !== null;
216
- },
217
- /**
218
- * Get the current user or null.
219
- * Convenience method for Server Components.
220
- */
221
- getUser: async () => {
222
- const requestHeaders = await (0, import_headers.headers)();
223
- const session2 = await auth.api.getSession({
224
- headers: requestHeaders
225
- });
226
- return session2?.user ?? null;
227
- },
228
- /**
229
- * Wraps a function to ensure the user is authenticated before execution.
230
- * Injects the user, session, and db into the first argument.
231
- */
232
- makeAuthenticatedCall: (fn) => {
233
- return async (...args) => {
234
- const requestHeaders = await (0, import_headers.headers)();
235
- const session2 = await auth.api.getSession({
236
- headers: requestHeaders
237
- });
238
- if (!session2) {
239
- throw new Error("Unauthorized");
240
- }
241
- return fn({ user: session2.user, session: session2.session, db }, ...args);
242
- };
243
- }
244
- };
28
+ var client = authClient;
29
+ client.login = authClient.signIn;
245
30
  // Annotate the CommonJS export names for ESM import in node:
246
31
  0 && (module.exports = {
247
- client,
248
- server
32
+ client
249
33
  });
250
34
  //# sourceMappingURL=nextjs.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/client/nextjs.ts","../../src/lib/auth.ts","../../src/lib/db.ts","../../src/lib/schema.ts"],"sourcesContent":["import { toNextJsHandler } from \"better-auth/next-js\";\nimport { createAuthClient } from \"better-auth/react\";\nimport { headers } from \"next/headers\";\nimport { auth as betterAuthInstance } from \"../lib/auth\";\nimport { db } from \"../lib/db\";\nimport type { SessionResult, UserInfo, SessionData } from \"./types\";\n\nexport type { SessionResult, UserInfo, SessionData } from \"./types\";\n\nconst handler = toNextJsHandler(betterAuthInstance);\n\n// Initialize the Better Auth Client\nconst authClient = createAuthClient();\n\n/**\n * Client-side Auth instance.\n * @remarks\n * This export might not be usable in Next.js Client Components directly if this file\n * also imports server-only modules (like next/headers). \n * Consider creating a separate client-only file if separation is needed.\n */\nexport const client = {\n ...authClient,\n /**\n * Alias for signIn.\n */\n login: authClient.signIn\n};\n\n/**\n * Next.js Server Auth instance (App Router).\n */\nexport const server = {\n /**\n * The underlying BetterAuth instance.\n */\n auth: betterAuthInstance,\n\n /**\n * Next.js route handler for auth routes.\n * Place this in `app/api/auth/[...auth]/route.ts`\n */\n handler: {\n GET: handler,\n POST: handler,\n },\n\n /**\n * Get session from current request headers.\n * Use in Server Components or Route Handlers.\n */\n getSession: async (): Promise<SessionResult> => {\n const requestHeaders = await headers();\n return betterAuthInstance.api.getSession({\n headers: requestHeaders,\n });\n },\n\n /**\n * Get session from specific headers.\n * Use when you have direct access to headers.\n */\n getSessionFromHeaders: async (requestHeaders: Headers): Promise<SessionResult> => {\n return betterAuthInstance.api.getSession({\n headers: requestHeaders,\n });\n },\n\n /**\n * Check if user is authenticated.\n * Use in Server Components.\n */\n isAuthenticated: async (): Promise<boolean> => {\n const requestHeaders = await headers();\n const session = await betterAuthInstance.api.getSession({\n headers: requestHeaders,\n });\n return session !== null;\n },\n\n /**\n * Get the current user or null.\n * Convenience method for Server Components.\n */\n getUser: async () => {\n const requestHeaders = await headers();\n const session = await betterAuthInstance.api.getSession({\n headers: requestHeaders,\n });\n return session?.user ?? null;\n },\n\n /**\n * Wraps a function to ensure the user is authenticated before execution.\n * Injects the user, session, and db into the first argument.\n */\n makeAuthenticatedCall: <TArgs extends any[], TReturn>(\n fn: (ctx: { user: SessionData['user']; session: SessionData['session']; db: typeof db }, ...args: TArgs) => Promise<TReturn>\n ) => {\n return async (...args: TArgs): Promise<TReturn> => {\n const requestHeaders = await headers();\n const session = await betterAuthInstance.api.getSession({\n headers: requestHeaders,\n });\n if (!session) {\n throw new Error(\"Unauthorized\");\n }\n return fn({ user: session.user, session: session.session, db }, ...args);\n }\n }\n};\n","import { betterAuth } from \"better-auth\";\nimport { drizzleAdapter } from \"better-auth/adapters/drizzle\";\nimport { db } from \"./db\";\nimport * as schema from \"./schema\";\n\nexport const auth = betterAuth({\n database: drizzleAdapter(db, {\n provider: \"sqlite\",\n schema: {\n ...schema\n }\n }),\n baseURL: process.env.BETTER_AUTH_URL || process.env.PUBLIC_APP_URL || process.env.NEXT_PUBLIC_APP_URL,\n secret: process.env.BETTER_AUTH_SECRET,\n trustedOrigins: process.env.TRUSTED_ORIGINS ? process.env.TRUSTED_ORIGINS.split(\",\") : undefined,\n socialProviders: {\n google: {\n clientId: process.env.GOOGLE_CLIENT_ID || \"\",\n clientSecret: process.env.GOOGLE_CLIENT_SECRET || \"\",\n },\n },\n session: {\n expiresIn: 60 * 60 * 24 * 7, // 7 days\n updateAge: 60 * 60 * 24, // Update session every 24 hours\n cookieCache: {\n enabled: true,\n maxAge: 60 * 5, // 5 minutes\n },\n },\n});\n","import { drizzle } from \"drizzle-orm/libsql\";\nimport { createClient } from \"@libsql/client\";\nimport * as schema from \"./schema\";\n\nconst client = createClient({\n url: process.env.HYLE_DATABASE_URL!,\n authToken: process.env.HYLE_DATABASE_AUTH_TOKEN!,\n});\n\nexport const db = drizzle(client, { schema });\n","import { relations, sql } from \"drizzle-orm\";\nimport { sqliteTable, text, integer, index } from \"drizzle-orm/sqlite-core\";\n\nexport const user = sqliteTable(\"user\", {\n id: text(\"id\").primaryKey(),\n name: text(\"name\").notNull(),\n email: text(\"email\").notNull().unique(),\n emailVerified: integer(\"email_verified\", { mode: \"boolean\" })\n .default(false)\n .notNull(),\n image: text(\"image\"),\n createdAt: integer(\"created_at\", { mode: \"timestamp_ms\" })\n .default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`)\n .notNull(),\n updatedAt: integer(\"updated_at\", { mode: \"timestamp_ms\" })\n .default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`)\n .$onUpdate(() => /* @__PURE__ */ new Date())\n .notNull(),\n});\n\nexport const session = sqliteTable(\n \"session\",\n {\n id: text(\"id\").primaryKey(),\n expiresAt: integer(\"expires_at\", { mode: \"timestamp_ms\" }).notNull(),\n token: text(\"token\").notNull().unique(),\n createdAt: integer(\"created_at\", { mode: \"timestamp_ms\" })\n .default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`)\n .notNull(),\n updatedAt: integer(\"updated_at\", { mode: \"timestamp_ms\" })\n .$onUpdate(() => /* @__PURE__ */ new Date())\n .notNull(),\n ipAddress: text(\"ip_address\"),\n userAgent: text(\"user_agent\"),\n userId: text(\"user_id\")\n .notNull()\n .references(() => user.id, { onDelete: \"cascade\" }),\n },\n (table) => [index(\"session_userId_idx\").on(table.userId)],\n);\n\nexport const account = sqliteTable(\n \"account\",\n {\n id: text(\"id\").primaryKey(),\n accountId: text(\"account_id\").notNull(),\n providerId: text(\"provider_id\").notNull(),\n userId: text(\"user_id\")\n .notNull()\n .references(() => user.id, { onDelete: \"cascade\" }),\n accessToken: text(\"access_token\"),\n refreshToken: text(\"refresh_token\"),\n idToken: text(\"id_token\"),\n accessTokenExpiresAt: integer(\"access_token_expires_at\", {\n mode: \"timestamp_ms\",\n }),\n refreshTokenExpiresAt: integer(\"refresh_token_expires_at\", {\n mode: \"timestamp_ms\",\n }),\n scope: text(\"scope\"),\n password: text(\"password\"),\n createdAt: integer(\"created_at\", { mode: \"timestamp_ms\" })\n .default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`)\n .notNull(),\n updatedAt: integer(\"updated_at\", { mode: \"timestamp_ms\" })\n .$onUpdate(() => /* @__PURE__ */ new Date())\n .notNull(),\n },\n (table) => [index(\"account_userId_idx\").on(table.userId)],\n);\n\nexport const verification = sqliteTable(\n \"verification\",\n {\n id: text(\"id\").primaryKey(),\n identifier: text(\"identifier\").notNull(),\n value: text(\"value\").notNull(),\n expiresAt: integer(\"expires_at\", { mode: \"timestamp_ms\" }).notNull(),\n createdAt: integer(\"created_at\", { mode: \"timestamp_ms\" })\n .default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`)\n .notNull(),\n updatedAt: integer(\"updated_at\", { mode: \"timestamp_ms\" })\n .default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`)\n .$onUpdate(() => /* @__PURE__ */ new Date())\n .notNull(),\n },\n (table) => [index(\"verification_identifier_idx\").on(table.identifier)],\n);\n\nexport const userRelations = relations(user, ({ many }) => ({\n sessions: many(session),\n accounts: many(account),\n}));\n\nexport const sessionRelations = relations(session, ({ one }) => ({\n user: one(user, {\n fields: [session.userId],\n references: [user.id],\n }),\n}));\n\nexport const accountRelations = relations(account, ({ one }) => ({\n user: one(user, {\n fields: [account.userId],\n references: [user.id],\n }),\n}));\n"],"mappings":"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","names":["client","client","session"]}
1
+ {"version":3,"sources":["../../src/client/nextjs.ts"],"sourcesContent":["import { createAuthClient } from \"better-auth/react\";\nexport type { SessionResult, UserInfo, SessionData } from \"./types\";\n\n// Initialize the Better Auth Client (for browser/client-side use)\nconst authClient = createAuthClient();\n\n/**\n * Client-side Auth instance.\n * Use this in your Next.js client components.\n */\nexport const client = authClient as typeof authClient & { login: typeof authClient.signIn };\nclient.login = authClient.signIn;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAiC;AAIjC,IAAM,iBAAa,+BAAiB;AAM7B,IAAM,SAAS;AACtB,OAAO,QAAQ,WAAW;","names":[]}