better-auth-studio 1.1.1 → 1.1.2-beta.10

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 (44) hide show
  1. package/README.md +3 -54
  2. package/dist/cli.js +0 -0
  3. package/dist/core/handler.js +1 -0
  4. package/dist/core/handler.js.map +1 -1
  5. package/dist/providers/events/helpers.d.ts.map +1 -1
  6. package/dist/providers/events/helpers.js +312 -82
  7. package/dist/providers/events/helpers.js.map +1 -1
  8. package/dist/public/assets/main-DBxFb1nc.js +1194 -0
  9. package/dist/public/assets/main-w2bJSKlF.css +1 -0
  10. package/dist/public/index.html +2 -2
  11. package/dist/routes/api-router.d.ts +2 -0
  12. package/dist/routes/api-router.d.ts.map +1 -1
  13. package/dist/routes/api-router.js.map +1 -1
  14. package/dist/routes.d.ts +3 -1
  15. package/dist/routes.d.ts.map +1 -1
  16. package/dist/routes.js +245 -5
  17. package/dist/routes.js.map +1 -1
  18. package/dist/studio.d.ts.map +1 -1
  19. package/dist/studio.js +0 -1
  20. package/dist/studio.js.map +1 -1
  21. package/dist/types/events.d.ts +1 -0
  22. package/dist/types/events.d.ts.map +1 -1
  23. package/dist/types/events.js.map +1 -1
  24. package/dist/types/handler.d.ts +11 -1
  25. package/dist/types/handler.d.ts.map +1 -1
  26. package/dist/types/handler.js.map +1 -1
  27. package/dist/utils/event-ingestion.d.ts.map +1 -1
  28. package/dist/utils/event-ingestion.js +22 -0
  29. package/dist/utils/event-ingestion.js.map +1 -1
  30. package/dist/utils/hook-injector.d.ts.map +1 -1
  31. package/dist/utils/hook-injector.js +351 -0
  32. package/dist/utils/hook-injector.js.map +1 -1
  33. package/dist/utils/session.d.ts +0 -1
  34. package/dist/utils/session.d.ts.map +1 -1
  35. package/dist/utils/session.js +10 -3
  36. package/dist/utils/session.js.map +1 -1
  37. package/package.json +28 -36
  38. package/public/assets/main-DBxFb1nc.js +1194 -0
  39. package/public/assets/main-w2bJSKlF.css +1 -0
  40. package/public/index.html +2 -2
  41. package/dist/public/assets/main-BZiP05W2.css +0 -1
  42. package/dist/public/assets/main-DTzHaNNV.js +0 -1150
  43. package/public/assets/main-BZiP05W2.css +0 -1
  44. package/public/assets/main-DTzHaNNV.js +0 -1150
package/README.md CHANGED
@@ -10,58 +10,7 @@ A web-based studio interface for managing Better Auth applications. Better Auth
10
10
  ## Preview
11
11
  A sneak peek of the studio dashboard and management interface.
12
12
 
