@morlay/session-rdb 0.0.20 → 0.0.21-alpha.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 (69) hide show
  1. package/README.md +59 -31
  2. package/dist/artifact.d.mts +25 -65
  3. package/dist/artifact.mjs +2 -2
  4. package/dist/{schema-BkQN5GyT.d.mts → backend-DpdtxYpz.d.mts} +346 -93
  5. package/dist/{branch-Co6xlbi0.mjs → branch-5JzX9rUq.mjs} +163 -52
  6. package/dist/deletion.d.mts +7 -0
  7. package/dist/deletion.mjs +2 -0
  8. package/dist/dist-vIVO6bA-.mjs +1524 -0
  9. package/dist/import.d.mts +4 -4
  10. package/dist/import.mjs +28 -11
  11. package/dist/index.d.mts +2 -3
  12. package/dist/index.mjs +4 -1631
  13. package/dist/{log-DO69NQnn.mjs → log-CnYct2Dv.mjs} +37 -82
  14. package/dist/{sqlite-DYExtbLo.mjs → sqlite-fpvm5Dzs.mjs} +205 -75
  15. package/dist/src-CWTWV7vx.mjs +1904 -0
  16. package/dist/storage.d.mts +14 -5
  17. package/dist/storage.mjs +2 -2
  18. package/dist/testing.d.mts +1 -26
  19. package/dist/testing.mjs +10503 -9614
  20. package/drizzle/postgres/20260918120000_v3_event_usage/migration.sql +14 -0
  21. package/drizzle/postgres/20260918120000_v3_event_usage/snapshot.json +1309 -0
  22. package/drizzle/sqlite/20260918120000_v3_event_usage/migration.sql +14 -0
  23. package/drizzle/sqlite/20260918120000_v3_event_usage/snapshot.json +1031 -0
  24. package/package.json +28 -29
  25. package/src/adapters/to-postgres.ts +1 -3
  26. package/src/adapters/to-sqlite.ts +0 -2
  27. package/src/adapters/types.ts +0 -3
  28. package/src/artifact.ts +0 -2
  29. package/src/backend.ts +31 -2
  30. package/src/branch.ts +223 -135
  31. package/src/deletion.ts +87 -0
  32. package/src/drizzle/postgres-v2.ts +0 -1
  33. package/src/drizzle/postgres-v3.ts +0 -1
  34. package/src/drizzle/sqlite-v2.ts +0 -1
  35. package/src/drizzle/sqlite-v3.ts +0 -1
  36. package/src/entities/v2/session-events.ts +0 -1
  37. package/src/entities/v3/event-usage.ts +25 -0
  38. package/src/entities/v3/events.ts +1 -3
  39. package/src/entities/v3/index.ts +4 -0
  40. package/src/entities/v3/session-events.ts +1 -2
  41. package/src/entities/v3/session-projcache-rows.ts +0 -8
  42. package/src/entities/v3/sessions.ts +3 -3
  43. package/src/entities/v3/storage-units.ts +0 -1
  44. package/src/entities/v3/workspace-sessions.ts +0 -5
  45. package/src/entities/v3/workspace-state.ts +0 -6
  46. package/src/entities/v3/workspaces.ts +0 -5
  47. package/src/export.ts +103 -0
  48. package/src/gc.ts +76 -0
  49. package/src/import-storages.ts +4 -37
  50. package/src/import.ts +54 -31
  51. package/src/index.ts +150 -114
  52. package/src/legacy.ts +4 -42
  53. package/src/log.ts +63 -106
  54. package/src/postgres.ts +249 -22
  55. package/src/schema.ts +6 -6
  56. package/src/session-query.ts +0 -4
  57. package/src/sqlite.ts +231 -55
  58. package/src/storage-takeover/index.ts +2 -28
  59. package/src/storage-takeover/projection-cache.ts +30 -134
  60. package/src/storage-takeover/repository.ts +20 -59
  61. package/src/storage-takeover/storage-backend.ts +3 -33
  62. package/src/storage-takeover/types.ts +14 -56
  63. package/src/storage.ts +0 -2
  64. package/src/testing/contract.ts +19 -50
  65. package/src/testing/coordinator-contract.ts +10 -25
  66. package/src/testing.ts +1 -4
  67. package/src/usage.ts +191 -0
  68. package/dist/index-D55G9n4k.d.mts +0 -271
  69. package/dist/magic-string.es-BgJoa-3K.mjs +0 -1017
