@morlay/session-rdb 0.0.15 → 0.0.16-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 (65) hide show
  1. package/README.md +11 -13
  2. package/dist/artifact.d.mts +30 -16
  3. package/dist/artifact.mjs +3 -3
  4. package/dist/{import-DFed8DBt.mjs → import-mZZgDBLd.mjs} +73 -83
  5. package/dist/import.d.mts +2 -3
  6. package/dist/import.mjs +2 -2
  7. package/dist/index-GdKkSSb-.d.mts +239 -0
  8. package/dist/index.d.mts +3 -3
  9. package/dist/index.mjs +763 -168
  10. package/dist/log-DBFUBPhv.mjs +394 -0
  11. package/dist/{schema-CFXZURX7.d.mts → schema-COK7-wRV.d.mts} +3 -15
  12. package/dist/sqlite-CnWwGToZ.mjs +698 -0
  13. package/dist/storage.d.mts +2 -7
  14. package/dist/storage.mjs +2 -3
  15. package/dist/testing.d.mts +30 -1
  16. package/dist/testing.mjs +676 -1991
  17. package/drizzle/postgres/20260908072805_v2_initial/migration.sql +58 -0
  18. package/drizzle/postgres/20260908072805_v2_initial/snapshot.json +686 -0
  19. package/drizzle/postgres/20260908072806_v3_drop_original_seq/migration.sql +1 -0
  20. package/drizzle/postgres/20260908072806_v3_drop_original_seq/snapshot.json +673 -0
  21. package/drizzle/sqlite/20260908072751_v2_initial/migration.sql +53 -0
  22. package/drizzle/sqlite/20260908072751_v2_initial/snapshot.json +492 -0
  23. package/drizzle/sqlite/20260908072752_v3_drop_original_seq/migration.sql +6 -0
  24. package/drizzle/sqlite/20260908072752_v3_drop_original_seq/snapshot.json +513 -0
  25. package/package.json +17 -12
  26. package/src/adapters/index.ts +10 -2
  27. package/src/adapters/to-postgres.ts +19 -15
  28. package/src/adapters/to-sqlite.ts +20 -14
  29. package/src/{entities → adapters}/types.ts +7 -8
  30. package/src/backend.ts +0 -7
  31. package/src/branch.ts +29 -110
  32. package/src/drizzle/postgres-v2.ts +11 -0
  33. package/src/drizzle/postgres-v3.ts +11 -0
  34. package/src/drizzle/sqlite-v2.ts +10 -0
  35. package/src/drizzle/sqlite-v3.ts +11 -0
  36. package/src/entities/index.ts +2 -30
  37. package/src/entities/v2/index.ts +20 -0
  38. package/src/entities/v2/session-events.ts +11 -0
  39. package/src/entities/v3/events.ts +27 -0
  40. package/src/entities/v3/index.ts +27 -0
  41. package/src/entities/v3/persistence-state.ts +10 -0
  42. package/src/entities/v3/schema-meta.ts +9 -0
  43. package/src/entities/v3/session-events.ts +26 -0
  44. package/src/entities/v3/sessions.ts +20 -0
  45. package/src/import.ts +65 -57
  46. package/src/index.ts +929 -227
  47. package/src/invariant.ts +0 -2
  48. package/src/legacy.ts +110 -0
  49. package/src/log.ts +143 -91
  50. package/src/postgres.ts +75 -93
  51. package/src/schema.ts +3 -14
  52. package/src/sqlite.ts +59 -46
  53. package/src/testing/contract.ts +460 -375
  54. package/src/testing/coordinator-contract.ts +108 -1374
  55. package/src/testing.ts +1 -6
  56. package/dist/index-uUvn6gYp.d.mts +0 -111
  57. package/dist/schema-vwzwEXNE.mjs +0 -878
  58. package/dist/sqlite-CG_Qcx5C.mjs +0 -356
  59. package/src/adapters/ddl.ts +0 -77
  60. package/src/entities/events.ts +0 -27
  61. package/src/entities/persistence-state.ts +0 -10
  62. package/src/entities/schema-meta.ts +0 -9
  63. package/src/entities/session-events.ts +0 -29
  64. package/src/entities/sessions.ts +0 -20
  65. package/src/migrate.ts +0 -137
