@revealui/db 0.3.0 → 0.3.3

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 (138) hide show
  1. package/dist/cleanup/cross-db-cleanup.d.ts +19 -0
  2. package/dist/cleanup/cross-db-cleanup.d.ts.map +1 -1
  3. package/dist/cleanup/cross-db-cleanup.js +40 -1
  4. package/dist/cleanup/cross-db-cleanup.js.map +1 -1
  5. package/dist/cleanup/index.d.ts +2 -1
  6. package/dist/cleanup/index.d.ts.map +1 -1
  7. package/dist/cleanup/index.js +2 -1
  8. package/dist/cleanup/index.js.map +1 -1
  9. package/dist/cleanup/rag-site-cleanup.d.ts +58 -0
  10. package/dist/cleanup/rag-site-cleanup.d.ts.map +1 -0
  11. package/dist/cleanup/rag-site-cleanup.js +68 -0
  12. package/dist/cleanup/rag-site-cleanup.js.map +1 -0
  13. package/dist/client/index.d.ts +1 -1
  14. package/dist/client/index.d.ts.map +1 -1
  15. package/dist/client/index.js +3 -6
  16. package/dist/client/index.js.map +1 -1
  17. package/dist/client/types.d.ts.map +1 -1
  18. package/dist/pool.d.ts +4 -0
  19. package/dist/pool.d.ts.map +1 -1
  20. package/dist/pool.js +46 -20
  21. package/dist/pool.js.map +1 -1
  22. package/dist/queries/conversations.d.ts +29 -0
  23. package/dist/queries/conversations.d.ts.map +1 -0
  24. package/dist/queries/conversations.js +80 -0
  25. package/dist/queries/conversations.js.map +1 -0
  26. package/dist/queries/orders.d.ts +91 -0
  27. package/dist/queries/orders.d.ts.map +1 -0
  28. package/dist/queries/orders.js +36 -0
  29. package/dist/queries/orders.js.map +1 -0
  30. package/dist/queries/pages.d.ts.map +1 -1
  31. package/dist/queries/pages.js +0 -5
  32. package/dist/queries/pages.js.map +1 -1
  33. package/dist/queries/posts.d.ts +31 -0
  34. package/dist/queries/posts.d.ts.map +1 -1
  35. package/dist/queries/posts.js +21 -0
  36. package/dist/queries/posts.js.map +1 -1
  37. package/dist/queries/products.d.ts +102 -0
  38. package/dist/queries/products.d.ts.map +1 -0
  39. package/dist/queries/products.js +55 -0
  40. package/dist/queries/products.js.map +1 -0
  41. package/dist/queries/ticket-comments.d.ts +25 -0
  42. package/dist/queries/ticket-comments.d.ts.map +1 -1
  43. package/dist/queries/ticket-comments.js +28 -1
  44. package/dist/queries/ticket-comments.js.map +1 -1
  45. package/dist/queries/tickets.d.ts +41 -0
  46. package/dist/queries/tickets.d.ts.map +1 -1
  47. package/dist/queries/tickets.js +24 -0
  48. package/dist/queries/tickets.js.map +1 -1
  49. package/dist/queries/users.d.ts +118 -0
  50. package/dist/queries/users.d.ts.map +1 -1
  51. package/dist/queries/users.js +51 -1
  52. package/dist/queries/users.js.map +1 -1
  53. package/dist/schema/accounts.d.ts.map +1 -1
  54. package/dist/schema/accounts.js +2 -0
  55. package/dist/schema/accounts.js.map +1 -1
  56. package/dist/schema/agents.d.ts +133 -0
  57. package/dist/schema/agents.d.ts.map +1 -1
  58. package/dist/schema/agents.js +28 -2
  59. package/dist/schema/agents.js.map +1 -1
  60. package/dist/schema/circuit-breaker.d.ts +139 -0
  61. package/dist/schema/circuit-breaker.d.ts.map +1 -0
  62. package/dist/schema/circuit-breaker.js +28 -0
  63. package/dist/schema/circuit-breaker.js.map +1 -0
  64. package/dist/schema/crdt-operations.d.ts.map +1 -1
  65. package/dist/schema/crdt-operations.js +5 -2
  66. package/dist/schema/crdt-operations.js.map +1 -1
  67. package/dist/schema/index.d.ts +7 -0
  68. package/dist/schema/index.d.ts.map +1 -1
  69. package/dist/schema/index.js +24 -4
  70. package/dist/schema/index.js.map +1 -1
  71. package/dist/schema/licenses.d.ts +34 -0
  72. package/dist/schema/licenses.d.ts.map +1 -1
  73. package/dist/schema/licenses.js +7 -1
  74. package/dist/schema/licenses.js.map +1 -1
  75. package/dist/schema/marketplace.d.ts.map +1 -1
  76. package/dist/schema/marketplace.js +6 -2
  77. package/dist/schema/marketplace.js.map +1 -1
  78. package/dist/schema/passkeys.d.ts.map +1 -1
  79. package/dist/schema/passkeys.js +1 -0
  80. package/dist/schema/passkeys.js.map +1 -1
  81. package/dist/schema/products.d.ts +536 -0
  82. package/dist/schema/products.d.ts.map +1 -0
  83. package/dist/schema/products.js +104 -0
  84. package/dist/schema/products.js.map +1 -0
  85. package/dist/schema/rest.d.ts +4 -1
  86. package/dist/schema/rest.d.ts.map +1 -1
  87. package/dist/schema/rest.js +6 -3
  88. package/dist/schema/rest.js.map +1 -1
  89. package/dist/schema/revealcoin.d.ts +267 -0
  90. package/dist/schema/revealcoin.d.ts.map +1 -0
  91. package/dist/schema/revealcoin.js +54 -0
  92. package/dist/schema/revealcoin.js.map +1 -0
  93. package/dist/schema/sites.d.ts.map +1 -1
  94. package/dist/schema/sites.js +2 -7
  95. package/dist/schema/sites.js.map +1 -1
  96. package/dist/schema/tenants.d.ts.map +1 -1
  97. package/dist/schema/tenants.js +0 -1
  98. package/dist/schema/tenants.js.map +1 -1
  99. package/dist/schema/tickets.d.ts.map +1 -1
  100. package/dist/schema/tickets.js +5 -2
  101. package/dist/schema/tickets.js.map +1 -1
  102. package/dist/schema/users.d.ts +17 -0
  103. package/dist/schema/users.d.ts.map +1 -1
  104. package/dist/schema/users.js +2 -2
  105. package/dist/schema/users.js.map +1 -1
  106. package/dist/schema/vector.d.ts +10 -4
  107. package/dist/schema/vector.d.ts.map +1 -1
  108. package/dist/schema/vector.js +14 -5
  109. package/dist/schema/vector.js.map +1 -1
  110. package/dist/types/database.d.ts +80 -2
  111. package/dist/types/database.d.ts.map +1 -1
  112. package/dist/types/database.js +17 -1
  113. package/dist/types/database.js.map +1 -1
  114. package/dist/types/generate-contracts.js +1 -1
  115. package/dist/validation/cross-db.d.ts +6 -6
  116. package/dist/validation/cross-db.d.ts.map +1 -1
  117. package/dist/validation/cross-db.js.map +1 -1
  118. package/package.json +38 -9
  119. package/dist/queries/optimized-queries.d.ts +0 -89
  120. package/dist/queries/optimized-queries.d.ts.map +0 -1
  121. package/dist/queries/optimized-queries.js +0 -371
  122. package/dist/queries/optimized-queries.js.map +0 -1
  123. package/dist/queries/todos.d.ts +0 -37
  124. package/dist/queries/todos.d.ts.map +0 -1
  125. package/dist/queries/todos.js +0 -37
  126. package/dist/queries/todos.js.map +0 -1
  127. package/dist/schema/query.d.ts +0 -11
  128. package/dist/schema/query.d.ts.map +0 -1
  129. package/dist/schema/query.js +0 -11
  130. package/dist/schema/query.js.map +0 -1
  131. package/dist/schema/todos.d.ts +0 -98
  132. package/dist/schema/todos.d.ts.map +0 -1
  133. package/dist/schema/todos.js +0 -12
  134. package/dist/schema/todos.js.map +0 -1
  135. package/dist/security-audit-storage.d.ts +0 -54
  136. package/dist/security-audit-storage.d.ts.map +0 -1
  137. package/dist/security-audit-storage.js +0 -100
  138. package/dist/security-audit-storage.js.map +0 -1