13
- <div align="center">
14
- <table>
15
- <tr>
16
- <td width="50%">
17
- <img src="https://gk6bju9ndq.ufs.sh/f/M5pOhOFFvHQJI57TKc4BY9GjOlTtSmoRXCZJ2D50IWsLq6vd" alt="Better Auth Studio Preview 0" width="100%" />
18
- </td>
19
- <td width="50%">
20
- <img src="https://gk6bju9ndq.ufs.sh/f/M5pOhOFFvHQJ4L7IilBo7ItO3420CBLpvnPJlA6j5zaFYZbG" alt="Better Auth Studio Preview 4" width="100%" />
21
- </td>
22
- </tr>
23
- <tr>
24
- <td width="50%">
25
- <img src="https://gk6bju9ndq.ufs.sh/f/M5pOhOFFvHQJdiXpY6GJ15hUVAwrQyozdc6PpIXfSi7GWkeR" alt="Better Auth Studio Preview 2" width="100%" />
26
- </td>
27
- <td width="50%">
28
- <img src="https://gk6bju9ndq.ufs.sh/f/M5pOhOFFvHQJNAk2JU1Cviwfb1ltHVgPJF9BWxzE2m60rQaK" alt="Better Auth Studio Preview 6" width="100%" />
29
- </td>
30
- </tr>
31
- <tr>
32
- <td width="50%">
33
- <img src="https://gk6bju9ndq.ufs.sh/f/M5pOhOFFvHQJgSyVwl0dZe8UGVJLkR74CQXb9m1wzKIqhTME" alt="Better Auth Studio Preview 11" width="100%" />
34
- </td>
35
- <td width="50%">
36
- <img src="https://gk6bju9ndq.ufs.sh/f/M5pOhOFFvHQJODyqbs8p2EKCNef8H9XqPm4cIwjaQVRUAFg7" alt="Better Auth Studio Preview 8" width="100%" />
37
- </td>
38
- </tr>
39
- <tr>
40
- <td width="50%">
41
- <img src="https://gk6bju9ndq.ufs.sh/f/M5pOhOFFvHQJ2syhnQSdgJ9w13MfvHiGYPs07AkpWQSXm6Nj" alt="Better Auth Studio Preview 12" width="100%" />
42
- </td>
43
- <td width="50%">
44
- <img src="https://gk6bju9ndq.ufs.sh/f/M5pOhOFFvHQJcW7cwWXSlBtbRHTF15ujAQLPx3VpcKgMOz08" alt="Better Auth Studio Preview 3" width="100%" />
45
- </td>
46
- </tr>
47
- <tr>
48
- <td width="50%">
49
- <img src="https://gk6bju9ndq.ufs.sh/f/M5pOhOFFvHQJnAGpd3rzcKd2Hu4wkD0jJbApf78rC1VgZORT" alt="Better Auth Studio Preview 10" width="100%" />
50
- </td>
51
- <td width="50%">
52
- <img src="https://gk6bju9ndq.ufs.sh/f/M5pOhOFFvHQJK6lXYfaxUOknshdjxpSgwV6mq7DtH3aMZXWK" alt="Better Auth Studio Preview 13" width="100%" />
53
- </td>
54
- </tr>
55
- <tr>
56
- <td width="50%">
57
- <img src="https://gk6bju9ndq.ufs.sh/f/M5pOhOFFvHQJhZFdrWmjbSvOe01IQl7r68LUfVKuFcNqAydt" alt="Better Auth Studio Preview 14" width="100%" />
58
- </td>
59
- <td width="50%">
60
- <img src="https://gk6bju9ndq.ufs.sh/f/M5pOhOFFvHQJwnJFq9htT259fPAQY0eIdDmn7O4xVlGaCjZR" alt="Better Auth Studio Preview 5" width="100%" />
61
- </td>
62
- </tr>
63
- </table>
64
- </div>
13
+ Demo app will be up soon.
65
14
 
66
15
  ## 🚀 Quick Start
67
16
 
@@ -327,10 +276,10 @@ export default config;
327
276
 
328
277
  The init command automatically creates `app/api/studio/[[...path]]/route.ts`:
