@revealui/db 0.2.0 → 0.2.1

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 (74) hide show
  1. package/README.md +0 -4
  2. package/dist/audit-store.js +1 -1
  3. package/dist/audit-store.js.map +1 -1
  4. package/dist/client/index.d.ts.map +1 -1
  5. package/dist/client/index.js.map +1 -1
  6. package/dist/crypto.d.ts.map +1 -1
  7. package/dist/crypto.js +6 -0
  8. package/dist/crypto.js.map +1 -1
  9. package/dist/log-transport.js.map +1 -1
  10. package/dist/pool.d.ts +1 -1
  11. package/dist/pool.d.ts.map +1 -1
  12. package/dist/pool.js +21 -13
  13. package/dist/pool.js.map +1 -1
  14. package/dist/queries/code-provenance.d.ts +2 -0
  15. package/dist/queries/code-provenance.d.ts.map +1 -1
  16. package/dist/queries/code-provenance.js +8 -2
  17. package/dist/queries/code-provenance.js.map +1 -1
  18. package/dist/queries/media.d.ts +75 -0
  19. package/dist/queries/media.d.ts.map +1 -0
  20. package/dist/queries/media.js +37 -0
  21. package/dist/queries/media.js.map +1 -0
  22. package/dist/queries/optimized-queries.js +1 -1
  23. package/dist/queries/optimized-queries.js.map +1 -1
  24. package/dist/queries/pages.d.ts +109 -0
  25. package/dist/queries/pages.d.ts.map +1 -0
  26. package/dist/queries/pages.js +42 -0
  27. package/dist/queries/pages.js.map +1 -0
  28. package/dist/queries/posts.d.ts +97 -0
  29. package/dist/queries/posts.d.ts.map +1 -0
  30. package/dist/queries/posts.js +43 -0
  31. package/dist/queries/posts.js.map +1 -0
  32. package/dist/queries/sites.d.ts +92 -0
  33. package/dist/queries/sites.d.ts.map +1 -0
  34. package/dist/queries/sites.js +43 -0
  35. package/dist/queries/sites.js.map +1 -0
  36. package/dist/schema/agents.d.ts +2 -2
  37. package/dist/schema/agents.js +2 -2
  38. package/dist/schema/agents.js.map +1 -1
  39. package/dist/schema/index.d.ts +4 -0
  40. package/dist/schema/index.d.ts.map +1 -1
  41. package/dist/schema/index.js +9 -0
  42. package/dist/schema/index.js.map +1 -1
  43. package/dist/schema/licenses.d.ts.map +1 -1
  44. package/dist/schema/licenses.js +4 -1
  45. package/dist/schema/licenses.js.map +1 -1
  46. package/dist/schema/oauth-accounts.d.ts +171 -0
  47. package/dist/schema/oauth-accounts.d.ts.map +1 -0
  48. package/dist/schema/oauth-accounts.js +30 -0
  49. package/dist/schema/oauth-accounts.js.map +1 -0
  50. package/dist/schema/rag.d.ts +566 -0
  51. package/dist/schema/rag.d.ts.map +1 -0
  52. package/dist/schema/rag.js +82 -0
  53. package/dist/schema/rag.js.map +1 -0
  54. package/dist/schema/rest.d.ts +2 -0
  55. package/dist/schema/rest.d.ts.map +1 -1
  56. package/dist/schema/rest.js +2 -0
  57. package/dist/schema/rest.js.map +1 -1
  58. package/dist/schema/users.d.ts +85 -0
  59. package/dist/schema/users.d.ts.map +1 -1
  60. package/dist/schema/users.js +7 -0
  61. package/dist/schema/users.js.map +1 -1
  62. package/dist/schema/vector.d.ts +1 -0
  63. package/dist/schema/vector.d.ts.map +1 -1
  64. package/dist/schema/vector.js +2 -0
  65. package/dist/schema/vector.js.map +1 -1
  66. package/dist/schema/webhook-events.d.ts +68 -0
  67. package/dist/schema/webhook-events.d.ts.map +1 -0
  68. package/dist/schema/webhook-events.js +17 -0
  69. package/dist/schema/webhook-events.js.map +1 -0
  70. package/dist/types/database.d.ts +63 -2
  71. package/dist/types/database.d.ts.map +1 -1
  72. package/dist/types/database.js +13 -1
  73. package/dist/types/database.js.map +1 -1
  74. package/package.json +21 -1
