@storyshelf/db-sqlite 0.6.2 → 0.8.0

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 (93) hide show
  1. package/README.md +9 -9
  2. package/dist/better-sqlite3.d.mts +0 -2
  3. package/dist/better-sqlite3.mjs +8 -4
  4. package/dist/better-sqlite3.mjs.map +1 -1
  5. package/dist/bun-sqlite.d.mts +0 -2
  6. package/dist/bun-sqlite.mjs +8 -4
  7. package/dist/bun-sqlite.mjs.map +1 -1
  8. package/dist/d1.d.mts +0 -2
  9. package/dist/d1.mjs +6 -5
  10. package/dist/d1.mjs.map +1 -1
  11. package/dist/ddl.d.mts +10 -4
  12. package/dist/ddl.mjs +247 -16
  13. package/dist/ddl.mjs.map +1 -1
  14. package/dist/drizzle-factory.d.mts +0 -2
  15. package/dist/drizzle-factory.mjs +6 -3
  16. package/dist/drizzle-factory.mjs.map +1 -1
  17. package/dist/ensure-db-dir.mjs +2 -4
  18. package/dist/ensure-db-dir.mjs.map +1 -1
  19. package/dist/index.d.mts +4 -3
  20. package/dist/index.mjs +9 -5
  21. package/dist/index.mjs.map +1 -1
  22. package/dist/schema/baseline.d.mts +87 -13
  23. package/dist/schema/baseline.mjs +6 -3
  24. package/dist/schema/baseline.mjs.map +1 -1
  25. package/dist/schema/{status-config.d.mts → build-component.d.mts} +41 -36
  26. package/dist/schema/build-component.mjs +21 -0
  27. package/dist/schema/build-component.mjs.map +1 -0
  28. package/dist/schema/build-review.d.mts +127 -0
  29. package/dist/schema/build-review.mjs +19 -0
  30. package/dist/schema/build-review.mjs.map +1 -0
  31. package/dist/schema/build.d.mts +81 -25
  32. package/dist/schema/build.mjs +5 -2
  33. package/dist/schema/build.mjs.map +1 -1
  34. package/dist/schema/capture-attempt.d.mts +25 -27
  35. package/dist/schema/capture-attempt.mjs +1 -2
  36. package/dist/schema/capture-job.d.mts +357 -0
  37. package/dist/schema/capture-job.mjs +37 -0
  38. package/dist/schema/capture-job.mjs.map +1 -0
  39. package/dist/schema/capture-shard.d.mts +279 -0
  40. package/dist/schema/capture-shard.mjs +27 -0
  41. package/dist/schema/capture-shard.mjs.map +1 -0
  42. package/dist/schema/comment.d.mts +31 -13
  43. package/dist/schema/comment.mjs +4 -4
  44. package/dist/schema/comment.mjs.map +1 -1
  45. package/dist/schema/connection.d.mts +189 -0
  46. package/dist/schema/connection.mjs +25 -0
  47. package/dist/schema/connection.mjs.map +1 -0
  48. package/dist/schema/content-refs.d.mts +0 -2
  49. package/dist/schema/content-refs.mjs +1 -2
  50. package/dist/schema/design.d.mts +647 -0
  51. package/dist/schema/design.mjs +48 -0
  52. package/dist/schema/design.mjs.map +1 -0
  53. package/dist/schema/insight.d.mts +687 -0
  54. package/dist/schema/insight.mjs +52 -0
  55. package/dist/schema/insight.mjs.map +1 -0
  56. package/dist/schema/label.d.mts +15 -17
  57. package/dist/schema/label.mjs +1 -2
  58. package/dist/schema/member.d.mts +7 -9
  59. package/dist/schema/member.mjs +1 -2
  60. package/dist/schema/notification.d.mts +58 -20
  61. package/dist/schema/notification.mjs +3 -2
  62. package/dist/schema/notification.mjs.map +1 -1
  63. package/dist/schema/project-group-mapping.d.mts +6 -8
  64. package/dist/schema/project-group-mapping.mjs +1 -2
  65. package/dist/schema/project.d.mts +132 -2
  66. package/dist/schema/project.mjs +9 -3
  67. package/dist/schema/project.mjs.map +1 -1
  68. package/dist/schema/site-setting.d.mts +107 -0
  69. package/dist/schema/site-setting.mjs +16 -0
  70. package/dist/schema/site-setting.mjs.map +1 -0
  71. package/dist/schema/snapshot.d.mts +203 -27
  72. package/dist/schema/snapshot.mjs +15 -3
  73. package/dist/schema/snapshot.mjs.map +1 -1
  74. package/dist/schema/token.d.mts +8 -10
  75. package/dist/schema/token.mjs +1 -2
  76. package/dist/schema/usage.d.mts +291 -0
  77. package/dist/schema/usage.mjs +29 -0
  78. package/dist/schema/usage.mjs.map +1 -0
  79. package/dist/schema/user-invite.d.mts +7 -9
  80. package/dist/schema/user-invite.mjs +1 -2
  81. package/dist/schema/user.d.mts +0 -2
  82. package/dist/schema/user.mjs +1 -2
  83. package/dist/schema/webhook.d.mts +8 -10
  84. package/dist/schema/webhook.mjs +1 -2
  85. package/dist/schema.d.mts +24 -5
  86. package/dist/schema.mjs +26 -6
  87. package/dist/schema.mjs.map +1 -1
  88. package/dist/turso.d.mts +2 -4
  89. package/dist/turso.mjs +20 -8
  90. package/dist/turso.mjs.map +1 -1
  91. package/package.json +7 -7
  92. package/dist/schema/status-config.mjs +0 -20
  93. package/dist/schema/status-config.mjs.map +0 -1