@@ -0,0 +1,536 @@
1
+ /**
2
+ * Product and Order tables
3
+ *
4
+ * Products are standalone content items (Stripe-backed).
5
+ * Orders track purchases with status, line items, and customer info.
6
+ */
7
+ export declare const PRODUCT_STATUSES: readonly ["draft", "published", "archived"];
8
+ export type ProductStatus = (typeof PRODUCT_STATUSES)[number];
9
+ export declare const products: import("drizzle-orm/pg-core").PgTableWithColumns<{
10
+ name: "products";
11
+ schema: undefined;
12
+ columns: {
13
+ id: import("drizzle-orm/pg-core").PgColumn<{
14
+ name: "id";
15
+ tableName: "products";
16
+ dataType: "string";
17
+ columnType: "PgText";
18
+ data: string;
19
+ driverParam: string;
20
+ notNull: true;
21
+ hasDefault: false;
22
+ isPrimaryKey: true;
23
+ isAutoincrement: false;
24
+ hasRuntimeDefault: false;
25
+ enumValues: [string, ...string[]];
26
+ baseColumn: never;
27
+ identity: undefined;
28
+ generated: undefined;
29
+ }, {}, {}>;
30
+ title: import("drizzle-orm/pg-core").PgColumn<{
31
+ name: "title";
32
+ tableName: "products";
33
+ dataType: "string";
34
+ columnType: "PgText";
35
+ data: string;
36
+ driverParam: string;
37
+ notNull: true;
38
+ hasDefault: false;
39
+ isPrimaryKey: false;
40
+ isAutoincrement: false;
41
+ hasRuntimeDefault: false;
42
+ enumValues: [string, ...string[]];
43
+ baseColumn: never;
44
+ identity: undefined;
45
+ generated: undefined;
46
+ }, {}, {}>;
47
+ slug: import("drizzle-orm/pg-core").PgColumn<{
48
+ name: "slug";
49
+ tableName: "products";
50
+ dataType: "string";
51
+ columnType: "PgText";
52
+ data: string;
53
+ driverParam: string;
54
+ notNull: true;
55
+ hasDefault: false;
56
+ isPrimaryKey: false;
57
+ isAutoincrement: false;
58
+ hasRuntimeDefault: false;
59
+ enumValues: [string, ...string[]];
60
+ baseColumn: never;
61
+ identity: undefined;
62
+ generated: undefined;
63
+ }, {}, {}>;
64
+ description: import("drizzle-orm/pg-core").PgColumn<{
65
+ name: "description";
66
+ tableName: "products";
67
+ dataType: "string";
68
+ columnType: "PgText";
69
+ data: string;
70
+ driverParam: string;
71
+ notNull: false;
72
+ hasDefault: false;
73
+ isPrimaryKey: false;
74
+ isAutoincrement: false;
75
+ hasRuntimeDefault: false;
76
+ enumValues: [string, ...string[]];
77
+ baseColumn: never;
78
+ identity: undefined;
79
+ generated: undefined;
80
+ }, {}, {}>;
81
+ priceInCents: import("drizzle-orm/pg-core").PgColumn<{
82
+ name: "price_in_cents";
83
+ tableName: "products";
84
+ dataType: "number";
85
+ columnType: "PgInteger";
86
+ data: number;
87
+ driverParam: string | number;
88
+ notNull: false;
89
+ hasDefault: false;
90
+ isPrimaryKey: false;
91
+ isAutoincrement: false;
92
+ hasRuntimeDefault: false;
93
+ enumValues: undefined;
94
+ baseColumn: never;
95
+ identity: undefined;
96
+ generated: undefined;
97
+ }, {}, {}>;
98
+ currency: import("drizzle-orm/pg-core").PgColumn<{
99
+ name: "currency";
100
+ tableName: "products";
101
+ dataType: "string";
102
+ columnType: "PgText";
103
+ data: string;
104
+ driverParam: string;
105
+ notNull: true;
106
+ hasDefault: true;
107
+ isPrimaryKey: false;
108
+ isAutoincrement: false;
109
+ hasRuntimeDefault: false;
110
+ enumValues: [string, ...string[]];
111
+ baseColumn: never;
112
+ identity: undefined;
113
+ generated: undefined;
114
+ }, {}, {}>;
115
+ stripeProductId: import("drizzle-orm/pg-core").PgColumn<{
116
+ name: "stripe_product_id";
117
+ tableName: "products";
118
+ dataType: "string";
119
+ columnType: "PgText";
120
+ data: string;
121
+ driverParam: string;
122
+ notNull: false;
123
+ hasDefault: false;
124
+ isPrimaryKey: false;
125
+ isAutoincrement: false;
126
+ hasRuntimeDefault: false;
127
+ enumValues: [string, ...string[]];
128
+ baseColumn: never;
129
+ identity: undefined;
130
+ generated: undefined;
131
+ }, {}, {}>;
132
+ stripePriceId: import("drizzle-orm/pg-core").PgColumn<{
133
+ name: "stripe_price_id";
134
+ tableName: "products";
135
+ dataType: "string";
136
+ columnType: "PgText";
137
+ data: string;
138
+ driverParam: string;
139
+ notNull: false;
140
+ hasDefault: false;
141
+ isPrimaryKey: false;
142
+ isAutoincrement: false;
143
+ hasRuntimeDefault: false;
144
+ enumValues: [string, ...string[]];
145
+ baseColumn: never;
146
+ identity: undefined;
147
+ generated: undefined;
148
+ }, {}, {}>;
149
+ active: import("drizzle-orm/pg-core").PgColumn<{
150
+ name: "active";
151
+ tableName: "products";
152
+ dataType: "boolean";
153
+ columnType: "PgBoolean";
154
+ data: boolean;
155
+ driverParam: boolean;
156
+ notNull: true;
157
+ hasDefault: true;
158
+ isPrimaryKey: false;
159
+ isAutoincrement: false;
160
+ hasRuntimeDefault: false;
161
+ enumValues: undefined;
162
+ baseColumn: never;
163
+ identity: undefined;
164
+ generated: undefined;
165
+ }, {}, {}>;
166
+ status: import("drizzle-orm/pg-core").PgColumn<{
167
+ name: "status";
168
+ tableName: "products";
169
+ dataType: "string";
170
+ columnType: "PgText";
171
+ data: string;
172
+ driverParam: string;
173
+ notNull: true;
174
+ hasDefault: true;
175
+ isPrimaryKey: false;
176
+ isAutoincrement: false;
177
+ hasRuntimeDefault: false;
178
+ enumValues: [string, ...string[]];
179
+ baseColumn: never;
180
+ identity: undefined;
181
+ generated: undefined;
182
+ }, {}, {}>;
183
+ images: import("drizzle-orm/pg-core").PgColumn<{
184
+ name: "images";
185
+ tableName: "products";
186
+ dataType: "json";
187
+ columnType: "PgJsonb";
188
+ data: string[];
189
+ driverParam: unknown;
190
+ notNull: false;
191
+ hasDefault: true;
192
+ isPrimaryKey: false;
193
+ isAutoincrement: false;
194
+ hasRuntimeDefault: false;
195
+ enumValues: undefined;
196
+ baseColumn: never;
197
+ identity: undefined;
198
+ generated: undefined;
199
+ }, {}, {
200
+ $type: string[];
201
+ }>;
202
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
203
+ name: "metadata";
204
+ tableName: "products";
205
+ dataType: "json";
206
+ columnType: "PgJsonb";
207
+ data: unknown;
208
+ driverParam: unknown;
209
+ notNull: false;
210
+ hasDefault: false;
211
+ isPrimaryKey: false;
212
+ isAutoincrement: false;
213
+ hasRuntimeDefault: false;
214
+ enumValues: undefined;
215
+ baseColumn: never;
216
+ identity: undefined;
217
+ generated: undefined;
218
+ }, {}, {}>;
219
+ ownerId: import("drizzle-orm/pg-core").PgColumn<{
220
+ name: "owner_id";
221
+ tableName: "products";
222
+ dataType: "string";
223
+ columnType: "PgText";
224
+ data: string;
225
+ driverParam: string;
226
+ notNull: false;
227
+ hasDefault: false;
228
+ isPrimaryKey: false;
229
+ isAutoincrement: false;
230
+ hasRuntimeDefault: false;
231
+ enumValues: [string, ...string[]];
232
+ baseColumn: never;
233
+ identity: undefined;
234
+ generated: undefined;
235
+ }, {}, {}>;
236
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
237
+ name: "created_at";
238
+ tableName: "products";
239
+ dataType: "date";
240
+ columnType: "PgTimestamp";
241
+ data: Date;
242
+ driverParam: string;
243
+ notNull: true;
244
+ hasDefault: true;
245
+ isPrimaryKey: false;
246
+ isAutoincrement: false;
247
+ hasRuntimeDefault: false;
248
+ enumValues: undefined;
249
+ baseColumn: never;
250
+ identity: undefined;
251
+ generated: undefined;
252
+ }, {}, {}>;
253
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
254
+ name: "updated_at";
255
+ tableName: "products";
256
+ dataType: "date";
257
+ columnType: "PgTimestamp";
258
+ data: Date;
259
+ driverParam: string;
260
+ notNull: true;
261
+ hasDefault: true;
262
+ isPrimaryKey: false;
263
+ isAutoincrement: false;
264
+ hasRuntimeDefault: false;
265
+ enumValues: undefined;
266
+ baseColumn: never;
267
+ identity: undefined;
268
+ generated: undefined;
269
+ }, {}, {}>;
270
+ deletedAt: import("drizzle-orm/pg-core").PgColumn<{
271
+ name: "deleted_at";
272
+ tableName: "products";
273
+ dataType: "date";
274
+ columnType: "PgTimestamp";
275
+ data: Date;
276
+ driverParam: string;
277
+ notNull: false;
278
+ hasDefault: false;
279
+ isPrimaryKey: false;
280
+ isAutoincrement: false;
281
+ hasRuntimeDefault: false;
282
+ enumValues: undefined;
283
+ baseColumn: never;
284
+ identity: undefined;
285
+ generated: undefined;
286
+ }, {}, {}>;
287
+ };
288
+ dialect: "pg";
289
+ }>;
290
+ export declare const ORDER_STATUSES: readonly ["pending", "confirmed", "processing", "shipped", "delivered", "cancelled", "refunded"];
291
+ export type OrderStatus = (typeof ORDER_STATUSES)[number];
292
+ export declare const orders: import("drizzle-orm/pg-core").PgTableWithColumns<{
293
+ name: "orders";
294
+ schema: undefined;
295
+ columns: {
296
+ id: import("drizzle-orm/pg-core").PgColumn<{
297
+ name: "id";
298
+ tableName: "orders";
299
+ dataType: "string";
300
+ columnType: "PgText";
301
+ data: string;
302
+ driverParam: string;
303
+ notNull: true;
304
+ hasDefault: false;
305
+ isPrimaryKey: true;
306
+ isAutoincrement: false;
307
+ hasRuntimeDefault: false;
308
+ enumValues: [string, ...string[]];
309
+ baseColumn: never;
310
+ identity: undefined;
311
+ generated: undefined;
312
+ }, {}, {}>;
313
+ customerId: import("drizzle-orm/pg-core").PgColumn<{
314
+ name: "customer_id";
315
+ tableName: "orders";
316
+ dataType: "string";
317
+ columnType: "PgText";
318
+ data: string;
319
+ driverParam: string;
320
+ notNull: true;
321
+ hasDefault: false;
322
+ isPrimaryKey: false;
323
+ isAutoincrement: false;
324
+ hasRuntimeDefault: false;
325
+ enumValues: [string, ...string[]];
326
+ baseColumn: never;
327
+ identity: undefined;
328
+ generated: undefined;
329
+ }, {}, {}>;
330
+ status: import("drizzle-orm/pg-core").PgColumn<{
331
+ name: "status";
332
+ tableName: "orders";
333
+ dataType: "string";
334
+ columnType: "PgText";
335
+ data: string;
336
+ driverParam: string;
337
+ notNull: true;
338
+ hasDefault: true;
339
+ isPrimaryKey: false;
340
+ isAutoincrement: false;
341
+ hasRuntimeDefault: false;
342
+ enumValues: [string, ...string[]];
343
+ baseColumn: never;
344
+ identity: undefined;
345
+ generated: undefined;
346
+ }, {}, {}>;
347
+ totalInCents: import("drizzle-orm/pg-core").PgColumn<{
348
+ name: "total_in_cents";
349
+ tableName: "orders";
350
+ dataType: "number";
351
+ columnType: "PgInteger";
352
+ data: number;
353
+ driverParam: string | number;
354
+ notNull: true;
355
+ hasDefault: true;
356
+ isPrimaryKey: false;
357
+ isAutoincrement: false;
358
+ hasRuntimeDefault: false;
359
+ enumValues: undefined;
360
+ baseColumn: never;
361
+ identity: undefined;
362
+ generated: undefined;
363
+ }, {}, {}>;
364
+ currency: import("drizzle-orm/pg-core").PgColumn<{
365
+ name: "currency";
366
+ tableName: "orders";
367
+ dataType: "string";
368
+ columnType: "PgText";
369
+ data: string;
370
+ driverParam: string;
371
+ notNull: true;
372
+ hasDefault: true;
373
+ isPrimaryKey: false;
374
+ isAutoincrement: false;
375
+ hasRuntimeDefault: false;
376
+ enumValues: [string, ...string[]];
377
+ baseColumn: never;
378
+ identity: undefined;
379
+ generated: undefined;
380
+ }, {}, {}>;
381
+ stripePaymentIntentId: import("drizzle-orm/pg-core").PgColumn<{
382
+ name: "stripe_payment_intent_id";
383
+ tableName: "orders";
384
+ dataType: "string";
385
+ columnType: "PgText";
386
+ data: string;
387
+ driverParam: string;
388
+ notNull: false;
389
+ hasDefault: false;
390
+ isPrimaryKey: false;
391
+ isAutoincrement: false;
392
+ hasRuntimeDefault: false;
393
+ enumValues: [string, ...string[]];
394
+ baseColumn: never;
395
+ identity: undefined;
396
+ generated: undefined;
397
+ }, {}, {}>;
398
+ stripeCheckoutSessionId: import("drizzle-orm/pg-core").PgColumn<{
399
+ name: "stripe_checkout_session_id";
400
+ tableName: "orders";
401
+ dataType: "string";
402
+ columnType: "PgText";
403
+ data: string;
404
+ driverParam: string;
405
+ notNull: false;
406
+ hasDefault: false;
407
+ isPrimaryKey: false;
408
+ isAutoincrement: false;
409
+ hasRuntimeDefault: false;
410
+ enumValues: [string, ...string[]];
411
+ baseColumn: never;
412
+ identity: undefined;
413
+ generated: undefined;
414
+ }, {}, {}>;
415
+ items: import("drizzle-orm/pg-core").PgColumn<{
416
+ name: "items";
417
+ tableName: "orders";
418
+ dataType: "json";
419
+ columnType: "PgJsonb";
420
+ data: {
421
+ productId: string;
422
+ title: string;
423
+ quantity: number;
424
+ priceInCents: number;
425
+ }[];
426
+ driverParam: unknown;
427
+ notNull: true;
428
+ hasDefault: true;
429
+ isPrimaryKey: false;
430
+ isAutoincrement: false;
431
+ hasRuntimeDefault: false;
432
+ enumValues: undefined;
433
+ baseColumn: never;
434
+ identity: undefined;
435
+ generated: undefined;
436
+ }, {}, {
437
+ $type: {
438
+ productId: string;
439
+ title: string;
440
+ quantity: number;
441
+ priceInCents: number;
442
+ }[];
443
+ }>;
444
+ shippingAddress: import("drizzle-orm/pg-core").PgColumn<{
445
+ name: "shipping_address";
446
+ tableName: "orders";
447
+ dataType: "json";
448
+ columnType: "PgJsonb";
449
+ data: unknown;
450
+ driverParam: unknown;
451
+ notNull: false;
452
+ hasDefault: false;
453
+ isPrimaryKey: false;
454
+ isAutoincrement: false;
455
+ hasRuntimeDefault: false;
456
+ enumValues: undefined;
457
+ baseColumn: never;
458
+ identity: undefined;
459
+ generated: undefined;
460
+ }, {}, {}>;
461
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
462
+ name: "metadata";
463
+ tableName: "orders";
464
+ dataType: "json";
465
+ columnType: "PgJsonb";
466
+ data: unknown;
467
+ driverParam: unknown;
468
+ notNull: false;
469
+ hasDefault: false;
470
+ isPrimaryKey: false;
471
+ isAutoincrement: false;
472
+ hasRuntimeDefault: false;
473
+ enumValues: undefined;
474
+ baseColumn: never;
475
+ identity: undefined;
476
+ generated: undefined;
477
+ }, {}, {}>;
478
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
479
+ name: "created_at";
480
+ tableName: "orders";
481
+ dataType: "date";
482
+ columnType: "PgTimestamp";
483
+ data: Date;
484
+ driverParam: string;
485
+ notNull: true;
486
+ hasDefault: true;
487
+ isPrimaryKey: false;
488
+ isAutoincrement: false;
489
+ hasRuntimeDefault: false;
490
+ enumValues: undefined;
491
+ baseColumn: never;
492
+ identity: undefined;
493
+ generated: undefined;
494
+ }, {}, {}>;
495
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
496
+ name: "updated_at";
497
+ tableName: "orders";
498
+ dataType: "date";
499
+ columnType: "PgTimestamp";
500
+ data: Date;
501
+ driverParam: string;
502
+ notNull: true;
503
+ hasDefault: true;
504
+ isPrimaryKey: false;
505
+ isAutoincrement: false;
506
+ hasRuntimeDefault: false;
507
+ enumValues: undefined;
508
+ baseColumn: never;
509
+ identity: undefined;
510
+ generated: undefined;
511
+ }, {}, {}>;
512
+ deletedAt: import("drizzle-orm/pg-core").PgColumn<{
513
+ name: "deleted_at";
514
+ tableName: "orders";
515
+ dataType: "date";
516
+ columnType: "PgTimestamp";
517
+ data: Date;
518
+ driverParam: string;
519
+ notNull: false;
520
+ hasDefault: false;
521
+ isPrimaryKey: false;
522
+ isAutoincrement: false;
523
+ hasRuntimeDefault: false;
524
+ enumValues: undefined;
525
+ baseColumn: never;
526
+ identity: undefined;
527
+ generated: undefined;
528
+ }, {}, {}>;
529
+ };
530
+ dialect: "pg";
531
+ }>;
532
+ export type Product = typeof products.$inferSelect;
533
+ export type NewProduct = typeof products.$inferInsert;
534
+ export type Order = typeof orders.$inferSelect;
535
+ export type NewOrder = typeof orders.$inferInsert;
536
+ //# sourceMappingURL=products.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../src/schema/products.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,eAAO,MAAM,gBAAgB,6CAA8C,CAAC;AAC5E,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAM9D,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDpB,CAAC;AAMF,eAAO,MAAM,cAAc,kGAQjB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAM1D,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAgCE,MAAM;uBACV,MAAM;0BACH,MAAM;8BACF,MAAM;;;;;;;;;;;;;;2BAHT,MAAM;uBACV,MAAM;0BACH,MAAM;8BACF,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwB7B,CAAC;AAMF,MAAM,MAAM,OAAO,GAAG,OAAO,QAAQ,CAAC,YAAY,CAAC;AACnD,MAAM,MAAM,UAAU,GAAG,OAAO,QAAQ,CAAC,YAAY,CAAC;AACtD,MAAM,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,YAAY,CAAC;AAC/C,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,YAAY,CAAC"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Product and Order tables
3
+ *
4
+ * Products are standalone content items (Stripe-backed).
5
+ * Orders track purchases with status, line items, and customer info.
6
+ */
7
+ import { boolean, index, integer, jsonb, pgTable, text, timestamp } from 'drizzle-orm/pg-core';
8
+ import { users } from './users.js';
9
+ // =============================================================================
10
+ // Product Statuses
11
+ // =============================================================================
12
+ export const PRODUCT_STATUSES = ['draft', 'published', 'archived'];
13
+ // =============================================================================
14
+ // Products Table
15
+ // =============================================================================
16
+ export const products = pgTable('products', {
17
+ id: text('id').primaryKey(),
18
+ /** Product title */
19
+ title: text('title').notNull(),
20
+ /** URL-friendly slug */
21
+ slug: text('slug').notNull().unique(),
22
+ /** Short description */
23
+ description: text('description'),
24
+ /** Price in cents */
25
+ priceInCents: integer('price_in_cents'),
26
+ /** ISO 4217 currency code */
27
+ currency: text('currency').notNull().default('usd'),
28
+ /** Stripe Product ID (prod_xxx) */
29
+ stripeProductId: text('stripe_product_id'),
30
+ /** Stripe Price ID (price_xxx) */
31
+ stripePriceId: text('stripe_price_id'),
32
+ /** Whether the product is currently available for purchase */
33
+ active: boolean('active').notNull().default(true),
34
+ /** Publication status */
35
+ status: text('status').notNull().default('draft'),
36
+ /** Product images as JSON array of URLs */
37
+ images: jsonb('images').$type().default([]),
38
+ /** Arbitrary metadata */
39
+ metadata: jsonb('metadata'),
40
+ /** Owner / creator */
41
+ ownerId: text('owner_id').references(() => users.id, { onDelete: 'set null' }),
42
+ createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(),
43
+ updatedAt: timestamp('updated_at', { withTimezone: true }).defaultNow().notNull(),
44
+ deletedAt: timestamp('deleted_at', { withTimezone: true }),
45
+ }, (table) => [
46
+ index('products_owner_id_idx').on(table.ownerId),
47
+ index('products_status_idx').on(table.status),
48
+ index('products_deleted_at_idx').on(table.deletedAt),
49
+ index('products_slug_idx').on(table.slug),
50
+ ]);
51
+ // =============================================================================
52
+ // Order Statuses
53
+ // =============================================================================
54
+ export const ORDER_STATUSES = [
55
+ 'pending',
56
+ 'confirmed',
57
+ 'processing',
58
+ 'shipped',
59
+ 'delivered',
60
+ 'cancelled',
61
+ 'refunded',
62
+ ];
63
+ // =============================================================================
64
+ // Orders Table
65
+ // =============================================================================
66
+ export const orders = pgTable('orders', {
67
+ id: text('id').primaryKey(),
68
+ /** Customer who placed the order */
69
+ customerId: text('customer_id')
70
+ .notNull()
71
+ .references(() => users.id, { onDelete: 'cascade' }),
72
+ /** Current order status */
73
+ status: text('status').notNull().default('pending'),
74
+ /** Total amount in cents */
75
+ totalInCents: integer('total_in_cents').notNull().default(0),
76
+ /** ISO 4217 currency code */
77
+ currency: text('currency').notNull().default('usd'),
78
+ /** Stripe Payment Intent ID */
79
+ stripePaymentIntentId: text('stripe_payment_intent_id'),
80
+ /** Stripe Checkout Session ID */
81
+ stripeCheckoutSessionId: text('stripe_checkout_session_id'),
82
+ /**
83
+ * Line items as JSON array:
84
+ * [{ productId, title, quantity, priceInCents }]
85
+ */
86
+ items: jsonb('items')
87
+ .$type()
88
+ .notNull()
89
+ .default([]),
90
+ /** Shipping / billing address (optional) */
91
+ shippingAddress: jsonb('shipping_address'),
92
+ /** Arbitrary metadata */
93
+ metadata: jsonb('metadata'),
94
+ createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(),
95
+ updatedAt: timestamp('updated_at', { withTimezone: true }).defaultNow().notNull(),
96
+ /** Soft-delete — financial records must never be hard-deleted */
97
+ deletedAt: timestamp('deleted_at', { withTimezone: true }),
98
+ }, (table) => [
99
+ index('orders_customer_id_idx').on(table.customerId),
100
+ index('orders_status_idx').on(table.status),
101
+ index('orders_created_at_idx').on(table.createdAt),
102
+ index('orders_deleted_at_idx').on(table.deletedAt),
103
+ ]);
104
+ //# sourceMappingURL=products.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"products.js","sourceRoot":"","sources":["../../src/schema/products.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,11 @@
9
9
  * - Agent contexts, conversations, actions (but NOT agent_memories)