@@ -0,0 +1,1031 @@
1
+ {
2
+ "version": "7",
3
+ "dialect": "sqlite",
4
+ "id": "af5515af-4273-41da-883f-2fb9cb3305dd",
5
+ "prevIds": ["9f0f3ef7-6951-441e-ac74-b4eb613de8b4"],
6
+ "ddl": [
7
+ {
8
+ "name": "t_events",
9
+ "entityType": "tables"
10
+ },
11
+ {
12
+ "name": "t_persistence_state",
13
+ "entityType": "tables"
14
+ },
15
+ {
16
+ "name": "t_schema_meta",
17
+ "entityType": "tables"
18
+ },
19
+ {
20
+ "name": "t_session_events",
21
+ "entityType": "tables"
22
+ },
23
+ {
24
+ "name": "t_sessions",
25
+ "entityType": "tables"
26
+ },
27
+ {
28
+ "type": "integer",
29
+ "notNull": false,
30
+ "autoincrement": true,
31
+ "default": null,
32
+ "generated": null,
33
+ "name": "f_id",
34
+ "entityType": "columns",
35
+ "table": "t_events"
36
+ },
37
+ {
38
+ "type": "text",
39
+ "notNull": true,
40
+ "autoincrement": false,
41
+ "default": null,
42
+ "generated": null,
43
+ "name": "f_event_id",
44
+ "entityType": "columns",
45
+ "table": "t_events"
46
+ },
47
+ {
48
+ "type": "text",
49
+ "notNull": true,
50
+ "autoincrement": false,
51
+ "default": "''",
52
+ "generated": null,
53
+ "name": "f_parent_id",
54
+ "entityType": "columns",
55
+ "table": "t_events"
56
+ },
57
+ {
58
+ "type": "text",
59
+ "notNull": true,
60
+ "autoincrement": false,
61
+ "default": "''",
62
+ "generated": null,
63
+ "name": "f_type",
64
+ "entityType": "columns",
65
+ "table": "t_events"
66
+ },
67
+ {
68
+ "type": "text",
69
+ "notNull": true,
70
+ "autoincrement": false,
71
+ "default": "''",
72
+ "generated": null,
73
+ "name": "f_kind",
74
+ "entityType": "columns",
75
+ "table": "t_events"
76
+ },
77
+ {
78
+ "type": "text",
79
+ "notNull": true,
80
+ "autoincrement": false,
81
+ "default": "''",
82
+ "generated": null,
83
+ "name": "f_role",
84
+ "entityType": "columns",
85
+ "table": "t_events"
86
+ },
87
+ {
88
+ "type": "text",
89
+ "notNull": true,
90
+ "autoincrement": false,
91
+ "default": "''",
92
+ "generated": null,
93
+ "name": "f_name",
94
+ "entityType": "columns",
95
+ "table": "t_events"
96
+ },
97
+ {
98
+ "type": "text",
99
+ "notNull": true,
100
+ "autoincrement": false,
101
+ "default": "''",
102
+ "generated": null,
103
+ "name": "f_action_id",
104
+ "entityType": "columns",
105
+ "table": "t_events"
106
+ },
107
+ {
108
+ "type": "text",
109
+ "notNull": true,
110
+ "autoincrement": false,
111
+ "default": "''",
112
+ "generated": null,
113
+ "name": "f_encoding",
114
+ "entityType": "columns",
115
+ "table": "t_events"
116
+ },
117
+ {
118
+ "type": "text",
119
+ "notNull": true,
120
+ "autoincrement": false,
121
+ "default": null,
122
+ "generated": null,
123
+ "name": "f_data",
124
+ "entityType": "columns",
125
+ "table": "t_events"
126
+ },
127
+ {
128
+ "type": "integer",
129
+ "notNull": true,
130
+ "autoincrement": false,
131
+ "default": "0",
132
+ "generated": null,
133
+ "name": "f_created_at",
134
+ "entityType": "columns",
135
+ "table": "t_events"
136
+ },
137
+ {
138
+ "type": "integer",
139
+ "notNull": false,
140
+ "autoincrement": false,
141
+ "default": null,
142
+ "generated": null,
143
+ "name": "f_singleton",
144
+ "entityType": "columns",
145
+ "table": "t_persistence_state"
146
+ },
147
+ {
148
+ "type": "text",
149
+ "notNull": true,
150
+ "autoincrement": false,
151
+ "default": null,
152
+ "generated": null,
153
+ "name": "f_store_id",
154
+ "entityType": "columns",
155
+ "table": "t_persistence_state"
156
+ },
157
+ {
158
+ "type": "text",
159
+ "notNull": false,
160
+ "autoincrement": false,
161
+ "default": null,
162
+ "generated": null,
163
+ "name": "f_key",
164
+ "entityType": "columns",
165
+ "table": "t_schema_meta"
166
+ },
167
+ {
168
+ "type": "text",
169
+ "notNull": true,
170
+ "autoincrement": false,
171
+ "default": null,
172
+ "generated": null,
173
+ "name": "f_value",
174
+ "entityType": "columns",
175
+ "table": "t_schema_meta"
176
+ },
177
+ {
178
+ "type": "integer",
179
+ "notNull": false,
180
+ "autoincrement": true,
181
+ "default": null,
182
+ "generated": null,
183
+ "name": "f_id",
184
+ "entityType": "columns",
185
+ "table": "t_session_events"
186
+ },
187
+ {
188
+ "type": "text",
189
+ "notNull": true,
190
+ "autoincrement": false,
191
+ "default": null,
192
+ "generated": null,
193
+ "name": "f_session_id",
194
+ "entityType": "columns",
195
+ "table": "t_session_events"
196
+ },
197
+ {
198
+ "type": "text",
199
+ "notNull": true,
200
+ "autoincrement": false,
201
+ "default": null,
202
+ "generated": null,
203
+ "name": "f_event_id",
204
+ "entityType": "columns",
205
+ "table": "t_session_events"
206
+ },
207
+ {
208
+ "type": "integer",
209
+ "notNull": true,
210
+ "autoincrement": false,
211
+ "default": null,
212
+ "generated": null,
213
+ "name": "f_sequence",
214
+ "entityType": "columns",
215
+ "table": "t_session_events"
216
+ },
217
+ {
218
+ "type": "text",
219
+ "notNull": false,
220
+ "autoincrement": false,
221
+ "default": null,
222
+ "generated": null,
223
+ "name": "f_surface_op",
224
+ "entityType": "columns",
225
+ "table": "t_session_events"
226
+ },
227
+ {
228
+ "type": "integer",
229
+ "notNull": false,
230
+ "autoincrement": true,
231
+ "default": null,
232
+ "generated": null,
233
+ "name": "f_id",
234
+ "entityType": "columns",
235
+ "table": "t_sessions"
236
+ },
237
+ {
238
+ "type": "text",
239
+ "notNull": true,
240
+ "autoincrement": false,
241
+ "default": null,
242
+ "generated": null,
243
+ "name": "f_session_id",
244
+ "entityType": "columns",
245
+ "table": "t_sessions"
246
+ },
247
+ {
248
+ "type": "text",
249
+ "notNull": true,
250
+ "autoincrement": false,
251
+ "default": "''",
252
+ "generated": null,
253
+ "name": "f_head_event_id",
254
+ "entityType": "columns",
255
+ "table": "t_sessions"
256
+ },
257
+ {
258
+ "type": "integer",
259
+ "notNull": true,
260
+ "autoincrement": false,
261
+ "default": "-1",
262
+ "generated": null,
263
+ "name": "f_head_sequence",
264
+ "entityType": "columns",
265
+ "table": "t_sessions"
266
+ },
267
+ {
268
+ "type": "integer",
269
+ "notNull": true,
270
+ "autoincrement": false,
271
+ "default": null,
272
+ "generated": null,
273
+ "name": "f_version",
274
+ "entityType": "columns",
275
+ "table": "t_sessions"
276
+ },
277
+ {
278
+ "type": "integer",
279
+ "notNull": true,
280
+ "autoincrement": false,
281
+ "default": null,
282
+ "generated": null,
283
+ "name": "f_created_at",
284
+ "entityType": "columns",
285
+ "table": "t_sessions"
286
+ },
287
+ {
288
+ "type": "text",
289
+ "notNull": false,
290
+ "autoincrement": false,
291
+ "default": null,
292
+ "generated": null,
293
+ "name": "f_cwd",
294
+ "entityType": "columns",
295
+ "table": "t_sessions"
296
+ },
297
+ {
298
+ "type": "text",
299
+ "notNull": false,
300
+ "autoincrement": false,
301
+ "default": null,
302
+ "generated": null,
303
+ "name": "f_parent_session",
304
+ "entityType": "columns",
305
+ "table": "t_sessions"
306
+ },
307
+ {
308
+ "type": "integer",
309
+ "notNull": false,
310
+ "autoincrement": false,
311
+ "default": null,
312
+ "generated": null,
313
+ "name": "f_seed_length",
314
+ "entityType": "columns",
315
+ "table": "t_sessions"
316
+ },
317
+ {
318
+ "type": "text",
319
+ "notNull": false,
320
+ "autoincrement": false,
321
+ "default": null,
322
+ "generated": null,
323
+ "name": "f_origin",
324
+ "entityType": "columns",
325
+ "table": "t_sessions"
326
+ },
327
+ {
328
+ "type": "integer",
329
+ "notNull": false,
330
+ "autoincrement": false,
331
+ "default": null,
332
+ "generated": null,
333
+ "name": "f_delegation_depth",
334
+ "entityType": "columns",
335
+ "table": "t_sessions"
336
+ },
337
+ {
338
+ "type": "text",
339
+ "notNull": true,
340
+ "autoincrement": false,
341
+ "default": null,
342
+ "generated": null,
343
+ "name": "f_incarnation",
344
+ "entityType": "columns",
345
+ "table": "t_sessions"
346
+ },
347
+ {
348
+ "type": "integer",
349
+ "notNull": true,
350
+ "autoincrement": false,
351
+ "default": null,
352
+ "generated": null,
353
+ "name": "f_revision",
354
+ "entityType": "columns",
355
+ "table": "t_sessions"
356
+ },
357
+ {
358
+ "columns": ["f_session_id"],
359
+ "tableTo": "t_sessions",
360
+ "columnsTo": ["f_session_id"],
361
+ "onUpdate": "NO ACTION",
362
+ "onDelete": "CASCADE",
363
+ "nameExplicit": false,
364
+ "name": "fk_t_session_events_f_session_id_t_sessions_f_session_id_fk",
365
+ "entityType": "fks",
366
+ "table": "t_session_events"
367
+ },
368
+ {
369
+ "columns": ["f_event_id"],
370
+ "tableTo": "t_events",
371
+ "columnsTo": ["f_event_id"],
372
+ "onUpdate": "NO ACTION",
373
+ "onDelete": "CASCADE",
374
+ "nameExplicit": false,
375
+ "name": "fk_t_session_events_f_event_id_t_events_f_event_id_fk",
376
+ "entityType": "fks",
377
+ "table": "t_session_events"
378
+ },
379
+ {
380
+ "columns": ["f_id"],
381
+ "nameExplicit": false,
382
+ "name": "t_events_pk",
383
+ "table": "t_events",
384
+ "entityType": "pks"
385
+ },
386
+ {
387
+ "columns": ["f_singleton"],
388
+ "nameExplicit": false,
389
+ "name": "t_persistence_state_pk",
390
+ "table": "t_persistence_state",
391
+ "entityType": "pks"
392
+ },
393
+ {
394
+ "columns": ["f_key"],
395
+ "nameExplicit": false,
396
+ "name": "t_schema_meta_pk",
397
+ "table": "t_schema_meta",
398
+ "entityType": "pks"
399
+ },
400
+ {
401
+ "columns": ["f_id"],
402
+ "nameExplicit": false,
403
+ "name": "t_session_events_pk",
404
+ "table": "t_session_events",
405
+ "entityType": "pks"
406
+ },
407
+ {
408
+ "columns": ["f_id"],
409
+ "nameExplicit": false,
410
+ "name": "t_sessions_pk",
411
+ "table": "t_sessions",
412
+ "entityType": "pks"
413
+ },
414
+ {
415
+ "columns": [
416
+ {
417
+ "value": "f_kind",
418
+ "isExpression": false
419
+ }
420
+ ],
421
+ "isUnique": false,
422
+ "where": null,
423
+ "origin": "manual",
424
+ "name": "idx_events_kind",
425
+ "entityType": "indexes",
426
+ "table": "t_events"
427
+ },
428
+ {
429
+ "columns": [
430
+ {
431
+ "value": "f_role",
432
+ "isExpression": false
433
+ }
434
+ ],
435
+ "isUnique": false,
436
+ "where": null,
437
+ "origin": "manual",
438
+ "name": "idx_events_role",
439
+ "entityType": "indexes",
440
+ "table": "t_events"
441
+ },
442
+ {
443
+ "columns": [
444
+ {
445
+ "value": "f_name",
446
+ "isExpression": false
447
+ }
448
+ ],
449
+ "isUnique": false,
450
+ "where": null,
451
+ "origin": "manual",
452
+ "name": "idx_events_name",
453
+ "entityType": "indexes",
454
+ "table": "t_events"
455
+ },
456
+ {
457
+ "columns": [
458
+ {
459
+ "value": "f_action_id",
460
+ "isExpression": false
461
+ }
462
+ ],
463
+ "isUnique": false,
464
+ "where": null,
465
+ "origin": "manual",
466
+ "name": "idx_events_action_id",
467
+ "entityType": "indexes",
468
+ "table": "t_events"
469
+ },
470
+ {
471
+ "columns": [
472
+ {
473
+ "value": "f_event_id",
474
+ "isExpression": false
475
+ }
476
+ ],
477
+ "isUnique": false,
478
+ "where": null,
479
+ "origin": "manual",
480
+ "name": "idx_session_events_event_id",
481
+ "entityType": "indexes",
482
+ "table": "t_session_events"
483
+ },
484
+ {
485
+ "columns": ["f_session_id", "f_sequence"],
486
+ "nameExplicit": true,
487
+ "name": "uq_session_events_session_sequence",
488
+ "entityType": "uniques",
489
+ "table": "t_session_events"
490
+ },
491
+ {
492
+ "columns": ["f_event_id"],
493
+ "nameExplicit": false,
494
+ "name": "t_events_f_event_id_unique",
495
+ "entityType": "uniques",
496
+ "table": "t_events"
497
+ },
498
+ {
499
+ "columns": ["f_session_id"],
500
+ "nameExplicit": false,
501
+ "name": "t_sessions_f_session_id_unique",
502
+ "entityType": "uniques",
503
+ "table": "t_sessions"
504
+ },
505
+ {
506
+ "value": "f_singleton = 1",
507
+ "name": "ck_persistence_state_singleton",
508
+ "entityType": "checks",
509
+ "table": "t_persistence_state"
510
+ },
511
+ {
512
+ "name": "t_session_projcache_row",
513
+ "entityType": "tables"
514
+ },
515
+ {
516
+ "name": "t_storage_units",
517
+ "entityType": "tables"
518
+ },
519
+ {
520
+ "name": "t_workspace_state",
521
+ "entityType": "tables"
522
+ },
523
+ {
524
+ "name": "t_workspaces",
525
+ "entityType": "tables"
526
+ },
527
+ {
528
+ "name": "t_workspace_sessions",
529
+ "entityType": "tables"
530
+ },
531
+ {
532
+ "type": "integer",
533
+ "notNull": false,
534
+ "autoincrement": false,
535
+ "default": null,
536
+ "generated": null,
537
+ "name": "f_archived_at",
538
+ "entityType": "columns",
539
+ "table": "t_sessions"
540
+ },
541
+ {
542
+ "type": "text",
543
+ "notNull": false,
544
+ "autoincrement": false,
545
+ "default": null,
546
+ "generated": null,
547
+ "name": "f_title",
548
+ "entityType": "columns",
549
+ "table": "t_sessions"
550
+ },
551
+ {
552
+ "type": "integer",
553
+ "notNull": false,
554
+ "autoincrement": false,
555
+ "default": null,
556
+ "generated": null,
557
+ "name": "f_title_seq",
558
+ "entityType": "columns",
559
+ "table": "t_sessions"
560
+ },
561
+ {
562
+ "type": "integer",
563
+ "notNull": false,
564
+ "autoincrement": true,
565
+ "default": null,
566
+ "generated": null,
567
+ "name": "f_id",
568
+ "entityType": "columns",
569
+ "table": "t_session_projcache_row"
570
+ },
571
+ {
572
+ "type": "text",
573
+ "notNull": true,
574
+ "autoincrement": false,
575
+ "default": null,
576
+ "generated": null,
577
+ "name": "f_session_id",
578
+ "entityType": "columns",
579
+ "table": "t_session_projcache_row"
580
+ },
581
+ {
582
+ "type": "text",
583
+ "notNull": true,
584
+ "autoincrement": false,
585
+ "default": null,
586
+ "generated": null,
587
+ "name": "f_key",
588
+ "entityType": "columns",
589
+ "table": "t_session_projcache_row"
590
+ },
591
+ {
592
+ "type": "integer",
593
+ "notNull": true,
594
+ "autoincrement": false,
595
+ "default": null,
596
+ "generated": null,
597
+ "name": "f_ver",
598
+ "entityType": "columns",
599
+ "table": "t_session_projcache_row"
600
+ },
601
+ {
602
+ "type": "integer",
603
+ "notNull": true,
604
+ "autoincrement": false,
605
+ "default": null,
606
+ "generated": null,
607
+ "name": "f_seq",
608
+ "entityType": "columns",
609
+ "table": "t_session_projcache_row"
610
+ },
611
+ {
612
+ "type": "text",
613
+ "notNull": true,
614
+ "autoincrement": false,
615
+ "default": null,
616
+ "generated": null,
617
+ "name": "f_val",
618
+ "entityType": "columns",
619
+ "table": "t_session_projcache_row"
620
+ },
621
+ {
622
+ "type": "text",
623
+ "notNull": false,
624
+ "autoincrement": false,
625
+ "default": null,
626
+ "generated": null,
627
+ "name": "f_name",
628
+ "entityType": "columns",
629
+ "table": "t_storage_units"
630
+ },
631
+ {
632
+ "type": "integer",
633
+ "notNull": true,
634
+ "autoincrement": false,
635
+ "default": null,
636
+ "generated": null,
637
+ "name": "f_version",
638
+ "entityType": "columns",
639
+ "table": "t_storage_units"
640
+ },
641
+ {
642
+ "type": "integer",
643
+ "notNull": false,
644
+ "autoincrement": false,
645
+ "default": null,
646
+ "generated": null,
647
+ "name": "f_singleton",
648
+ "entityType": "columns",
649
+ "table": "t_workspace_state"
650
+ },
651
+ {
652
+ "type": "integer",
653
+ "notNull": true,
654
+ "autoincrement": false,
655
+ "default": null,
656
+ "generated": null,
657
+ "name": "f_initialized",
658
+ "entityType": "columns",
659
+ "table": "t_workspace_state"
660
+ },
661
+ {
662
+ "type": "text",
663
+ "notNull": false,
664
+ "autoincrement": false,
665
+ "default": null,
666
+ "generated": null,
667
+ "name": "f_pending_operation",
668
+ "entityType": "columns",
669
+ "table": "t_workspace_state"
670
+ },
671
+ {
672
+ "type": "text",
673
+ "notNull": false,
674
+ "autoincrement": false,
675
+ "default": null,
676
+ "generated": null,
677
+ "name": "f_pending_workspace_id",
678
+ "entityType": "columns",
679
+ "table": "t_workspace_state"
680
+ },
681
+ {
682
+ "type": "integer",
683
+ "notNull": false,
684
+ "autoincrement": true,
685
+ "default": null,
686
+ "generated": null,
687
+ "name": "f_id",
688
+ "entityType": "columns",
689
+ "table": "t_workspaces"
690
+ },
691
+ {
692
+ "type": "text",
693
+ "notNull": true,
694
+ "autoincrement": false,
695
+ "default": null,
696
+ "generated": null,
697
+ "name": "f_workspace_id",
698
+ "entityType": "columns",
699
+ "table": "t_workspaces"
700
+ },
701
+ {
702
+ "type": "text",
703
+ "notNull": true,
704
+ "autoincrement": false,
705
+ "default": null,
706
+ "generated": null,
707
+ "name": "f_path",
708
+ "entityType": "columns",
709
+ "table": "t_workspaces"
710
+ },
711
+ {
712
+ "type": "text",
713
+ "notNull": true,
714
+ "autoincrement": false,
715
+ "default": null,
716
+ "generated": null,
717
+ "name": "f_title",
718
+ "entityType": "columns",
719
+ "table": "t_workspaces"
720
+ },
721
+ {
722
+ "type": "text",
723
+ "notNull": true,
724
+ "autoincrement": false,
725
+ "default": null,
726
+ "generated": null,
727
+ "name": "f_created_at",
728
+ "entityType": "columns",
729
+ "table": "t_workspaces"
730
+ },
731
+ {
732
+ "type": "text",
733
+ "notNull": true,
734
+ "autoincrement": false,
735
+ "default": null,
736
+ "generated": null,
737
+ "name": "f_updated_at",
738
+ "entityType": "columns",
739
+ "table": "t_workspaces"
740
+ },
741
+ {
742
+ "type": "integer",
743
+ "notNull": true,
744
+ "autoincrement": false,
745
+ "default": "-1",
746
+ "generated": null,
747
+ "name": "f_position",
748
+ "entityType": "columns",
749
+ "table": "t_workspaces"
750
+ },
751
+ {
752
+ "type": "integer",
753
+ "notNull": false,
754
+ "autoincrement": true,
755
+ "default": null,
756
+ "generated": null,
757
+ "name": "f_id",
758
+ "entityType": "columns",
759
+ "table": "t_workspace_sessions"
760
+ },
761
+ {
762
+ "type": "text",
763
+ "notNull": true,
764
+ "autoincrement": false,
765
+ "default": null,
766
+ "generated": null,
767
+ "name": "f_workspace_id",
768
+ "entityType": "columns",
769
+ "table": "t_workspace_sessions"
770
+ },
771
+ {
772
+ "type": "text",
773
+ "notNull": true,
774
+ "autoincrement": false,
775
+ "default": null,
776
+ "generated": null,
777
+ "name": "f_session_id",
778
+ "entityType": "columns",
779
+ "table": "t_workspace_sessions"
780
+ },
781
+ {
782
+ "type": "integer",
783
+ "notNull": true,
784
+ "autoincrement": false,
785
+ "default": null,
786
+ "generated": null,
787
+ "name": "f_position",
788
+ "entityType": "columns",
789
+ "table": "t_workspace_sessions"
790
+ },
791
+ {
792
+ "columns": ["f_id"],
793
+ "nameExplicit": false,
794
+ "name": "t_session_projcache_row_pk",
795
+ "table": "t_session_projcache_row",
796
+ "entityType": "pks"
797
+ },
798
+ {
799
+ "columns": ["f_name"],
800
+ "nameExplicit": false,
801
+ "name": "t_storage_units_pk",
802
+ "table": "t_storage_units",
803
+ "entityType": "pks"
804
+ },
805
+ {
806
+ "columns": ["f_singleton"],
807
+ "nameExplicit": false,
808
+ "name": "t_workspace_state_pk",
809
+ "table": "t_workspace_state",
810
+ "entityType": "pks"
811
+ },
812
+ {
813
+ "columns": ["f_id"],
814
+ "nameExplicit": false,
815
+ "name": "t_workspaces_pk",
816
+ "table": "t_workspaces",
817
+ "entityType": "pks"
818
+ },
819
+ {
820
+ "columns": ["f_id"],
821
+ "nameExplicit": false,
822
+ "name": "t_workspace_sessions_pk",
823
+ "table": "t_workspace_sessions",
824
+ "entityType": "pks"
825
+ },
826
+ {
827
+ "columns": ["f_session_id", "f_key"],
828
+ "nameExplicit": true,
829
+ "name": "uq_session_projcache_row_session_key",
830
+ "entityType": "uniques",
831
+ "table": "t_session_projcache_row"
832
+ },
833
+ {
834
+ "columns": ["f_workspace_id"],
835
+ "nameExplicit": false,
836
+ "name": "t_workspaces_f_workspace_id_unique",
837
+ "entityType": "uniques",
838
+ "table": "t_workspaces"
839
+ },
840
+ {
841
+ "columns": ["f_workspace_id", "f_session_id"],
842
+ "nameExplicit": true,
843
+ "name": "uq_workspace_sessions_workspace_session",
844
+ "entityType": "uniques",
845
+ "table": "t_workspace_sessions"
846
+ },
847
+ {
848
+ "columns": [
849
+ {
850
+ "value": "f_key",
851
+ "isExpression": false
852
+ }
853
+ ],
854
+ "isUnique": false,
855
+ "where": null,
856
+ "origin": "manual",
857
+ "name": "idx_session_projcache_row_key",
858
+ "entityType": "indexes",
859
+ "table": "t_session_projcache_row"
860
+ },
861
+ {
862
+ "columns": [
863
+ {
864
+ "value": "f_session_id",
865
+ "isExpression": false
866
+ }
867
+ ],
868
+ "isUnique": false,
869
+ "where": null,
870
+ "origin": "manual",
871
+ "name": "idx_workspace_sessions_session_id",
872
+ "entityType": "indexes",
873
+ "table": "t_workspace_sessions"
874
+ },
875
+ {
876
+ "value": "f_singleton = 1",
877
+ "name": "ck_workspace_state_singleton",
878
+ "entityType": "checks",
879
+ "table": "t_workspace_state"
880
+ },
881
+ {
882
+ "columns": ["f_session_id"],
883
+ "tableTo": "t_sessions",
884
+ "columnsTo": ["f_session_id"],
885
+ "onUpdate": "NO ACTION",
886
+ "onDelete": "CASCADE",
887
+ "nameExplicit": false,
888
+ "name": "fk_t_session_projcache_row_f_session_id_t_sessions_f_session_id_fk",
889
+ "entityType": "fks",
890
+ "table": "t_session_projcache_row"
891
+ },
892
+ {
893
+ "columns": ["f_workspace_id"],
894
+ "tableTo": "t_workspaces",
895
+ "columnsTo": ["f_workspace_id"],
896
+ "onUpdate": "NO ACTION",
897
+ "onDelete": "CASCADE",
898
+ "nameExplicit": false,
899
+ "name": "fk_t_workspace_sessions_f_workspace_id_t_workspaces_f_workspace_id_fk",
900
+ "entityType": "fks",
901
+ "table": "t_workspace_sessions"
902
+ },
903
+ {
904
+ "name": "t_event_usage",
905
+ "entityType": "tables"
906
+ },
907
+ {
908
+ "type": "text",
909
+ "notNull": true,
910
+ "autoincrement": false,
911
+ "default": "null",
912
+ "generated": null,
913
+ "name": "f_event_id",
914
+ "entityType": "columns",
915
+ "table": "t_event_usage"
916
+ },
917
+ {
918
+ "type": "integer",
919
+ "notNull": true,
920
+ "autoincrement": false,
921
+ "default": "null",
922
+ "generated": null,
923
+ "name": "f_created_at",
924
+ "entityType": "columns",
925
+ "table": "t_event_usage"
926
+ },
927
+ {
928
+ "type": "text",
929
+ "notNull": false,
930
+ "autoincrement": false,
931
+ "default": "null",
932
+ "generated": null,
933
+ "name": "f_provider",
934
+ "entityType": "columns",
935
+ "table": "t_event_usage"
936
+ },
937
+ {
938
+ "type": "text",
939
+ "notNull": false,
940
+ "autoincrement": false,
941
+ "default": "null",
942
+ "generated": null,
943
+ "name": "f_model",
944
+ "entityType": "columns",
945
+ "table": "t_event_usage"
946
+ },
947
+ {
948
+ "type": "integer",
949
+ "notNull": true,
950
+ "autoincrement": false,
951
+ "default": "0",
952
+ "generated": null,
953
+ "name": "f_input_tokens",
954
+ "entityType": "columns",
955
+ "table": "t_event_usage"
956
+ },
957
+ {
958
+ "type": "integer",
959
+ "notNull": true,
960
+ "autoincrement": false,
961
+ "default": "0",
962
+ "generated": null,
963
+ "name": "f_output_tokens",
964
+ "entityType": "columns",
965
+ "table": "t_event_usage"
966
+ },
967
+ {
968
+ "type": "integer",
969
+ "notNull": true,
970
+ "autoincrement": false,
971
+ "default": "0",
972
+ "generated": null,
973
+ "name": "f_cache_read_tokens",
974
+ "entityType": "columns",
975
+ "table": "t_event_usage"
976
+ },
977
+ {
978
+ "type": "integer",
979
+ "notNull": true,
980
+ "autoincrement": false,
981
+ "default": "0",
982
+ "generated": null,
983
+ "name": "f_reasoning_tokens",
984
+ "entityType": "columns",
985
+ "table": "t_event_usage"
986
+ },
987
+ {
988
+ "type": "integer",
989
+ "notNull": true,
990
+ "autoincrement": false,
991
+ "default": "0",
992
+ "generated": null,
993
+ "name": "f_total_tokens",
994
+ "entityType": "columns",
995
+ "table": "t_event_usage"
996
+ },
997
+ {
998
+ "columns": ["f_event_id"],
999
+ "nameExplicit": false,
1000
+ "name": "t_event_usage_pk",
1001
+ "table": "t_event_usage",
1002
+ "entityType": "pks"
1003
+ },
1004
+ {
1005
+ "columns": [
1006
+ {
1007
+ "value": "f_created_at",
1008
+ "isExpression": false
1009
+ }
1010
+ ],
1011
+ "isUnique": false,
1012
+ "where": null,
1013
+ "origin": "manual",
1014
+ "name": "idx_event_usage_created_at",
1015
+ "entityType": "indexes",
1016
+ "table": "t_event_usage"
1017
+ },
1018
+ {
1019
+ "columns": ["f_event_id"],
1020
+ "tableTo": "t_events",
1021
+ "columnsTo": ["f_event_id"],
1022
+ "onUpdate": "NO ACTION",
1023
+ "onDelete": "CASCADE",
1024
+ "nameExplicit": false,
1025
+ "name": "fk_t_event_usage_f_event_id_t_events_f_event_id_fk",
1026
+ "entityType": "fks",
1027
+ "table": "t_event_usage"
1028
+ }
1029
+ ],
1030
+ "renames": []
1031
+ }