329
278
  ```typescript
330
- import { createStudioHandler } from "better-auth-studio/nextjs";
279
+ import { betterAuthStudio } from "better-auth-studio/nextjs";
331
280
  import studioConfig from "@/studio.config";
332
281
 
333
- const handler = createStudioHandler(studioConfig);
282
+ const handler = betterAuthStudio(studioConfig);
334
283
 
335
284
  export {
336
285
  handler as GET,
package/dist/cli.js CHANGED
File without changes
@@ -241,6 +241,7 @@ async function handleApiRoute(request, path, config) {
241
241
  auth: config.auth,
242
242
  basePath: config.basePath || '/api/studio',
243
243
  accessConfig: config.access,
244
+ studioConfig: config,
244
245
  });
245
246
  const headers = { 'Content-Type': 'application/json' };
246
247
  if (result.cookies && result.cookies.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/core/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/core/handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/providers/events/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAET,sBAAsB,EAGvB,MAAM,uBAAuB,CAAC;AAE/B,wBAAgB,sBAAsB,CAAC,OAAO,EAAE;IAC9C,MAAM,EAAE,GAAG,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;CAChD,GAAG,sBAAsB,CAskBzB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,MAAM,EAAE,GAAG,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,sBAAsB,CAkUzB;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE;IAChD,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,sBAAsB,CA0WzB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,KAAK,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,GAAG,CAAC;CACvC,GAAG,sBAAsB,CAsBzB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,sBAAsB,CA6KzB"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/providers/events/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAET,sBAAsB,EAGvB,MAAM,uBAAuB,CAAC;AAE/B,wBAAgB,sBAAsB,CAAC,OAAO,EAAE;IAC9C,MAAM,EAAE,GAAG,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;CAChD,GAAG,sBAAsB,CA2kBzB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,MAAM,EAAE,GAAG,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,sBAAsB,CAuUzB;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE;IAChD,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,sBAAsB,CA8WzB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,KAAK,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,GAAG,CAAC;CACvC,GAAG,sBAAsB,CAsBzB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,sBAAsB,CA0ZzB"}
@@ -376,7 +376,7 @@ export function createPostgresProvider(options) {
376
376
  }
377
377
  },
378
378
  async query(options) {
379
- const { limit = 20, after, sort = 'desc', type, userId } = options;
379
+ const { limit = 20, after, sort = 'desc', type, userId, since } = options;
380
380
  let queryFn;
381
381
  if (client.$executeRaw) {
382
382
  // Prisma client
@@ -467,6 +467,10 @@ export function createPostgresProvider(options) {
467
467
  whereClauses.push(`user_id = $${paramIndex++}`);
468
468
  params.push(userId);
469
469
  }
470
+ if (since) {
471
+ whereClauses.push(`timestamp >= $${paramIndex++}`);
472
+ params.push(since instanceof Date ? since.toISOString() : since);
473
+ }
470
474
  const whereClause = whereClauses.length > 0 ? `WHERE ${whereClauses.join(' AND ')}` : '';
471
475
  const orderDirection = sort === 'desc' ? 'DESC' : 'ASC';
472
476
  const query = `
@@ -694,7 +698,7 @@ export function createSqliteProvider(options) {
694
698
  }
695
699
  },