@@ -0,0 +1,647 @@
1
+ import __tsdown_shims_path from 'node:path';
2
+ import __tsdown_shims_url from 'node:url';
3
+ /** Narrow `design_links` table definition. */
4
+ declare const designLinks: import("drizzle-orm/sqlite-core/table.js").SQLiteTableWithColumns<{
5
+ name: "design_links";
6
+ schema: undefined;
7
+ columns: {
8
+ id: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
9
+ name: "id";
10
+ tableName: "design_links";
11
+ dataType: "string";
12
+ columnType: "SQLiteText";
13
+ data: string;
14
+ driverParam: string;
15
+ notNull: true;
16
+ hasDefault: false;
17
+ isPrimaryKey: true;
18
+ isAutoincrement: false;
19
+ hasRuntimeDefault: false;
20
+ enumValues: [string, ...string[]];
21
+ baseColumn: never;
22
+ identity: undefined;
23
+ generated: undefined;
24
+ }, {}, {
25
+ length: number | undefined;
26
+ }>;
27
+ projectId: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
28
+ name: "project_id";
29
+ tableName: "design_links";
30
+ dataType: "string";
31
+ columnType: "SQLiteText";
32
+ data: string;
33
+ driverParam: string;
34
+ notNull: true;
35
+ hasDefault: false;
36
+ isPrimaryKey: false;
37
+ isAutoincrement: false;
38
+ hasRuntimeDefault: false;
39
+ enumValues: [string, ...string[]];
40
+ baseColumn: never;
41
+ identity: undefined;
42
+ generated: undefined;
43
+ }, {}, {
44
+ length: number | undefined;
45
+ }>;
46
+ importPath: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
47
+ name: "import_path";
48
+ tableName: "design_links";
49
+ dataType: "string";
50
+ columnType: "SQLiteText";
51
+ data: string;
52
+ driverParam: string;
53
+ notNull: false;
54
+ hasDefault: false;
55
+ isPrimaryKey: false;
56
+ isAutoincrement: false;
57
+ hasRuntimeDefault: false;
58
+ enumValues: [string, ...string[]];
59
+ baseColumn: never;
60
+ identity: undefined;
61
+ generated: undefined;
62
+ }, {}, {
63
+ length: number | undefined;
64
+ }>;
65
+ label: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
66
+ name: "label";
67
+ tableName: "design_links";
68
+ dataType: "string";
69
+ columnType: "SQLiteText";
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
+ length: number | undefined;
83
+ }>;
84
+ url: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
85
+ name: "url";
86
+ tableName: "design_links";
87
+ dataType: "string";
88
+ columnType: "SQLiteText";
89
+ data: string;
90
+ driverParam: string;
91
+ notNull: true;
92
+ hasDefault: false;
93
+ isPrimaryKey: false;
94
+ isAutoincrement: false;
95
+ hasRuntimeDefault: false;
96
+ enumValues: [string, ...string[]];
97
+ baseColumn: never;
98
+ identity: undefined;
99
+ generated: undefined;
100
+ }, {}, {
101
+ length: number | undefined;
102
+ }>;
103
+ createdAt: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
104
+ name: "created_at";
105
+ tableName: "design_links";
106
+ dataType: "string";
107
+ columnType: "SQLiteText";
108
+ data: string;
109
+ driverParam: string;
110
+ notNull: true;
111
+ hasDefault: false;
112
+ isPrimaryKey: false;
113
+ isAutoincrement: false;
114
+ hasRuntimeDefault: false;
115
+ enumValues: [string, ...string[]];
116
+ baseColumn: never;
117
+ identity: undefined;
118
+ generated: undefined;
119
+ }, {}, {
120
+ length: number | undefined;
121
+ }>;
122
+ updatedAt: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
123
+ name: "updated_at";
124
+ tableName: "design_links";
125
+ dataType: "string";
126
+ columnType: "SQLiteText";
127
+ data: string;
128
+ driverParam: string;
129
+ notNull: true;
130
+ hasDefault: false;
131
+ isPrimaryKey: false;
132
+ isAutoincrement: false;
133
+ hasRuntimeDefault: false;
134
+ enumValues: [string, ...string[]];
135
+ baseColumn: never;
136
+ identity: undefined;
137
+ generated: undefined;
138
+ }, {}, {
139
+ length: number | undefined;
140
+ }>;
141
+ };
142
+ dialect: 'sqlite';
143
+ }>;
144
+ /** Narrow `design_credentials` table definition: the project-wide design-provider token. */
145
+ declare const designCredentials: import("drizzle-orm/sqlite-core/table.js").SQLiteTableWithColumns<{
146
+ name: "design_credentials";
147
+ schema: undefined;
148
+ columns: {
149
+ id: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
150
+ name: "id";
151
+ tableName: "design_credentials";
152
+ dataType: "string";
153
+ columnType: "SQLiteText";
154
+ data: string;
155
+ driverParam: string;
156
+ notNull: true;
157
+ hasDefault: false;
158
+ isPrimaryKey: true;
159
+ isAutoincrement: false;
160
+ hasRuntimeDefault: false;
161
+ enumValues: [string, ...string[]];
162
+ baseColumn: never;
163
+ identity: undefined;
164
+ generated: undefined;
165
+ }, {}, {
166
+ length: number | undefined;
167
+ }>;
168
+ projectId: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
169
+ name: "project_id";
170
+ tableName: "design_credentials";
171
+ dataType: "string";
172
+ columnType: "SQLiteText";
173
+ data: string;
174
+ driverParam: string;
175
+ notNull: true;
176
+ hasDefault: false;
177
+ isPrimaryKey: false;
178
+ isAutoincrement: false;
179
+ hasRuntimeDefault: false;
180
+ enumValues: [string, ...string[]];
181
+ baseColumn: never;
182
+ identity: undefined;
183
+ generated: undefined;
184
+ }, {}, {
185
+ length: number | undefined;
186
+ }>;
187
+ provider: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
188
+ name: "provider";
189
+ tableName: "design_credentials";
190
+ dataType: "string";
191
+ columnType: "SQLiteText";
192
+ data: string;
193
+ driverParam: string;
194
+ notNull: true;
195
+ hasDefault: false;
196
+ isPrimaryKey: false;
197
+ isAutoincrement: false;
198
+ hasRuntimeDefault: false;
199
+ enumValues: [string, ...string[]];
200
+ baseColumn: never;
201
+ identity: undefined;
202
+ generated: undefined;
203
+ }, {}, {
204
+ length: number | undefined;
205
+ }>;
206
+ tokenEncrypted: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
207
+ name: "token_encrypted";
208
+ tableName: "design_credentials";
209
+ dataType: "string";
210
+ columnType: "SQLiteText";
211
+ data: string;
212
+ driverParam: string;
213
+ notNull: true;
214
+ hasDefault: false;
215
+ isPrimaryKey: false;
216
+ isAutoincrement: false;
217
+ hasRuntimeDefault: false;
218
+ enumValues: [string, ...string[]];
219
+ baseColumn: never;
220
+ identity: undefined;
221
+ generated: undefined;
222
+ }, {}, {
223
+ length: number | undefined;
224
+ }>;
225
+ status: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
226
+ name: "status";
227
+ tableName: "design_credentials";
228
+ dataType: "string";
229
+ columnType: "SQLiteText";
230
+ data: string;
231
+ driverParam: string;
232
+ notNull: true;
233
+ hasDefault: true;
234
+ isPrimaryKey: false;
235
+ isAutoincrement: false;
236
+ hasRuntimeDefault: false;
237
+ enumValues: [string, ...string[]];
238
+ baseColumn: never;
239
+ identity: undefined;
240
+ generated: undefined;
241
+ }, {}, {
242
+ length: number | undefined;
243
+ }>;
244
+ checkedAt: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
245
+ name: "checked_at";
246
+ tableName: "design_credentials";
247
+ dataType: "string";
248
+ columnType: "SQLiteText";
249
+ data: string;
250
+ driverParam: string;
251
+ notNull: false;
252
+ hasDefault: false;
253
+ isPrimaryKey: false;
254
+ isAutoincrement: false;
255
+ hasRuntimeDefault: false;
256
+ enumValues: [string, ...string[]];
257
+ baseColumn: never;
258
+ identity: undefined;
259
+ generated: undefined;
260
+ }, {}, {
261
+ length: number | undefined;
262
+ }>;
263
+ createdAt: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
264
+ name: "created_at";
265
+ tableName: "design_credentials";
266
+ dataType: "string";
267
+ columnType: "SQLiteText";
268
+ data: string;
269
+ driverParam: string;
270
+ notNull: true;
271
+ hasDefault: false;
272
+ isPrimaryKey: false;
273
+ isAutoincrement: false;
274
+ hasRuntimeDefault: false;
275
+ enumValues: [string, ...string[]];
276
+ baseColumn: never;
277
+ identity: undefined;
278
+ generated: undefined;
279
+ }, {}, {
280
+ length: number | undefined;
281
+ }>;
282
+ updatedAt: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
283
+ name: "updated_at";
284
+ tableName: "design_credentials";
285
+ dataType: "string";
286
+ columnType: "SQLiteText";
287
+ data: string;
288
+ driverParam: string;
289
+ notNull: true;
290
+ hasDefault: false;
291
+ isPrimaryKey: false;
292
+ isAutoincrement: false;
293
+ hasRuntimeDefault: false;
294
+ enumValues: [string, ...string[]];
295
+ baseColumn: never;
296
+ identity: undefined;
297
+ generated: undefined;
298
+ }, {}, {
299
+ length: number | undefined;
300
+ }>;
301
+ };
302
+ dialect: 'sqlite';
303
+ }>;
304
+ /** Narrow `design_nodes` table definition (design metadata + render cache). */
305
+ declare const designNodes: import("drizzle-orm/sqlite-core/table.js").SQLiteTableWithColumns<{
306
+ name: "design_nodes";
307
+ schema: undefined;
308
+ columns: {
309
+ id: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
310
+ name: "id";
311
+ tableName: "design_nodes";
312
+ dataType: "string";
313
+ columnType: "SQLiteText";
314
+ data: string;
315
+ driverParam: string;
316
+ notNull: true;
317
+ hasDefault: false;
318
+ isPrimaryKey: true;
319
+ isAutoincrement: false;
320
+ hasRuntimeDefault: false;
321
+ enumValues: [string, ...string[]];
322
+ baseColumn: never;
323
+ identity: undefined;
324
+ generated: undefined;
325
+ }, {}, {
326
+ length: number | undefined;
327
+ }>;
328
+ projectId: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
329
+ name: "project_id";
330
+ tableName: "design_nodes";
331
+ dataType: "string";
332
+ columnType: "SQLiteText";
333
+ data: string;
334
+ driverParam: string;
335
+ notNull: true;
336
+ hasDefault: false;
337
+ isPrimaryKey: false;
338
+ isAutoincrement: false;
339
+ hasRuntimeDefault: false;
340
+ enumValues: [string, ...string[]];
341
+ baseColumn: never;
342
+ identity: undefined;
343
+ generated: undefined;
344
+ }, {}, {
345
+ length: number | undefined;
346
+ }>;
347
+ provider: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
348
+ name: "provider";
349
+ tableName: "design_nodes";
350
+ dataType: "string";
351
+ columnType: "SQLiteText";
352
+ data: string;
353
+ driverParam: string;
354
+ notNull: true;
355
+ hasDefault: false;
356
+ isPrimaryKey: false;
357
+ isAutoincrement: false;
358
+ hasRuntimeDefault: false;
359
+ enumValues: [string, ...string[]];
360
+ baseColumn: never;
361
+ identity: undefined;
362
+ generated: undefined;
363
+ }, {}, {
364
+ length: number | undefined;
365
+ }>;
366
+ viewerId: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
367
+ name: "viewer_id";
368
+ tableName: "design_nodes";
369
+ dataType: "string";
370
+ columnType: "SQLiteText";
371
+ data: string;
372
+ driverParam: string;
373
+ notNull: true;
374
+ hasDefault: true;
375
+ isPrimaryKey: false;
376
+ isAutoincrement: false;
377
+ hasRuntimeDefault: false;
378
+ enumValues: [string, ...string[]];
379
+ baseColumn: never;
380
+ identity: undefined;
381
+ generated: undefined;
382
+ }, {}, {
383
+ length: number | undefined;
384
+ }>;
385
+ fileKey: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
386
+ name: "file_key";
387
+ tableName: "design_nodes";
388
+ dataType: "string";
389
+ columnType: "SQLiteText";
390
+ data: string;
391
+ driverParam: string;
392
+ notNull: true;
393
+ hasDefault: false;
394
+ isPrimaryKey: false;
395
+ isAutoincrement: false;
396
+ hasRuntimeDefault: false;
397
+ enumValues: [string, ...string[]];
398
+ baseColumn: never;
399
+ identity: undefined;
400
+ generated: undefined;
401
+ }, {}, {
402
+ length: number | undefined;
403
+ }>;
404
+ nodeId: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
405
+ name: "node_id";
406
+ tableName: "design_nodes";
407
+ dataType: "string";
408
+ columnType: "SQLiteText";
409
+ data: string;
410
+ driverParam: string;
411
+ notNull: true;
412
+ hasDefault: true;
413
+ isPrimaryKey: false;
414
+ isAutoincrement: false;
415
+ hasRuntimeDefault: false;
416
+ enumValues: [string, ...string[]];
417
+ baseColumn: never;
418
+ identity: undefined;
419
+ generated: undefined;
420
+ }, {}, {
421
+ length: number | undefined;
422
+ }>;
423
+ name: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
424
+ name: "name";
425
+ tableName: "design_nodes";
426
+ dataType: "string";
427
+ columnType: "SQLiteText";
428
+ data: string;
429
+ driverParam: string;
430
+ notNull: false;
431
+ hasDefault: false;
432
+ isPrimaryKey: false;
433
+ isAutoincrement: false;
434
+ hasRuntimeDefault: false;
435
+ enumValues: [string, ...string[]];
436
+ baseColumn: never;
437
+ identity: undefined;
438
+ generated: undefined;
439
+ }, {}, {
440
+ length: number | undefined;
441
+ }>;
442
+ version: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
443
+ name: "version";
444
+ tableName: "design_nodes";
445
+ dataType: "string";
446
+ columnType: "SQLiteText";
447
+ data: string;
448
+ driverParam: string;
449
+ notNull: false;
450
+ hasDefault: false;
451
+ isPrimaryKey: false;
452
+ isAutoincrement: false;
453
+ hasRuntimeDefault: false;
454
+ enumValues: [string, ...string[]];
455
+ baseColumn: never;
456
+ identity: undefined;
457
+ generated: undefined;
458
+ }, {}, {
459
+ length: number | undefined;
460
+ }>;
461
+ lastModified: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
462
+ name: "last_modified";
463
+ tableName: "design_nodes";
464
+ dataType: "string";
465
+ columnType: "SQLiteText";
466
+ data: string;
467
+ driverParam: string;
468
+ notNull: false;
469
+ hasDefault: false;
470
+ isPrimaryKey: false;
471
+ isAutoincrement: false;
472
+ hasRuntimeDefault: false;
473
+ enumValues: [string, ...string[]];
474
+ baseColumn: never;
475
+ identity: undefined;
476
+ generated: undefined;
477
+ }, {}, {
478
+ length: number | undefined;
479
+ }>;
480
+ state: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
481
+ name: "state";
482
+ tableName: "design_nodes";
483
+ dataType: "string";
484
+ columnType: "SQLiteText";
485
+ data: string;
486
+ driverParam: string;
487
+ notNull: true;
488
+ hasDefault: true;
489
+ isPrimaryKey: false;
490
+ isAutoincrement: false;
491
+ hasRuntimeDefault: false;
492
+ enumValues: [string, ...string[]];
493
+ baseColumn: never;
494
+ identity: undefined;
495
+ generated: undefined;
496
+ }, {}, {
497
+ length: number | undefined;
498
+ }>;
499
+ renderPath: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
500
+ name: "render_path";
501
+ tableName: "design_nodes";
502
+ dataType: "string";
503
+ columnType: "SQLiteText";
504
+ data: string;
505
+ driverParam: string;
506
+ notNull: false;
507
+ hasDefault: false;
508
+ isPrimaryKey: false;
509
+ isAutoincrement: false;
510
+ hasRuntimeDefault: false;
511
+ enumValues: [string, ...string[]];
512
+ baseColumn: never;
513
+ identity: undefined;
514
+ generated: undefined;
515
+ }, {}, {
516
+ length: number | undefined;
517
+ }>;
518
+ renderVersion: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
519
+ name: "render_version";
520
+ tableName: "design_nodes";
521
+ dataType: "string";
522
+ columnType: "SQLiteText";
523
+ data: string;
524
+ driverParam: string;
525
+ notNull: false;
526
+ hasDefault: false;
527
+ isPrimaryKey: false;
528
+ isAutoincrement: false;
529
+ hasRuntimeDefault: false;
530
+ enumValues: [string, ...string[]];
531
+ baseColumn: never;
532
+ identity: undefined;
533
+ generated: undefined;
534
+ }, {}, {
535
+ length: number | undefined;
536
+ }>;
537
+ fetchedAt: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
538
+ name: "fetched_at";
539
+ tableName: "design_nodes";
540
+ dataType: "string";
541
+ columnType: "SQLiteText";
542
+ data: string;
543
+ driverParam: string;
544
+ notNull: true;
545
+ hasDefault: false;
546
+ isPrimaryKey: false;
547
+ isAutoincrement: false;
548
+ hasRuntimeDefault: false;
549
+ enumValues: [string, ...string[]];
550
+ baseColumn: never;
551
+ identity: undefined;
552
+ generated: undefined;
553
+ }, {}, {
554
+ length: number | undefined;
555
+ }>;
556
+ createdAt: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
557
+ name: "created_at";
558
+ tableName: "design_nodes";
559
+ dataType: "string";
560
+ columnType: "SQLiteText";
561
+ data: string;
562
+ driverParam: string;
563
+ notNull: true;
564
+ hasDefault: false;
565
+ isPrimaryKey: false;
566
+ isAutoincrement: false;
567
+ hasRuntimeDefault: false;
568
+ enumValues: [string, ...string[]];
569
+ baseColumn: never;
570
+ identity: undefined;
571
+ generated: undefined;
572
+ }, {}, {
573
+ length: number | undefined;
574
+ }>;
575
+ updatedAt: import("drizzle-orm/sqlite-core/index.js").SQLiteColumn<{
576
+ name: "updated_at";
577
+ tableName: "design_nodes";
578
+ dataType: "string";
579
+ columnType: "SQLiteText";
580
+ data: string;
581
+ driverParam: string;
582
+ notNull: true;
583
+ hasDefault: false;
584
+ isPrimaryKey: false;
585
+ isAutoincrement: false;
586
+ hasRuntimeDefault: false;
587
+ enumValues: [string, ...string[]];
588
+ baseColumn: never;
589
+ identity: undefined;
590
+ generated: undefined;
591
+ }, {}, {
592
+ length: number | undefined;
593
+ }>;
594
+ };
595
+ dialect: 'sqlite';
596
+ }>;
597
+ /** A design link: a project-level file link (`importPath` null) or a component mapping override. */
598
+ interface DesignLink {
599
+ id: string;
600
+ projectId: string;
601
+ /** Story file the URL is mapped to; null for a project-level design file link. */
602
+ importPath: string | null;
603
+ /** Display label of a project-level link. */
604
+ label: string | null;
605
+ url: string;
606
+ createdAt: string;
607
+ updatedAt: string;
608
+ }
609
+ /** The project-wide token of a design provider (an admin pastes it; encrypted at rest). */
610
+ interface DesignCredential {
611
+ id: string;
612
+ projectId: string;
613
+ /** Provider `metadata.kind`, e.g. `figma`. */
614
+ provider: string;
615
+ tokenEncrypted: string;
616
+ /** Last API outcome: `unknown` | `ok` | `unauthorized` | `forbidden`. */
617
+ status: string;
618
+ checkedAt: string | null;
619
+ /** When the credential was set or replaced; drives the rotation clock. */
620
+ createdAt: string;
621
+ updatedAt: string;
622
+ }
623
+ /** Cached design file/node metadata, keyed by project, provider, viewer, file key and node id. */
624
+ interface DesignNode {
625
+ id: string;
626
+ projectId: string;
627
+ provider: string;
628
+ /** Whose access fetched the entry: `""` for the project credential, else a user id. */
629
+ viewerId: string;
630
+ fileKey: string;
631
+ /** Provider node id; empty string for a whole-file link. */
632
+ nodeId: string;
633
+ name: string | null;
634
+ version: string | null;
635
+ lastModified: string | null;
636
+ /** `ok` | `deleted` | `unauthorized` | `forbidden`. */
637
+ state: string;
638
+ /** Storage path of the cached PNG render (node links only). */
639
+ renderPath: string | null;
640
+ /** File `version` the cached render was taken at. */
641
+ renderVersion: string | null;
642
+ fetchedAt: string;
643
+ createdAt: string;
644
+ updatedAt: string;
645
+ }
646
+ export { DesignCredential, DesignLink, DesignNode, designCredentials, designLinks, designNodes };
647
+ //# sourceMappingURL=design.d.mts.map
@@ -0,0 +1,48 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { projects } from "./project.mjs";
5
+ import { index, sqliteTable, text, uniqueIndex } from "drizzle-orm/sqlite-core";
6
+ // src/schema/design.ts
7
+ /** Narrow `design_links` table definition. */
8
+ const designLinks = sqliteTable("design_links", {
9
+ id: text("id").primaryKey(),
10
+ projectId: text("project_id").notNull().references(() => projects.id, { onDelete: "cascade" }),
11
+ importPath: text("import_path"),
12
+ label: text("label"),
13
+ url: text("url").notNull(),
14
+ createdAt: text("created_at").notNull(),
15
+ updatedAt: text("updated_at").notNull()
16
+ }, (t) => [index("design_links_project_id_idx").on(t.projectId), uniqueIndex("design_links_project_import_path_idx").on(t.projectId, t.importPath)]);
17
+ /** Narrow `design_credentials` table definition: the project-wide design-provider token. */
18
+ const designCredentials = sqliteTable("design_credentials", {
19
+ id: text("id").primaryKey(),
20
+ projectId: text("project_id").notNull().references(() => projects.id, { onDelete: "cascade" }),
21
+ provider: text("provider").notNull(),
22
+ tokenEncrypted: text("token_encrypted").notNull(),
23
+ status: text("status").notNull().default("unknown"),
24
+ checkedAt: text("checked_at"),
25
+ createdAt: text("created_at").notNull(),
26
+ updatedAt: text("updated_at").notNull()
27
+ }, (t) => [uniqueIndex("design_credentials_project_provider_idx").on(t.projectId, t.provider)]);
28
+ /** Narrow `design_nodes` table definition (design metadata + render cache). */
29
+ const designNodes = sqliteTable("design_nodes", {
30
+ id: text("id").primaryKey(),
31
+ projectId: text("project_id").notNull().references(() => projects.id, { onDelete: "cascade" }),
32
+ provider: text("provider").notNull(),
33
+ viewerId: text("viewer_id").notNull().default(""),
34
+ fileKey: text("file_key").notNull(),
35
+ nodeId: text("node_id").notNull().default(""),
36
+ name: text("name"),
37
+ version: text("version"),
38
+ lastModified: text("last_modified"),
39
+ state: text("state").notNull().default("ok"),
40
+ renderPath: text("render_path"),
41
+ renderVersion: text("render_version"),
42
+ fetchedAt: text("fetched_at").notNull(),
43
+ createdAt: text("created_at").notNull(),
44
+ updatedAt: text("updated_at").notNull()
45
+ }, (t) => [uniqueIndex("design_nodes_project_file_node_idx").on(t.projectId, t.provider, t.viewerId, t.fileKey, t.nodeId)]);
46
+ export { designCredentials, designLinks, designNodes };
47
+
48
+ //# sourceMappingURL=design.mjs.map