@@ -0,0 +1,566 @@
1
+ /**
2
+ * RAG (Retrieval-Augmented Generation) Tables
3
+ *
4
+ * Stored on Supabase (vector database) because rag_chunks uses pgvector.
5
+ * The ragDocuments → ragChunks FK cascade is enforced within Supabase.
6
+ * The workspaceId → sites.id reference is cross-database (type-only, not enforced at runtime).
7
+ *
8
+ * Embedding dimensions: 768 (nomic-embed-text via Ollama — policy default)
9
+ */
10
+ export declare const ragDocuments: import("drizzle-orm/pg-core").PgTableWithColumns<{
11
+ name: "rag_documents";
12
+ schema: undefined;
13
+ columns: {
14
+ id: import("drizzle-orm/pg-core").PgColumn<{
15
+ name: "id";
16
+ tableName: "rag_documents";
17
+ dataType: "string";
18
+ columnType: "PgText";
19
+ data: string;
20
+ driverParam: string;
21
+ notNull: true;
22
+ hasDefault: false;
23
+ isPrimaryKey: true;
24
+ isAutoincrement: false;
25
+ hasRuntimeDefault: false;
26
+ enumValues: [string, ...string[]];
27
+ baseColumn: never;
28
+ identity: undefined;
29
+ generated: undefined;
30
+ }, {}, {}>;
31
+ workspaceId: import("drizzle-orm/pg-core").PgColumn<{
32
+ name: "workspace_id";
33
+ tableName: "rag_documents";
34
+ dataType: "string";
35
+ columnType: "PgText";
36
+ data: string;
37
+ driverParam: string;
38
+ notNull: false;
39
+ hasDefault: false;
40
+ isPrimaryKey: false;
41
+ isAutoincrement: false;
42
+ hasRuntimeDefault: false;
43
+ enumValues: [string, ...string[]];
44
+ baseColumn: never;
45
+ identity: undefined;
46
+ generated: undefined;
47
+ }, {}, {}>;
48
+ sourceType: import("drizzle-orm/pg-core").PgColumn<{
49
+ name: "source_type";
50
+ tableName: "rag_documents";
51
+ dataType: "string";
52
+ columnType: "PgText";
53
+ data: string;
54
+ driverParam: string;
55
+ notNull: true;
56
+ hasDefault: false;
57
+ isPrimaryKey: false;
58
+ isAutoincrement: false;
59
+ hasRuntimeDefault: false;
60
+ enumValues: [string, ...string[]];
61
+ baseColumn: never;
62
+ identity: undefined;
63
+ generated: undefined;
64
+ }, {}, {}>;
65
+ sourceId: import("drizzle-orm/pg-core").PgColumn<{
66
+ name: "source_id";
67
+ tableName: "rag_documents";
68
+ dataType: "string";
69
+ columnType: "PgText";
70
+ data: string;
71
+ driverParam: string;
72
+ notNull: false;
73
+ hasDefault: false;
74
+ isPrimaryKey: false;
75
+ isAutoincrement: false;
76
+ hasRuntimeDefault: false;
77
+ enumValues: [string, ...string[]];
78
+ baseColumn: never;
79
+ identity: undefined;
80
+ generated: undefined;
81
+ }, {}, {}>;
82
+ sourceCollection: import("drizzle-orm/pg-core").PgColumn<{
83
+ name: "source_collection";
84
+ tableName: "rag_documents";
85
+ dataType: "string";
86
+ columnType: "PgText";
87
+ data: string;
88
+ driverParam: string;
89
+ notNull: false;
90
+ hasDefault: false;
91
+ isPrimaryKey: false;
92
+ isAutoincrement: false;
93
+ hasRuntimeDefault: false;
94
+ enumValues: [string, ...string[]];
95
+ baseColumn: never;
96
+ identity: undefined;
97
+ generated: undefined;
98
+ }, {}, {}>;
99
+ title: import("drizzle-orm/pg-core").PgColumn<{
100
+ name: "title";
101
+ tableName: "rag_documents";
102
+ dataType: "string";
103
+ columnType: "PgText";
104
+ data: string;
105
+ driverParam: string;
106
+ notNull: false;
107
+ hasDefault: false;
108
+ isPrimaryKey: false;
109
+ isAutoincrement: false;
110
+ hasRuntimeDefault: false;
111
+ enumValues: [string, ...string[]];
112
+ baseColumn: never;
113
+ identity: undefined;
114
+ generated: undefined;
115
+ }, {}, {}>;
116
+ mimeType: import("drizzle-orm/pg-core").PgColumn<{
117
+ name: "mime_type";
118
+ tableName: "rag_documents";
119
+ dataType: "string";
120
+ columnType: "PgText";
121
+ data: string;
122
+ driverParam: string;
123
+ notNull: false;
124
+ hasDefault: true;
125
+ isPrimaryKey: false;
126
+ isAutoincrement: false;
127
+ hasRuntimeDefault: false;
128
+ enumValues: [string, ...string[]];
129
+ baseColumn: never;
130
+ identity: undefined;
131
+ generated: undefined;
132
+ }, {}, {}>;
133
+ rawContent: import("drizzle-orm/pg-core").PgColumn<{
134
+ name: "raw_content";
135
+ tableName: "rag_documents";
136
+ dataType: "string";
137
+ columnType: "PgText";
138
+ data: string;
139
+ driverParam: string;
140
+ notNull: false;
141
+ hasDefault: false;
142
+ isPrimaryKey: false;
143
+ isAutoincrement: false;
144
+ hasRuntimeDefault: false;
145
+ enumValues: [string, ...string[]];
146
+ baseColumn: never;
147
+ identity: undefined;
148
+ generated: undefined;
149
+ }, {}, {}>;
150
+ wordCount: import("drizzle-orm/pg-core").PgColumn<{
151
+ name: "word_count";
152
+ tableName: "rag_documents";
153
+ dataType: "number";
154
+ columnType: "PgInteger";
155
+ data: number;
156
+ driverParam: string | number;
157
+ notNull: false;
158
+ hasDefault: true;
159
+ isPrimaryKey: false;
160
+ isAutoincrement: false;
161
+ hasRuntimeDefault: false;
162
+ enumValues: undefined;
163
+ baseColumn: never;
164
+ identity: undefined;
165
+ generated: undefined;
166
+ }, {}, {}>;
167
+ tokenEstimate: import("drizzle-orm/pg-core").PgColumn<{
168
+ name: "token_estimate";
169
+ tableName: "rag_documents";
170
+ dataType: "number";
171
+ columnType: "PgInteger";
172
+ data: number;
173
+ driverParam: string | number;
174
+ notNull: false;
175
+ hasDefault: true;
176
+ isPrimaryKey: false;
177
+ isAutoincrement: false;
178
+ hasRuntimeDefault: false;
179
+ enumValues: undefined;
180
+ baseColumn: never;
181
+ identity: undefined;
182
+ generated: undefined;
183
+ }, {}, {}>;
184
+ status: import("drizzle-orm/pg-core").PgColumn<{
185
+ name: "status";
186
+ tableName: "rag_documents";
187
+ dataType: "string";
188
+ columnType: "PgText";
189
+ data: string;
190
+ driverParam: string;
191
+ notNull: true;
192
+ hasDefault: true;
193
+ isPrimaryKey: false;
194
+ isAutoincrement: false;
195
+ hasRuntimeDefault: false;
196
+ enumValues: [string, ...string[]];
197
+ baseColumn: never;
198
+ identity: undefined;
199
+ generated: undefined;
200
+ }, {}, {}>;
201
+ errorMessage: import("drizzle-orm/pg-core").PgColumn<{
202
+ name: "error_message";
203
+ tableName: "rag_documents";
204
+ dataType: "string";
205
+ columnType: "PgText";
206
+ data: string;
207
+ driverParam: string;
208
+ notNull: false;
209
+ hasDefault: false;
210
+ isPrimaryKey: false;
211
+ isAutoincrement: false;
212
+ hasRuntimeDefault: false;
213
+ enumValues: [string, ...string[]];
214
+ baseColumn: never;
215
+ identity: undefined;
216
+ generated: undefined;
217
+ }, {}, {}>;
218
+ indexedAt: import("drizzle-orm/pg-core").PgColumn<{
219
+ name: "indexed_at";
220
+ tableName: "rag_documents";
221
+ dataType: "date";
222
+ columnType: "PgTimestamp";
223
+ data: Date;
224
+ driverParam: string;
225
+ notNull: false;
226
+ hasDefault: false;
227
+ isPrimaryKey: false;
228
+ isAutoincrement: false;
229
+ hasRuntimeDefault: false;
230
+ enumValues: undefined;
231
+ baseColumn: never;
232
+ identity: undefined;
233
+ generated: undefined;
234
+ }, {}, {}>;
235
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
236
+ name: "created_at";
237
+ tableName: "rag_documents";
238
+ dataType: "date";
239
+ columnType: "PgTimestamp";
240
+ data: Date;
241
+ driverParam: string;
242
+ notNull: true;
243
+ hasDefault: true;
244
+ isPrimaryKey: false;
245
+ isAutoincrement: false;
246
+ hasRuntimeDefault: false;
247
+ enumValues: undefined;
248
+ baseColumn: never;
249
+ identity: undefined;
250
+ generated: undefined;
251
+ }, {}, {}>;
252
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
253
+ name: "updated_at";
254
+ tableName: "rag_documents";
255
+ dataType: "date";
256
+ columnType: "PgTimestamp";
257
+ data: Date;
258
+ driverParam: string;
259
+ notNull: true;
260
+ hasDefault: true;
261
+ isPrimaryKey: false;
262
+ isAutoincrement: false;
263
+ hasRuntimeDefault: false;
264
+ enumValues: undefined;
265
+ baseColumn: never;
266
+ identity: undefined;
267
+ generated: undefined;
268
+ }, {}, {}>;
269
+ };
270
+ dialect: "pg";
271
+ }>;
272
+ export declare const ragChunks: import("drizzle-orm/pg-core").PgTableWithColumns<{
273
+ name: "rag_chunks";
274
+ schema: undefined;
275
+ columns: {
276
+ id: import("drizzle-orm/pg-core").PgColumn<{
277
+ name: "id";
278
+ tableName: "rag_chunks";
279
+ dataType: "string";
280
+ columnType: "PgText";
281
+ data: string;
282
+ driverParam: string;
283
+ notNull: true;
284
+ hasDefault: false;
285
+ isPrimaryKey: true;
286
+ isAutoincrement: false;
287
+ hasRuntimeDefault: false;
288
+ enumValues: [string, ...string[]];
289
+ baseColumn: never;
290
+ identity: undefined;
291
+ generated: undefined;
292
+ }, {}, {}>;
293
+ documentId: import("drizzle-orm/pg-core").PgColumn<{
294
+ name: "document_id";
295
+ tableName: "rag_chunks";
296
+ dataType: "string";
297
+ columnType: "PgText";
298
+ data: string;
299
+ driverParam: string;
300
+ notNull: true;
301
+ hasDefault: false;
302
+ isPrimaryKey: false;
303
+ isAutoincrement: false;
304
+ hasRuntimeDefault: false;
305
+ enumValues: [string, ...string[]];
306
+ baseColumn: never;
307
+ identity: undefined;
308
+ generated: undefined;
309
+ }, {}, {}>;
310
+ workspaceId: import("drizzle-orm/pg-core").PgColumn<{
311
+ name: "workspace_id";
312
+ tableName: "rag_chunks";
313
+ dataType: "string";
314
+ columnType: "PgText";
315
+ data: string;
316
+ driverParam: string;
317
+ notNull: false;
318
+ hasDefault: false;
319
+ isPrimaryKey: false;
320
+ isAutoincrement: false;
321
+ hasRuntimeDefault: false;
322
+ enumValues: [string, ...string[]];
323
+ baseColumn: never;
324
+ identity: undefined;
325
+ generated: undefined;
326
+ }, {}, {}>;
327
+ content: import("drizzle-orm/pg-core").PgColumn<{
328
+ name: "content";
329
+ tableName: "rag_chunks";
330
+ dataType: "string";
331
+ columnType: "PgText";
332
+ data: string;
333
+ driverParam: string;
334
+ notNull: true;
335
+ hasDefault: false;
336
+ isPrimaryKey: false;
337
+ isAutoincrement: false;
338
+ hasRuntimeDefault: false;
339
+ enumValues: [string, ...string[]];
340
+ baseColumn: never;
341
+ identity: undefined;
342
+ generated: undefined;
343
+ }, {}, {}>;
344
+ tokenCount: import("drizzle-orm/pg-core").PgColumn<{
345
+ name: "token_count";
346
+ tableName: "rag_chunks";
347
+ dataType: "number";
348
+ columnType: "PgInteger";
349
+ data: number;
350
+ driverParam: string | number;
351
+ notNull: false;
352
+ hasDefault: true;
353
+ isPrimaryKey: false;
354
+ isAutoincrement: false;
355
+ hasRuntimeDefault: false;
356
+ enumValues: undefined;
357
+ baseColumn: never;
358
+ identity: undefined;
359
+ generated: undefined;
360
+ }, {}, {}>;
361
+ chunkIndex: import("drizzle-orm/pg-core").PgColumn<{
362
+ name: "chunk_index";
363
+ tableName: "rag_chunks";
364
+ dataType: "number";
365
+ columnType: "PgInteger";
366
+ data: number;
367
+ driverParam: string | number;
368
+ notNull: true;
369
+ hasDefault: true;
370
+ isPrimaryKey: false;
371
+ isAutoincrement: false;
372
+ hasRuntimeDefault: false;
373
+ enumValues: undefined;
374
+ baseColumn: never;
375
+ identity: undefined;
376
+ generated: undefined;
377
+ }, {}, {}>;
378
+ embedding: import("drizzle-orm/pg-core").PgColumn<{
379
+ name: "embedding";
380
+ tableName: "rag_chunks";
381
+ dataType: "custom";
382
+ columnType: "PgCustomColumn";
383
+ data: number[];
384
+ driverParam: string;
385
+ notNull: false;
386
+ hasDefault: false;
387
+ isPrimaryKey: false;
388
+ isAutoincrement: false;
389
+ hasRuntimeDefault: false;
390
+ enumValues: undefined;
391
+ baseColumn: never;
392
+ identity: undefined;
393
+ generated: undefined;
394
+ }, {}, {
395
+ pgColumnBuilderBrand: "PgCustomColumnBuilderBrand";
396
+ }>;
397
+ embeddingModel: import("drizzle-orm/pg-core").PgColumn<{
398
+ name: "embedding_model";
399
+ tableName: "rag_chunks";
400
+ dataType: "string";
401
+ columnType: "PgText";
402
+ data: string;
403
+ driverParam: string;
404
+ notNull: false;
405
+ hasDefault: false;
406
+ isPrimaryKey: false;
407
+ isAutoincrement: false;
408
+ hasRuntimeDefault: false;
409
+ enumValues: [string, ...string[]];
410
+ baseColumn: never;
411
+ identity: undefined;
412
+ generated: undefined;
413
+ }, {}, {}>;
414
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
415
+ name: "metadata";
416
+ tableName: "rag_chunks";
417
+ dataType: "json";
418
+ columnType: "PgJsonb";
419
+ data: unknown;
420
+ driverParam: unknown;
421
+ notNull: false;
422
+ hasDefault: true;
423
+ isPrimaryKey: false;
424
+ isAutoincrement: false;
425
+ hasRuntimeDefault: false;
426
+ enumValues: undefined;
427
+ baseColumn: never;
428
+ identity: undefined;
429
+ generated: undefined;
430
+ }, {}, {}>;
431
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
432
+ name: "created_at";
433
+ tableName: "rag_chunks";
434
+ dataType: "date";
435
+ columnType: "PgTimestamp";
436
+ data: Date;
437
+ driverParam: string;
438
+ notNull: true;
439
+ hasDefault: true;
440
+ isPrimaryKey: false;
441
+ isAutoincrement: false;
442
+ hasRuntimeDefault: false;
443
+ enumValues: undefined;
444
+ baseColumn: never;
445
+ identity: undefined;
446
+ generated: undefined;
447
+ }, {}, {}>;
448
+ };
449
+ dialect: "pg";
450
+ }>;
451
+ export declare const ragWorkspaces: import("drizzle-orm/pg-core").PgTableWithColumns<{
452
+ name: "rag_workspaces";
453
+ schema: undefined;
454
+ columns: {
455
+ id: import("drizzle-orm/pg-core").PgColumn<{
456
+ name: "id";
457
+ tableName: "rag_workspaces";
458
+ dataType: "string";
459
+ columnType: "PgText";
460
+ data: string;
461
+ driverParam: string;
462
+ notNull: true;
463
+ hasDefault: false;
464
+ isPrimaryKey: true;
465
+ isAutoincrement: false;
466
+ hasRuntimeDefault: false;
467
+ enumValues: [string, ...string[]];
468
+ baseColumn: never;
469
+ identity: undefined;
470
+ generated: undefined;
471
+ }, {}, {}>;
472
+ name: import("drizzle-orm/pg-core").PgColumn<{
473
+ name: "name";
474
+ tableName: "rag_workspaces";
475
+ dataType: "string";
476
+ columnType: "PgText";
477
+ data: string;
478
+ driverParam: string;
479
+ notNull: true;
480
+ hasDefault: false;
481
+ isPrimaryKey: false;
482
+ isAutoincrement: false;
483
+ hasRuntimeDefault: false;
484
+ enumValues: [string, ...string[]];
485
+ baseColumn: never;
486
+ identity: undefined;
487
+ generated: undefined;
488
+ }, {}, {}>;
489
+ embeddingModel: import("drizzle-orm/pg-core").PgColumn<{
490
+ name: "embedding_model";
491
+ tableName: "rag_workspaces";
492
+ dataType: "string";
493
+ columnType: "PgText";
494
+ data: string;
495
+ driverParam: string;
496
+ notNull: true;
497
+ hasDefault: true;
498
+ isPrimaryKey: false;
499
+ isAutoincrement: false;
500
+ hasRuntimeDefault: false;
501
+ enumValues: [string, ...string[]];
502
+ baseColumn: never;
503
+ identity: undefined;
504
+ generated: undefined;
505
+ }, {}, {}>;
506
+ chunkSize: import("drizzle-orm/pg-core").PgColumn<{
507
+ name: "chunk_size";
508
+ tableName: "rag_workspaces";
509
+ dataType: "number";
510
+ columnType: "PgInteger";
511
+ data: number;
512
+ driverParam: string | number;
513
+ notNull: true;
514
+ hasDefault: true;
515
+ isPrimaryKey: false;
516
+ isAutoincrement: false;
517
+ hasRuntimeDefault: false;
518
+ enumValues: undefined;
519
+ baseColumn: never;
520
+ identity: undefined;
521
+ generated: undefined;
522
+ }, {}, {}>;
523
+ chunkOverlap: import("drizzle-orm/pg-core").PgColumn<{
524
+ name: "chunk_overlap";
525
+ tableName: "rag_workspaces";
526
+ dataType: "number";
527
+ columnType: "PgInteger";
528
+ data: number;
529
+ driverParam: string | number;
530
+ notNull: true;
531
+ hasDefault: true;
532
+ isPrimaryKey: false;
533
+ isAutoincrement: false;
534
+ hasRuntimeDefault: false;
535
+ enumValues: undefined;
536
+ baseColumn: never;
537
+ identity: undefined;
538
+ generated: undefined;
539
+ }, {}, {}>;
540
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
541
+ name: "created_at";
542
+ tableName: "rag_workspaces";
543
+ dataType: "date";
544
+ columnType: "PgTimestamp";
545
+ data: Date;
546
+ driverParam: string;
547
+ notNull: true;
548
+ hasDefault: true;
549
+ isPrimaryKey: false;
550
+ isAutoincrement: false;
551
+ hasRuntimeDefault: false;
552
+ enumValues: undefined;
553
+ baseColumn: never;
554
+ identity: undefined;
555
+ generated: undefined;
556
+ }, {}, {}>;
557
+ };
558
+ dialect: "pg";
559
+ }>;
560
+ export type RagDocument = typeof ragDocuments.$inferSelect;
561
+ export type NewRagDocument = typeof ragDocuments.$inferInsert;
562
+ export type RagChunk = typeof ragChunks.$inferSelect;
563
+ export type NewRagChunk = typeof ragChunks.$inferInsert;
564
+ export type RagWorkspace = typeof ragWorkspaces.$inferSelect;
565
+ export type NewRagWorkspace = typeof ragWorkspaces.$inferInsert;
566
+ //# sourceMappingURL=rag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rag.d.ts","sourceRoot":"","sources":["../../src/schema/rag.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAyBH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BvB,CAAA;AAMF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBpB,CAAA;AAMF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUxB,CAAA;AAMF,MAAM,MAAM,WAAW,GAAG,OAAO,YAAY,CAAC,YAAY,CAAA;AAC1D,MAAM,MAAM,cAAc,GAAG,OAAO,YAAY,CAAC,YAAY,CAAA;AAC7D,MAAM,MAAM,QAAQ,GAAG,OAAO,SAAS,CAAC,YAAY,CAAA;AACpD,MAAM,MAAM,WAAW,GAAG,OAAO,SAAS,CAAC,YAAY,CAAA;AACvD,MAAM,MAAM,YAAY,GAAG,OAAO,aAAa,CAAC,YAAY,CAAA;AAC5D,MAAM,MAAM,eAAe,GAAG,OAAO,aAAa,CAAC,YAAY,CAAA"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * RAG (Retrieval-Augmented Generation) Tables
3
+ *
4
+ * Stored on Supabase (vector database) because rag_chunks uses pgvector.
5
+ * The ragDocuments → ragChunks FK cascade is enforced within Supabase.
6
+ * The workspaceId → sites.id reference is cross-database (type-only, not enforced at runtime).
7
+ *
8
+ * Embedding dimensions: 768 (nomic-embed-text via Ollama — policy default)
9
+ */
10
+ import { customType, integer, jsonb, pgTable, text, timestamp } from 'drizzle-orm/pg-core';
11
+ import { sites } from './sites.js';
12
+ // =============================================================================
13
+ // Custom Vector Type (768-dim for nomic-embed-text)
14
+ // =============================================================================
15
+ const vector = customType({
16
+ dataType(config) {
17
+ return `vector(${config?.dimensions ?? 768})`;
18
+ },
19
+ toDriver(value) {
20
+ return `[${value.join(',')}]`;
21
+ },
22
+ fromDriver(value) {
23
+ return JSON.parse(value.replace(/^\[/, '[').replace(/\]$/, ']'));
24
+ },
25
+ });
26
+ // =============================================================================
27
+ // rag_documents — one row per indexed source
28
+ // =============================================================================
29
+ export const ragDocuments = pgTable('rag_documents', {
30
+ id: text('id').primaryKey(),
31
+ /** Which workspace (site) this document belongs to */
32
+ workspaceId: text('workspace_id').references(() => sites.id, { onDelete: 'cascade' }),
33
+ /** Source type: cms_collection, url, file, text */
34
+ sourceType: text('source_type').notNull(),
35
+ /** Source-specific identifier (e.g. CMS document ID, URL, file path) */
36
+ sourceId: text('source_id'),
37
+ /** CMS collection name when sourceType = 'cms_collection' */
38
+ sourceCollection: text('source_collection'),
39
+ title: text('title'),
40
+ mimeType: text('mime_type').default('text/plain'),
41
+ rawContent: text('raw_content'),
42
+ wordCount: integer('word_count').default(0),
43
+ tokenEstimate: integer('token_estimate').default(0),
44
+ /** pending | processing | indexed | failed */
45
+ status: text('status').notNull().default('pending'),
46
+ errorMessage: text('error_message'),
47
+ indexedAt: timestamp('indexed_at', { withTimezone: true }),
48
+ createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(),
49
+ updatedAt: timestamp('updated_at', { withTimezone: true }).defaultNow().notNull(),
50
+ });
51
+ // =============================================================================
52
+ // rag_chunks — one row per text chunk, with 768-dim embedding
53
+ // =============================================================================
54
+ export const ragChunks = pgTable('rag_chunks', {
55
+ id: text('id').primaryKey(),
56
+ documentId: text('document_id')
57
+ .notNull()
58
+ .references(() => ragDocuments.id, { onDelete: 'cascade' }),
59
+ workspaceId: text('workspace_id').references(() => sites.id, { onDelete: 'cascade' }),
60
+ content: text('content').notNull(),
61
+ tokenCount: integer('token_count').default(0),
62
+ chunkIndex: integer('chunk_index').notNull().default(0),
63
+ /** Vector embedding — 768 dimensions (nomic-embed-text) */
64
+ embedding: vector('embedding', { dimensions: 768 }),
65
+ embeddingModel: text('embedding_model'),
66
+ /** Arbitrary metadata (e.g. page number, section heading) */
67
+ metadata: jsonb('metadata').default({}),
68
+ createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(),
69
+ });
70
+ // =============================================================================
71
+ // rag_workspaces — per-workspace RAG configuration
72
+ // =============================================================================
73
+ export const ragWorkspaces = pgTable('rag_workspaces', {
74
+ /** Same ID as the site/workspace */
75
+ id: text('id').primaryKey(),
76
+ name: text('name').notNull(),
77
+ embeddingModel: text('embedding_model').notNull().default('nomic-embed-text'),
78
+ chunkSize: integer('chunk_size').notNull().default(512),
79
+ chunkOverlap: integer('chunk_overlap').notNull().default(64),
80
+ createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(),
81
+ });
82
+ //# sourceMappingURL=rag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rag.js","sourceRoot":"","sources":["../../src/schema/rag.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export * from './crdt-operations.js';
19
19
  export * from './error-events.js';
20
20
  export * from './licenses.js';
21
21
  export * from './node-ids.js';
22
+ export * from './oauth-accounts.js';
22
23
  export * from './pages.js';
23
24
  export * from './password-reset-tokens.js';
24
25
  export * from './query.js';
@@ -27,5 +28,6 @@ export * from './sites.js';
27
28
  export * from './tickets.js';
28
29
  export * from './users.js';
29
30
  export * from './waitlist.js';
31
+ export * from './webhook-events.js';
30
32
  export * from './yjs-documents.js';
31
33
  //# sourceMappingURL=rest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../src/schema/rest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,YAAY,EACZ,aAAa,EACb,KAAK,YAAY,EACjB,aAAa,EACb,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,gBAAgB,EAChB,YAAY,EACZ,WAAW,GACZ,MAAM,aAAa,CAAA;AACpB,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAE9B,cAAc,UAAU,CAAA;AACxB,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../src/schema/rest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,YAAY,EACZ,aAAa,EACb,KAAK,YAAY,EACjB,aAAa,EACb,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,gBAAgB,EAChB,YAAY,EACZ,WAAW,GACZ,MAAM,aAAa,CAAA;AACpB,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAE9B,cAAc,UAAU,CAAA;AACxB,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA"}