696
700
  async query(options) {
697
- const { limit = 20, after, sort = 'desc', type, userId } = options;
701
+ const { limit = 20, after, sort = 'desc', type, userId, since } = options;
698
702
  await ensureTableSync();
699
703
  try {
700
704
  let query = `SELECT * FROM ${tableName} WHERE 1=1`;
@@ -707,6 +711,10 @@ export function createSqliteProvider(options) {
707
711
  query += ` AND user_id = ?`;
708
712
  params.push(userId);
709
713
  }
714
+ if (since) {
715
+ query += ` AND timestamp >= ?`;
716
+ params.push(since instanceof Date ? since.toISOString() : since);
717
+ }
710
718
  if (after) {
711
719
  query += ` AND id > ?`;
712
720
  params.push(after);
@@ -882,7 +890,7 @@ export function createClickHouseProvider(options) {
882
890
  await ingestBatchFn(events);
883
891
  },
884
892
  async query(options) {
885
- const { limit = 20, after, sort = 'desc', type, userId } = options;
893
+ const { limit = 20, after, sort = 'desc', type, userId, since } = options;
886
894
  const tableFullName = database ? `${database}.${table}` : table;
887
895
  try {
888
896
  const checkTableQuery = `EXISTS TABLE ${tableFullName}`;
@@ -1011,6 +1019,10 @@ export function createClickHouseProvider(options) {
1011
1019
  if (userId) {
1012
1020
  whereClauses.push(`user_id = '${String(userId).replace(/'/g, "''")}'`);
1013
1021
  }
1022
+ if (since) {
1023
+ const sinceDate = since instanceof Date ? since : new Date(since);
1024
+ whereClauses.push(`timestamp >= '${sinceDate.toISOString().replace(/'/g, "''")}'`);
1025
+ }
1014
1026
  const whereClause = whereClauses.length > 0 ? `WHERE ${whereClauses.join(' AND ')}` : '';
1015
1027
  const orderDirection = sort === 'desc' ? 'DESC' : 'ASC';
1016
1028
  let query = `
@@ -1131,46 +1143,89 @@ export function createHttpProvider(options) {
1131
1143
  }
1132
1144
  export function createStorageProvider(options) {
1133
1145
  const { adapter, tableName = 'auth_events' } = options;
1146
+ let tableEnsured = false;
1147
+ let tableEnsuringPromise = null;
1134
1148
  const ensureTable = async () => {
1135
1149
  if (!adapter)
1136
1150
  return;
1137
- try {
1138
- if (adapter.findMany) {
1139
- await adapter.findMany({
1140
- model: tableName,
1141
- limit: 1,
1142
- });
1143
- return;
1151
+ if (tableEnsured)
1152
+ return;
1153
+ if (tableEnsuringPromise)
1154
+ return tableEnsuringPromise;
1155
+ tableEnsuringPromise = (async () => {
1156
+ try {
1157
+ if (adapter.findMany) {
1158
+ // Try to query the table to see if it exists
1159
+ await adapter.findMany({
1160
+ model: tableName,
1161
+ limit: 1,
1162
+ });
1163
+ tableEnsured = true;
1164
+ return;
1165
+ }
1144
1166
  }
1145
- }
1146
- catch (error) {
1147
- console.warn(`Table ${tableName} may not exist. Please create it manually or run migrations.`);
1148
- console.warn('SQL schema for reference:');
1149
- console.warn(`
1150
- CREATE TABLE IF NOT EXISTS ${tableName} (
1151
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
1152
- type VARCHAR(100) NOT NULL,
1153
- timestamp TIMESTAMPTZ NOT NULL DEFAULT NOW(),
1154
- status VARCHAR(20) NOT NULL DEFAULT 'success',
1155
- user_id VARCHAR(255),
1156
- session_id VARCHAR(255),
1157
- organization_id VARCHAR(255),
1158
- metadata JSONB DEFAULT '{}',
1159
- ip_address INET,
1160
- user_agent TEXT,
1161
- source VARCHAR(50) DEFAULT 'app',
1162
- display_message TEXT,
1163
- display_severity VARCHAR(20),
1164
- created_at TIMESTAMPTZ DEFAULT NOW()
1165
- );
1166
-
1167
- CREATE INDEX IF NOT EXISTS idx_${tableName}_user_id ON ${tableName}(user_id);
1168
- CREATE INDEX IF NOT EXISTS idx_${tableName}_type ON ${tableName}(type);
1169
- CREATE INDEX IF NOT EXISTS idx_${tableName}_timestamp ON ${tableName}(timestamp DESC);
1170
- `);
1171
- }
1167
+ catch (error) {
1168
+ // Table doesn't exist - try to create it if adapter supports raw SQL
1169
+ if (error?.message?.includes('not found in schema') ||
1170
+ error?.message?.includes('Model') ||
1171
+ error?.code === 'P2025' ||
1172
+ error?.code === '42P01') {
1173
+ // Try to create table using raw SQL if adapter supports it
1174
+ if (adapter.executeRaw || adapter.$executeRaw || adapter.queryRaw) {
1175
+ try {
1176
+ const executeRaw = adapter.executeRaw || adapter.$executeRaw || adapter.queryRaw;
1177
+ const createTableQuery = `
1178
+ CREATE TABLE IF NOT EXISTS ${tableName} (
1179
+ id TEXT PRIMARY KEY,
1180
+ type TEXT NOT NULL,
1181
+ timestamp TEXT NOT NULL DEFAULT (datetime('now')),
1182
+ status TEXT NOT NULL DEFAULT 'success',
1183
+ user_id TEXT,
1184
+ session_id TEXT,
1185
+ organization_id TEXT,
1186
+ metadata TEXT DEFAULT '{}',
1187
+ ip_address TEXT,
1188
+ user_agent TEXT,
1189
+ source TEXT DEFAULT 'app',
1190
+ display_message TEXT,
1191
+ display_severity TEXT,
1192
+ created_at TEXT DEFAULT (datetime('now'))
1193
+ );
1194
+ `;
1195
+ await executeRaw(createTableQuery);
1196
+ // Create indexes
1197
+ const indexQueries = [
1198
+ `CREATE INDEX IF NOT EXISTS idx_${tableName}_user_id ON ${tableName}(user_id)`,
1199
+ `CREATE INDEX IF NOT EXISTS idx_${tableName}_type ON ${tableName}(type)`,
1200
+ `CREATE INDEX IF NOT EXISTS idx_${tableName}_timestamp ON ${tableName}(timestamp DESC)`,
1201
+ ];
1202
+ for (const indexQuery of indexQueries) {
1203
+ try {
1204
+ await executeRaw(indexQuery);
1205
+ }
1206
+ catch {
1207
+ // Index might already exist
1208
+ }
1209
+ }
1210
+ tableEnsured = true;
1211
+ return;
1212
+ }
1213
+ catch (createError) {
1214
+ // If we can't create the table, that's okay - it might need to be created manually
1215
+ console.warn(`Table ${tableName} may not exist. Please create it manually or run migrations.`);
1216
+ }
1217
+ }
1218
+ else {
1219
+ console.warn(`Table ${tableName} may not exist. Please create it manually or run migrations.`);
1220
+ }
1221
+ }
1222
+ }
1223
+ finally {
1224
+ tableEnsuringPromise = null;
1225
+ }
1226
+ })();
1227
+ return tableEnsuringPromise;
1172
1228
  };
1173
- ensureTable().catch(console.error);
1174
1229
  return {
1175
1230
  async ingest(event) {
1176
1231
  if (adapter.create) {
@@ -1215,6 +1270,8 @@ CREATE INDEX IF NOT EXISTS idx_${tableName}_timestamp ON ${tableName}(timestamp
1215
1270
  }
1216
1271
  },
1217
1272
  async ingestBatch(events) {
1273
+ // Ensure table exists before ingesting
1274
+ await ensureTable();
1218
1275
  if (adapter.createMany) {
1219
1276
  await adapter.createMany({
1220
1277
  model: tableName,
@@ -1240,54 +1297,227 @@ CREATE INDEX IF NOT EXISTS idx_${tableName}_timestamp ON ${tableName}(timestamp
1240
1297
  }
1241
1298
  },
1242
1299
  async query(options) {
1243
- const { limit = 20, after, sort = 'desc', type, userId } = options;
1244
- if (!adapter || !adapter.findMany) {
1245
- throw new Error('Adapter does not support findMany');
1246
- }
1247
- const where = [];
1248
- if (after) {
1249
- if (sort === 'desc') {
1250
- where.push({ field: 'id', operator: '<', value: after });
1300
+ const { limit = 20, after, sort = 'desc', type, userId, since } = options;
1301
+ // Ensure table exists before querying
1302
+ await ensureTable();
1303
+ // First, try findMany (normal path)
1304
+ if (adapter && adapter.findMany) {
1305
+ try {
1306
+ const where = [];
1307
+ if (after) {
1308
+ if (sort === 'desc') {
1309
+ where.push({ field: 'id', operator: '<', value: after });
1310
+ }
1311
+ else {
1312
+ where.push({ field: 'id', operator: '>', value: after });
1313
+ }
1314
+ }
1315
+ if (type) {
1316
+ where.push({ field: 'type', value: type });
1317
+ }
1318
+ if (userId) {
1319
+ where.push({ field: 'userId', value: userId });
1320
+ }
1321
+ if (since) {
1322
+ const sinceDate = since instanceof Date ? since : new Date(since);
1323
+ where.push({ field: 'timestamp', operator: '>=', value: sinceDate });
1324
+ }
1325
+ const events = await adapter.findMany({
1326
+ model: tableName,
1327
+ where,
1328
+ orderBy: [{ field: 'timestamp', direction: sort === 'desc' ? 'desc' : 'asc' }],
1329
+ limit: limit + 1, // Get one extra to check hasMore
1330
+ });
1331
+ const hasMore = events.length > limit;
1332
+ const paginatedEvents = events.slice(0, limit).map((event) => ({
1333
+ id: event.id,
1334
+ type: event.type,
1335
+ timestamp: new Date(event.timestamp || event.createdAt),
1336
+ status: event.status || 'success',
1337
+ userId: event.userId || event.user_id,
1338
+ sessionId: event.sessionId || event.session_id,
1339
+ organizationId: event.organizationId || event.organization_id,
1340
+ metadata: typeof event.metadata === 'string'
1341
+ ? JSON.parse(event.metadata)
1342
+ : event.metadata || {},
1343
+ ipAddress: event.ipAddress || event.ip_address,
1344
+ userAgent: event.userAgent || event.user_agent,
1345
+ source: event.source || 'app',
1346
+ display: {
1347
+ message: event.displayMessage || event.display_message || event.type,
1348
+ severity: event.displaySeverity || event.display_severity || 'info',
1349
+ },
1350
+ }));
1351
+ return {
1352
+ events: paginatedEvents,
1353
+ hasMore,
1354
+ nextCursor: hasMore ? paginatedEvents[paginatedEvents.length - 1].id : null,
1355
+ };
1251
1356
  }
1252
- else {
1253
- where.push({ field: 'id', operator: '>', value: after });
1357
+ catch (findManyError) {
1358
+ // If findMany fails with "model not found", try raw SQL
1359
+ if (findManyError?.message?.includes('not found in schema') ||
1360
+ findManyError?.message?.includes('Model') ||
1361
+ findManyError?.code === 'P2025') {
1362
+ // Fall through to raw SQL fallback
1363
+ }
1364
+ else {
1365
+ // Re-throw other errors
1366
+ throw findManyError;
1367
+ }
1254
1368
  }
1255
1369
  }
1256
- if (type) {
1257
- where.push({ field: 'type', value: type });
1258
- }
1259
- if (userId) {
1260
- where.push({ field: 'userId', value: userId });
1370
+ // Fallback to raw SQL if findMany failed or not available
1371
+ // Check both the adapter and potentially the underlying client (for Prisma)
1372
+ const underlyingAdapter = adapter?._client || adapter?.client || adapter;
1373
+ const useRawSQL = adapter.$queryRaw ||
1374
+ adapter.$queryRawUnsafe ||
1375
+ adapter.queryRaw ||
1376
+ adapter.executeRaw ||
1377
+ underlyingAdapter?.$queryRaw ||
1378
+ underlyingAdapter?.$queryRawUnsafe ||
1379
+ underlyingAdapter?.queryRaw ||
1380
+ underlyingAdapter?.executeRaw;
1381
+ if (useRawSQL) {
1382
+ // Use the adapter that has the raw SQL method
1383
+ const sqlAdapter = adapter.$queryRawUnsafe || adapter.$queryRawUnsafe
1384
+ ? adapter
1385
+ : underlyingAdapter?.$queryRawUnsafe || underlyingAdapter?.$queryRaw
1386
+ ? underlyingAdapter
1387
+ : adapter;
1388
+ try {
1389
+ // Build WHERE clause
1390
+ const whereConditions = [];
1391
+ const params = [];
1392
+ let paramIndex = 1;
1393
+ if (after) {
1394
+ if (sort === 'desc') {
1395
+ whereConditions.push(`id < $${paramIndex}`);
1396
+ }
1397
+ else {
1398
+ whereConditions.push(`id > $${paramIndex}`);
1399
+ }
1400
+ params.push(after);
1401
+ paramIndex++;
1402
+ }
1403
+ if (type) {
1404
+ whereConditions.push(`type = $${paramIndex}`);
1405
+ params.push(type);
1406
+ paramIndex++;
1407
+ }
1408
+ if (userId) {
1409
+ whereConditions.push(`user_id = $${paramIndex}`);
1410
+ params.push(userId);
1411
+ paramIndex++;
1412
+ }
1413
+ if (since) {
1414
+ whereConditions.push(`timestamp >= $${paramIndex}`);
1415
+ params.push(since instanceof Date ? since : new Date(since));
1416
+ paramIndex++;
1417
+ }
1418
+ const whereClause = whereConditions.length > 0 ? `WHERE ${whereConditions.join(' AND ')}` : '';
1419
+ const orderDirection = sort === 'desc' ? 'DESC' : 'ASC';
1420
+ // Use appropriate raw SQL method
1421
+ let queryFn;
1422
+ if (sqlAdapter.$queryRawUnsafe || adapter.$queryRawUnsafe) {
1423
+ // Prisma - build query with parameters embedded
1424
+ let query = `SELECT * FROM ${tableName} ${whereClause} ORDER BY timestamp ${orderDirection}, id ${orderDirection} LIMIT ${limit + 1}`;
1425
+ // Replace $1, $2, etc. with actual values for Prisma
1426
+ params.forEach((param, index) => {
1427
+ const placeholder = `$${index + 1}`;
1428
+ const value = typeof param === 'string'
1429
+ ? `'${param.replace(/'/g, "''")}'`
1430
+ : param === null
1431
+ ? 'NULL'
1432
+ : param instanceof Date
1433
+ ? `'${param.toISOString()}'`
1434
+ : String(param);
1435
+ query = query.replace(new RegExp(`\\${placeholder}(?![0-9])`, 'g'), value);
1436
+ });
1437
+ const queryMethod = sqlAdapter.$queryRawUnsafe || adapter.$queryRawUnsafe;
1438
+ queryFn = async (q) => await queryMethod(q);
1439
+ const result = await queryFn(query);
1440
+ const hasMore = result.length > limit;
1441
+ const paginatedEvents = result.slice(0, limit).map((event) => ({
1442
+ id: event.id,
1443
+ type: event.type,
1444
+ timestamp: new Date(event.timestamp || event.created_at),
1445
+ status: event.status || 'success',
1446
+ userId: event.user_id || event.userId,
1447
+ sessionId: event.session_id || event.sessionId,
1448
+ organizationId: event.organization_id || event.organizationId,
1449
+ metadata: typeof event.metadata === 'string'
1450
+ ? JSON.parse(event.metadata)
1451
+ : event.metadata || {},
1452
+ ipAddress: event.ip_address || event.ipAddress,
1453
+ userAgent: event.user_agent || event.userAgent,
1454
+ source: event.source || 'app',
1455
+ display: {
1456
+ message: event.display_message || event.displayMessage || event.type,
1457
+ severity: event.display_severity || event.displaySeverity || 'info',
1458
+ },
1459
+ }));
1460
+ return {
1461
+ events: paginatedEvents,
1462
+ hasMore,
1463
+ nextCursor: hasMore ? paginatedEvents[paginatedEvents.length - 1].id : null,
1464
+ };
1465
+ }
1466
+ else {
1467
+ // Other adapters - use parameterized query
1468
+ const query = `SELECT * FROM ${tableName} ${whereClause} ORDER BY timestamp ${orderDirection}, id ${orderDirection} LIMIT $${paramIndex}`;
1469
+ params.push(limit + 1);
1470
+ if (sqlAdapter.$queryRaw || adapter.$queryRaw) {
1471
+ const queryMethod = sqlAdapter.$queryRaw || adapter.$queryRaw;
1472
+ queryFn = async (q) => await queryMethod(q, ...params);
1473
+ }
1474
+ else if (sqlAdapter.queryRaw || adapter.queryRaw) {
1475
+ const queryMethod = sqlAdapter.queryRaw || adapter.queryRaw;
1476
+ queryFn = async (q) => await queryMethod(q, params);
1477
+ }
1478
+ else {
1479
+ throw new Error('Raw SQL not supported');
1480
+ }
1481
+ const result = await queryFn(query);
1482
+ const hasMore = result.length > limit;
1483
+ const paginatedEvents = result.slice(0, limit).map((event) => ({
1484
+ id: event.id,
1485
+ type: event.type,
1486
+ timestamp: new Date(event.timestamp || event.created_at),
1487
+ status: event.status || 'success',
1488
+ userId: event.user_id || event.userId,
1489
+ sessionId: event.session_id || event.sessionId,
1490
+ organizationId: event.organization_id || event.organizationId,
1491
+ metadata: typeof event.metadata === 'string'
1492
+ ? JSON.parse(event.metadata)
1493
+ : event.metadata || {},
1494
+ ipAddress: event.ip_address || event.ipAddress,
1495
+ userAgent: event.user_agent || event.userAgent,
1496
+ source: event.source || 'app',
1497
+ display: {
1498
+ message: event.display_message || event.displayMessage || event.type,
1499
+ severity: event.display_severity || event.displaySeverity || 'info',
1500
+ },
1501
+ }));
1502
+ return {
1503
+ events: paginatedEvents,
1504
+ hasMore,
1505
+ nextCursor: hasMore ? paginatedEvents[paginatedEvents.length - 1].id : null,
1506
+ };
1507
+ }
1508
+ }
1509
+ catch (rawError) {
1510
+ // If raw SQL also fails, return empty result
1511
+ console.warn('Raw SQL query failed:', rawError);
1512
+ return {
1513
+ events: [],
1514
+ hasMore: false,
1515
+ nextCursor: null,
1516
+ };
1517
+ }
1261
1518
  }
