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