10
10
  */
11
11
  export * from './accounts.js';
12
- export { type AgentAction, type AgentContext, type AgentTaskUsage, type AiMemorySession, agentActions, agentContexts, agentTaskUsage, aiMemorySessions, type Conversation, conversations, messages, type NewAgentAction, type NewAgentContext, type NewAgentTaskUsage, type NewAiMemorySession, type NewConversation, type NewRegisteredAgent, type RegisteredAgent, registeredAgents, syncMetadata, userDevices, } from './agents.js';
12
+ export { type AgentAction, type AgentContext, type AgentCreditBalance, type AgentMemory, type AgentTaskUsage, type AiMemorySession, agentActions, agentContexts, agentCreditBalance, agentMemories, agentTaskUsage, aiMemorySessions, type Conversation, conversations, messages, type NewAgentAction, type NewAgentContext, type NewAgentCreditBalance, type NewAgentTaskUsage, type NewAiMemorySession, type NewConversation, type NewRegisteredAgent, type RegisteredAgent, registeredAgents, syncMetadata, userDevices, } from './agents.js';
13
13
  export * from './api-keys.js';
14
14
  export * from './app-logs.js';
15
15
  export * from './audit-log.js';
16
+ export * from './circuit-breaker.js';
16
17
  export * from './cms.js';
17
18
  export * from './code-provenance.js';
18
19
  export * from './collab-edits.js';
@@ -29,7 +30,9 @@ export * from './oauth-accounts.js';
29
30
  export * from './pages.js';
30
31
  export * from './passkeys.js';
31
32
  export * from './password-reset-tokens.js';
33
+ export * from './products.js';
32
34
  export * from './rate-limits.js';
35
+ export * from './revealcoin.js';
33
36
  export * from './sites.js';
34
37
  export * from './tenants.js';
35
38
  export * from './tickets.js';
@@ -1 +1 @@
1
- {"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../src/schema/rest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,cAAc,eAAe,CAAC;AAC9B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,KAAK,YAAY,EACjB,aAAa,EACb,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,gBAAgB,EAChB,YAAY,EACZ,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../src/schema/rest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,cAAc,eAAe,CAAC;AAC9B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,KAAK,YAAY,EACjB,aAAa,EACb,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,gBAAgB,EAChB,YAAY,EACZ,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AAErC,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}