1262
- const events = await adapter.findMany({
1263
- model: tableName,
1264
- where,
1265
- orderBy: [{ field: 'timestamp', direction: sort === 'desc' ? 'desc' : 'asc' }],
1266
- limit: limit + 1, // Get one extra to check hasMore
1267
- });
1268
- const hasMore = events.length > limit;
1269
- const paginatedEvents = events.slice(0, limit).map((event) => ({
1270
- id: event.id,
1271
- type: event.type,
1272
- timestamp: new Date(event.timestamp || event.createdAt),
1273
- status: event.status || 'success',
1274
- userId: event.userId || event.user_id,
1275
- sessionId: event.sessionId || event.session_id,
1276
- organizationId: event.organizationId || event.organization_id,
1277
- metadata: typeof event.metadata === 'string' ? JSON.parse(event.metadata) : event.metadata || {},
1278
- ipAddress: event.ipAddress || event.ip_address,
1279
- userAgent: event.userAgent || event.user_agent,
1280
- source: event.source || 'app',
1281
- display: {
1282
- message: event.displayMessage || event.display_message || event.type,
1283
- severity: event.displaySeverity || event.display_severity || 'info',
1284
- },
1285
- }));
1286
- return {
1287
- events: paginatedEvents,
1288
- hasMore,
1289
- nextCursor: hasMore ? paginatedEvents[paginatedEvents.length - 1].id : null,
1290
- };
1519
+ // If we get here, neither findMany nor raw SQL worked
1520
+ throw new Error('Adapter does not support findMany or raw SQL');
1291
1521
  },
1292
1522
  };
1293
1523
  }