@@ -0,0 +1,53 @@
1
+ CREATE TABLE `t_events` (
2
+ `f_id` integer PRIMARY KEY AUTOINCREMENT,
3
+ `f_event_id` text NOT NULL UNIQUE,
4
+ `f_parent_id` text DEFAULT '' NOT NULL,
5
+ `f_type` text DEFAULT '' NOT NULL,
6
+ `f_kind` text DEFAULT '' NOT NULL,
7
+ `f_role` text DEFAULT '' NOT NULL,
8
+ `f_name` text DEFAULT '' NOT NULL,
9
+ `f_action_id` text DEFAULT '' NOT NULL,
10
+ `f_encoding` text DEFAULT '' NOT NULL,
11
+ `f_data` text NOT NULL,
12
+ `f_created_at` integer DEFAULT 0 NOT NULL
13
+ );
14
+ --> statement-breakpoint
15
+ CREATE TABLE `t_persistence_state` (
16
+ `f_singleton` integer PRIMARY KEY,
17
+ `f_store_id` text NOT NULL,
18
+ CONSTRAINT "ck_persistence_state_singleton" CHECK(f_singleton = 1)
19
+ );
20
+ --> statement-breakpoint
21
+ CREATE TABLE `t_session_events` (
22
+ `f_id` integer PRIMARY KEY AUTOINCREMENT,
23
+ `f_session_id` text NOT NULL,
24
+ `f_event_id` text NOT NULL,
25
+ `f_sequence` integer NOT NULL,
26
+ `f_surface_op` text,
27
+ `f_original_seq` integer NOT NULL,
28
+ CONSTRAINT `fk_t_session_events_f_session_id_t_sessions_f_session_id_fk` FOREIGN KEY (`f_session_id`) REFERENCES `t_sessions`(`f_session_id`) ON DELETE CASCADE,
29
+ CONSTRAINT `fk_t_session_events_f_event_id_t_events_f_event_id_fk` FOREIGN KEY (`f_event_id`) REFERENCES `t_events`(`f_event_id`) ON DELETE CASCADE,
30
+ CONSTRAINT `uq_session_events_session_sequence` UNIQUE(`f_session_id`,`f_sequence`)
31
+ );
32
+ --> statement-breakpoint
33
+ CREATE TABLE `t_sessions` (
34
+ `f_id` integer PRIMARY KEY AUTOINCREMENT,
35
+ `f_session_id` text NOT NULL UNIQUE,
36
+ `f_head_event_id` text DEFAULT '' NOT NULL,
37
+ `f_head_sequence` integer DEFAULT -1 NOT NULL,
38
+ `f_version` integer NOT NULL,
39
+ `f_created_at` integer NOT NULL,
40
+ `f_cwd` text,
41
+ `f_parent_session` text,
42
+ `f_seed_length` integer,
43
+ `f_origin` text,
44
+ `f_delegation_depth` integer,
45
+ `f_incarnation` text NOT NULL,
46
+ `f_revision` integer NOT NULL
47
+ );
48
+ --> statement-breakpoint
49
+ CREATE INDEX `idx_events_kind` ON `t_events` (`f_kind`);--> statement-breakpoint
50
+ CREATE INDEX `idx_events_role` ON `t_events` (`f_role`);--> statement-breakpoint
51
+ CREATE INDEX `idx_events_name` ON `t_events` (`f_name`);--> statement-breakpoint
52
+ CREATE INDEX `idx_events_action_id` ON `t_events` (`f_action_id`);--> statement-breakpoint
53
+ CREATE INDEX `idx_session_events_event_id` ON `t_session_events` (`f_event_id`);
@@ -0,0 +1,492 @@
1
+ {
2
+ "version": "7",
3
+ "dialect": "sqlite",
4
+ "id": "fb2bcab4-68a8-41b5-8493-804915c1ab54",
5
+ "prevIds": ["00000000-0000-0000-0000-000000000000"],
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_session_events",
17
+ "entityType": "tables"
18
+ },
19
+ {
20
+ "name": "t_sessions",
21
+ "entityType": "tables"
22
+ },
23
+ {
24
+ "type": "integer",
25
+ "notNull": false,
26
+ "autoincrement": true,
27
+ "default": null,
28
+ "generated": null,
29
+ "name": "f_id",
30
+ "entityType": "columns",
31
+ "table": "t_events"
32
+ },
33
+ {
34
+ "type": "text",
35
+ "notNull": true,
36
+ "autoincrement": false,
37
+ "default": null,
38
+ "generated": null,
39
+ "name": "f_event_id",
40
+ "entityType": "columns",
41
+ "table": "t_events"
42
+ },
43
+ {
44
+ "type": "text",
45
+ "notNull": true,
46
+ "autoincrement": false,
47
+ "default": "''",
48
+ "generated": null,
49
+ "name": "f_parent_id",
50
+ "entityType": "columns",
51
+ "table": "t_events"
52
+ },
53
+ {
54
+ "type": "text",
55
+ "notNull": true,
56
+ "autoincrement": false,
57
+ "default": "''",
58
+ "generated": null,
59
+ "name": "f_type",
60
+ "entityType": "columns",
61
+ "table": "t_events"
62
+ },
63
+ {
64
+ "type": "text",
65
+ "notNull": true,
66
+ "autoincrement": false,
67
+ "default": "''",
68
+ "generated": null,
69
+ "name": "f_kind",
70
+ "entityType": "columns",
71
+ "table": "t_events"
72
+ },
73
+ {
74
+ "type": "text",
75
+ "notNull": true,
76
+ "autoincrement": false,
77
+ "default": "''",
78
+ "generated": null,
79
+ "name": "f_role",
80
+ "entityType": "columns",
81
+ "table": "t_events"
82
+ },
83
+ {
84
+ "type": "text",
85
+ "notNull": true,
86
+ "autoincrement": false,
87
+ "default": "''",
88
+ "generated": null,
89
+ "name": "f_name",
90
+ "entityType": "columns",
91
+ "table": "t_events"
92
+ },
93
+ {
94
+ "type": "text",
95
+ "notNull": true,
96
+ "autoincrement": false,
97
+ "default": "''",
98
+ "generated": null,
99
+ "name": "f_action_id",
100
+ "entityType": "columns",
101
+ "table": "t_events"
102
+ },
103
+ {
104
+ "type": "text",
105
+ "notNull": true,
106
+ "autoincrement": false,
107
+ "default": "''",
108
+ "generated": null,
109
+ "name": "f_encoding",
110
+ "entityType": "columns",
111
+ "table": "t_events"
112
+ },
113
+ {
114
+ "type": "text",
115
+ "notNull": true,
116
+ "autoincrement": false,
117
+ "default": null,
118
+ "generated": null,
119
+ "name": "f_data",
120
+ "entityType": "columns",
121
+ "table": "t_events"
122
+ },
123
+ {
124
+ "type": "integer",
125
+ "notNull": true,
126
+ "autoincrement": false,
127
+ "default": "0",
128
+ "generated": null,
129
+ "name": "f_created_at",
130
+ "entityType": "columns",
131
+ "table": "t_events"
132
+ },
133
+ {
134
+ "type": "integer",
135
+ "notNull": false,
136
+ "autoincrement": false,
137
+ "default": null,
138
+ "generated": null,
139
+ "name": "f_singleton",
140
+ "entityType": "columns",
141
+ "table": "t_persistence_state"
142
+ },
143
+ {
144
+ "type": "text",
145
+ "notNull": true,
146
+ "autoincrement": false,
147
+ "default": null,
148
+ "generated": null,
149
+ "name": "f_store_id",
150
+ "entityType": "columns",
151
+ "table": "t_persistence_state"
152
+ },
153
+ {
154
+ "type": "integer",
155
+ "notNull": false,
156
+ "autoincrement": true,
157
+ "default": null,
158
+ "generated": null,
159
+ "name": "f_id",
160
+ "entityType": "columns",
161
+ "table": "t_session_events"
162
+ },
163
+ {
164
+ "type": "text",
165
+ "notNull": true,
166
+ "autoincrement": false,
167
+ "default": null,
168
+ "generated": null,
169
+ "name": "f_session_id",
170
+ "entityType": "columns",
171
+ "table": "t_session_events"
172
+ },
173
+ {
174
+ "type": "text",
175
+ "notNull": true,
176
+ "autoincrement": false,
177
+ "default": null,
178
+ "generated": null,
179
+ "name": "f_event_id",
180
+ "entityType": "columns",
181
+ "table": "t_session_events"
182
+ },
183
+ {
184
+ "type": "integer",
185
+ "notNull": true,
186
+ "autoincrement": false,
187
+ "default": null,
188
+ "generated": null,
189
+ "name": "f_sequence",
190
+ "entityType": "columns",
191
+ "table": "t_session_events"
192
+ },
193
+ {
194
+ "type": "text",
195
+ "notNull": false,
196
+ "autoincrement": false,
197
+ "default": null,
198
+ "generated": null,
199
+ "name": "f_surface_op",
200
+ "entityType": "columns",
201
+ "table": "t_session_events"
202
+ },
203
+ {
204
+ "type": "integer",
205
+ "notNull": true,
206
+ "autoincrement": false,
207
+ "default": null,
208
+ "generated": null,
209
+ "name": "f_original_seq",
210
+ "entityType": "columns",
211
+ "table": "t_session_events"
212
+ },
213
+ {
214
+ "type": "integer",
215
+ "notNull": false,
216
+ "autoincrement": true,
217
+ "default": null,
218
+ "generated": null,
219
+ "name": "f_id",
220
+ "entityType": "columns",
221
+ "table": "t_sessions"
222
+ },
223
+ {
224
+ "type": "text",
225
+ "notNull": true,
226
+ "autoincrement": false,
227
+ "default": null,
228
+ "generated": null,
229
+ "name": "f_session_id",
230
+ "entityType": "columns",
231
+ "table": "t_sessions"
232
+ },
233
+ {
234
+ "type": "text",
235
+ "notNull": true,
236
+ "autoincrement": false,
237
+ "default": "''",
238
+ "generated": null,
239
+ "name": "f_head_event_id",
240
+ "entityType": "columns",
241
+ "table": "t_sessions"
242
+ },
243
+ {
244
+ "type": "integer",
245
+ "notNull": true,
246
+ "autoincrement": false,
247
+ "default": "-1",
248
+ "generated": null,
249
+ "name": "f_head_sequence",
250
+ "entityType": "columns",
251
+ "table": "t_sessions"
252
+ },
253
+ {
254
+ "type": "integer",
255
+ "notNull": true,
256
+ "autoincrement": false,
257
+ "default": null,
258
+ "generated": null,
259
+ "name": "f_version",
260
+ "entityType": "columns",
261
+ "table": "t_sessions"
262
+ },
263
+ {
264
+ "type": "integer",
265
+ "notNull": true,
266
+ "autoincrement": false,
267
+ "default": null,
268
+ "generated": null,
269
+ "name": "f_created_at",
270
+ "entityType": "columns",
271
+ "table": "t_sessions"
272
+ },
273
+ {
274
+ "type": "text",
275
+ "notNull": false,
276
+ "autoincrement": false,
277
+ "default": null,
278
+ "generated": null,
279
+ "name": "f_cwd",
280
+ "entityType": "columns",
281
+ "table": "t_sessions"
282
+ },
283
+ {
284
+ "type": "text",
285
+ "notNull": false,
286
+ "autoincrement": false,
287
+ "default": null,
288
+ "generated": null,
289
+ "name": "f_parent_session",
290
+ "entityType": "columns",
291
+ "table": "t_sessions"
292
+ },
293
+ {
294
+ "type": "integer",
295
+ "notNull": false,
296
+ "autoincrement": false,
297
+ "default": null,
298
+ "generated": null,
299
+ "name": "f_seed_length",
300
+ "entityType": "columns",
301
+ "table": "t_sessions"
302
+ },
303
+ {
304
+ "type": "text",
305
+ "notNull": false,
306
+ "autoincrement": false,
307
+ "default": null,
308
+ "generated": null,
309
+ "name": "f_origin",
310
+ "entityType": "columns",
311
+ "table": "t_sessions"
312
+ },
313
+ {
314
+ "type": "integer",
315
+ "notNull": false,
316
+ "autoincrement": false,
317
+ "default": null,
318
+ "generated": null,
319
+ "name": "f_delegation_depth",
320
+ "entityType": "columns",
321
+ "table": "t_sessions"
322
+ },
323
+ {
324
+ "type": "text",
325
+ "notNull": true,
326
+ "autoincrement": false,
327
+ "default": null,
328
+ "generated": null,
329
+ "name": "f_incarnation",
330
+ "entityType": "columns",
331
+ "table": "t_sessions"
332
+ },
333
+ {
334
+ "type": "integer",
335
+ "notNull": true,
336
+ "autoincrement": false,
337
+ "default": null,
338
+ "generated": null,
339
+ "name": "f_revision",
340
+ "entityType": "columns",
341
+ "table": "t_sessions"
342
+ },
343
+ {
344
+ "columns": ["f_session_id"],
345
+ "tableTo": "t_sessions",
346
+ "columnsTo": ["f_session_id"],
347
+ "onUpdate": "NO ACTION",
348
+ "onDelete": "CASCADE",
349
+ "nameExplicit": false,
350
+ "name": "fk_t_session_events_f_session_id_t_sessions_f_session_id_fk",
351
+ "entityType": "fks",
352
+ "table": "t_session_events"
353
+ },
354
+ {
355
+ "columns": ["f_event_id"],
356
+ "tableTo": "t_events",
357
+ "columnsTo": ["f_event_id"],
358
+ "onUpdate": "NO ACTION",
359
+ "onDelete": "CASCADE",
360
+ "nameExplicit": false,
361
+ "name": "fk_t_session_events_f_event_id_t_events_f_event_id_fk",
362
+ "entityType": "fks",
363
+ "table": "t_session_events"
364
+ },
365
+ {
366
+ "columns": ["f_id"],
367
+ "nameExplicit": false,
368
+ "name": "t_events_pk",
369
+ "table": "t_events",
370
+ "entityType": "pks"
371
+ },
372
+ {
373
+ "columns": ["f_singleton"],
374
+ "nameExplicit": false,
375
+ "name": "t_persistence_state_pk",
376
+ "table": "t_persistence_state",
377
+ "entityType": "pks"
378
+ },
379
+ {
380
+ "columns": ["f_id"],
381
+ "nameExplicit": false,
382
+ "name": "t_session_events_pk",
383
+ "table": "t_session_events",
384
+ "entityType": "pks"
385
+ },
386
+ {
387
+ "columns": ["f_id"],
388
+ "nameExplicit": false,
389
+ "name": "t_sessions_pk",
390
+ "table": "t_sessions",
391
+ "entityType": "pks"
392
+ },
393
+ {
394
+ "columns": [
395
+ {
396
+ "value": "f_kind",
397
+ "isExpression": false
398
+ }
399
+ ],
400
+ "isUnique": false,
401
+ "where": null,
402
+ "origin": "manual",
403
+ "name": "idx_events_kind",
404
+ "entityType": "indexes",
405
+ "table": "t_events"
406
+ },
407
+ {
408
+ "columns": [
409
+ {
410
+ "value": "f_role",
411
+ "isExpression": false
412
+ }
413
+ ],
414
+ "isUnique": false,
415
+ "where": null,
416
+ "origin": "manual",
417
+ "name": "idx_events_role",
418
+ "entityType": "indexes",
419
+ "table": "t_events"
420
+ },
421
+ {
422
+ "columns": [
423
+ {
424
+ "value": "f_name",
425
+ "isExpression": false
426
+ }
427
+ ],
428
+ "isUnique": false,
429
+ "where": null,
430
+ "origin": "manual",
431
+ "name": "idx_events_name",
432
+ "entityType": "indexes",
433
+ "table": "t_events"
434
+ },
435
+ {
436
+ "columns": [
437
+ {
438
+ "value": "f_action_id",
439
+ "isExpression": false
440
+ }
441
+ ],
442
+ "isUnique": false,
443
+ "where": null,
444
+ "origin": "manual",
445
+ "name": "idx_events_action_id",
446
+ "entityType": "indexes",
447
+ "table": "t_events"
448
+ },
449
+ {
450
+ "columns": [
451
+ {
452
+ "value": "f_event_id",
453
+ "isExpression": false
454
+ }
455
+ ],
456
+ "isUnique": false,
457
+ "where": null,
458
+ "origin": "manual",
459
+ "name": "idx_session_events_event_id",
460
+ "entityType": "indexes",
461
+ "table": "t_session_events"
462
+ },
463
+ {
464
+ "columns": ["f_session_id", "f_sequence"],
465
+ "nameExplicit": true,
466
+ "name": "uq_session_events_session_sequence",
467
+ "entityType": "uniques",
468
+ "table": "t_session_events"
469
+ },
470
+ {
471
+ "columns": ["f_event_id"],
472
+ "nameExplicit": false,
473
+ "name": "t_events_f_event_id_unique",
474
+ "entityType": "uniques",
475
+ "table": "t_events"
476
+ },
477
+ {
478
+ "columns": ["f_session_id"],
479
+ "nameExplicit": false,
480
+ "name": "t_sessions_f_session_id_unique",
481
+ "entityType": "uniques",
482
+ "table": "t_sessions"
483
+ },
484
+ {
485
+ "value": "f_singleton = 1",
486
+ "name": "ck_persistence_state_singleton",
487
+ "entityType": "checks",
488
+ "table": "t_persistence_state"
489
+ }
490
+ ],
491
+ "renames": []
492
+ }
@@ -0,0 +1,6 @@
1
+ CREATE TABLE `t_schema_meta` (
2
+ `f_key` text PRIMARY KEY,
3
+ `f_value` text NOT NULL
4
+ );
5
+ --> statement-breakpoint
6
+ ALTER TABLE `t_session_events` DROP COLUMN `f_original_seq`;