@ykurilov/agent-chat-storage-postgres 0.0.0-stage → 0.55.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 (46) hide show
  1. package/CHANGELOG.md +1213 -0
  2. package/LICENSE +21 -0
  3. package/README.md +37 -2
  4. package/dist/index.js +801 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/types/drizzle-chat-storage.d.ts +1604 -0
  7. package/dist/types/index.d.ts +2 -0
  8. package/dist/types/migrate.d.ts +6 -0
  9. package/dist/types/postgres-storage.d.ts +18 -0
  10. package/dist/types/schema.d.ts +1678 -0
  11. package/drizzle/0000_init.sql +32 -0
  12. package/drizzle/0001_chat_reasoning.sql +1 -0
  13. package/drizzle/0002_compactions.sql +16 -0
  14. package/drizzle/0003_branch_selections.sql +10 -0
  15. package/drizzle/0004_chat_title.sql +22 -0
  16. package/drizzle/0005_usage_records.sql +19 -0
  17. package/drizzle/0006_user_model_choices.sql +7 -0
  18. package/drizzle/0007_voice_dialog.sql +7 -0
  19. package/drizzle/0008_memory_notes.sql +11 -0
  20. package/drizzle/0009_memory_optimization.sql +15 -0
  21. package/drizzle/0010_usage_estimated.sql +1 -0
  22. package/drizzle/0011_message_alive_at.sql +1 -0
  23. package/drizzle/0012_spending_limit_states.sql +6 -0
  24. package/drizzle/0013_chat_origin.sql +1 -0
  25. package/drizzle/0014_chat_subject_after_turn.sql +5 -0
  26. package/drizzle/0015_chat_closed.sql +1 -0
  27. package/drizzle/0016_chat_turn_leases.sql +5 -0
  28. package/drizzle/meta/0000_snapshot.json +259 -0
  29. package/drizzle/meta/0001_snapshot.json +265 -0
  30. package/drizzle/meta/0002_snapshot.json +392 -0
  31. package/drizzle/meta/0003_snapshot.json +483 -0
  32. package/drizzle/meta/0004_snapshot.json +489 -0
  33. package/drizzle/meta/0005_snapshot.json +629 -0
  34. package/drizzle/meta/0006_snapshot.json +672 -0
  35. package/drizzle/meta/0007_snapshot.json +709 -0
  36. package/drizzle/meta/0008_snapshot.json +787 -0
  37. package/drizzle/meta/0009_snapshot.json +908 -0
  38. package/drizzle/meta/0010_snapshot.json +915 -0
  39. package/drizzle/meta/0011_snapshot.json +921 -0
  40. package/drizzle/meta/0012_snapshot.json +958 -0
  41. package/drizzle/meta/0013_snapshot.json +964 -0
  42. package/drizzle/meta/0014_snapshot.json +1019 -0
  43. package/drizzle/meta/0015_snapshot.json +1025 -0
  44. package/drizzle/meta/0016_snapshot.json +1056 -0
  45. package/drizzle/meta/_journal.json +125 -0
  46. package/package.json +46 -3
@@ -0,0 +1,672 @@
1
+ {
2
+ "id": "8384c070-84e8-4725-a135-8e5a3c25936a",
3
+ "prevId": "c8bcc108-761b-4b80-9d66-ef3ad98a0ca8",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "agent_chat.branch_selections": {
8
+ "name": "branch_selections",
9
+ "schema": "agent_chat",
10
+ "columns": {
11
+ "seq": {
12
+ "name": "seq",
13
+ "type": "bigint",
14
+ "primaryKey": false,
15
+ "notNull": true,
16
+ "identity": {
17
+ "type": "always",
18
+ "name": "branch_selections_seq_seq",
19
+ "schema": "agent_chat",
20
+ "increment": "1",
21
+ "startWith": "1",
22
+ "minValue": "1",
23
+ "maxValue": "9223372036854775807",
24
+ "cache": "1",
25
+ "cycle": false
26
+ }
27
+ },
28
+ "id": {
29
+ "name": "id",
30
+ "type": "text",
31
+ "primaryKey": true,
32
+ "notNull": true
33
+ },
34
+ "chat_id": {
35
+ "name": "chat_id",
36
+ "type": "text",
37
+ "primaryKey": false,
38
+ "notNull": true
39
+ },
40
+ "message_id": {
41
+ "name": "message_id",
42
+ "type": "text",
43
+ "primaryKey": false,
44
+ "notNull": true
45
+ },
46
+ "selected_at": {
47
+ "name": "selected_at",
48
+ "type": "text",
49
+ "primaryKey": false,
50
+ "notNull": true
51
+ }
52
+ },
53
+ "indexes": {
54
+ "branch_selections_chat_seq_idx": {
55
+ "name": "branch_selections_chat_seq_idx",
56
+ "columns": [
57
+ {
58
+ "expression": "chat_id",
59
+ "isExpression": false,
60
+ "asc": true,
61
+ "nulls": "last"
62
+ },
63
+ {
64
+ "expression": "seq",
65
+ "isExpression": false,
66
+ "asc": true,
67
+ "nulls": "last"
68
+ }
69
+ ],
70
+ "isUnique": false,
71
+ "concurrently": false,
72
+ "method": "btree",
73
+ "with": {}
74
+ }
75
+ },
76
+ "foreignKeys": {
77
+ "branch_selections_chat_id_chats_id_fk": {
78
+ "name": "branch_selections_chat_id_chats_id_fk",
79
+ "tableFrom": "branch_selections",
80
+ "tableTo": "chats",
81
+ "schemaTo": "agent_chat",
82
+ "columnsFrom": [
83
+ "chat_id"
84
+ ],
85
+ "columnsTo": [
86
+ "id"
87
+ ],
88
+ "onDelete": "cascade",
89
+ "onUpdate": "no action"
90
+ }
91
+ },
92
+ "compositePrimaryKeys": {},
93
+ "uniqueConstraints": {},
94
+ "policies": {},
95
+ "checkConstraints": {},
96
+ "isRLSEnabled": false
97
+ },
98
+ "agent_chat.chats": {
99
+ "name": "chats",
100
+ "schema": "agent_chat",
101
+ "columns": {
102
+ "id": {
103
+ "name": "id",
104
+ "type": "text",
105
+ "primaryKey": true,
106
+ "notNull": true
107
+ },
108
+ "owner_id": {
109
+ "name": "owner_id",
110
+ "type": "text",
111
+ "primaryKey": false,
112
+ "notNull": true
113
+ },
114
+ "model_id": {
115
+ "name": "model_id",
116
+ "type": "text",
117
+ "primaryKey": false,
118
+ "notNull": true
119
+ },
120
+ "provider_id": {
121
+ "name": "provider_id",
122
+ "type": "text",
123
+ "primaryKey": false,
124
+ "notNull": true
125
+ },
126
+ "reasoning": {
127
+ "name": "reasoning",
128
+ "type": "text",
129
+ "primaryKey": false,
130
+ "notNull": false
131
+ },
132
+ "title": {
133
+ "name": "title",
134
+ "type": "text",
135
+ "primaryKey": false,
136
+ "notNull": false
137
+ },
138
+ "created_at": {
139
+ "name": "created_at",
140
+ "type": "text",
141
+ "primaryKey": false,
142
+ "notNull": true
143
+ },
144
+ "updated_at": {
145
+ "name": "updated_at",
146
+ "type": "text",
147
+ "primaryKey": false,
148
+ "notNull": true
149
+ }
150
+ },
151
+ "indexes": {
152
+ "chats_owner_updated_idx": {
153
+ "name": "chats_owner_updated_idx",
154
+ "columns": [
155
+ {
156
+ "expression": "owner_id",
157
+ "isExpression": false,
158
+ "asc": true,
159
+ "nulls": "last"
160
+ },
161
+ {
162
+ "expression": "updated_at",
163
+ "isExpression": false,
164
+ "asc": true,
165
+ "nulls": "last"
166
+ }
167
+ ],
168
+ "isUnique": false,
169
+ "concurrently": false,
170
+ "method": "btree",
171
+ "with": {}
172
+ }
173
+ },
174
+ "foreignKeys": {},
175
+ "compositePrimaryKeys": {},
176
+ "uniqueConstraints": {},
177
+ "policies": {},
178
+ "checkConstraints": {},
179
+ "isRLSEnabled": false
180
+ },
181
+ "agent_chat.compactions": {
182
+ "name": "compactions",
183
+ "schema": "agent_chat",
184
+ "columns": {
185
+ "seq": {
186
+ "name": "seq",
187
+ "type": "bigint",
188
+ "primaryKey": false,
189
+ "notNull": true,
190
+ "identity": {
191
+ "type": "always",
192
+ "name": "compactions_seq_seq",
193
+ "schema": "agent_chat",
194
+ "increment": "1",
195
+ "startWith": "1",
196
+ "minValue": "1",
197
+ "maxValue": "9223372036854775807",
198
+ "cache": "1",
199
+ "cycle": false
200
+ }
201
+ },
202
+ "id": {
203
+ "name": "id",
204
+ "type": "text",
205
+ "primaryKey": true,
206
+ "notNull": true
207
+ },
208
+ "chat_id": {
209
+ "name": "chat_id",
210
+ "type": "text",
211
+ "primaryKey": false,
212
+ "notNull": true
213
+ },
214
+ "from_message_id": {
215
+ "name": "from_message_id",
216
+ "type": "text",
217
+ "primaryKey": false,
218
+ "notNull": true
219
+ },
220
+ "through_message_id": {
221
+ "name": "through_message_id",
222
+ "type": "text",
223
+ "primaryKey": false,
224
+ "notNull": true
225
+ },
226
+ "summary": {
227
+ "name": "summary",
228
+ "type": "text",
229
+ "primaryKey": false,
230
+ "notNull": true
231
+ },
232
+ "summary_tokens": {
233
+ "name": "summary_tokens",
234
+ "type": "integer",
235
+ "primaryKey": false,
236
+ "notNull": true
237
+ },
238
+ "model_id": {
239
+ "name": "model_id",
240
+ "type": "text",
241
+ "primaryKey": false,
242
+ "notNull": true
243
+ },
244
+ "provider_id": {
245
+ "name": "provider_id",
246
+ "type": "text",
247
+ "primaryKey": false,
248
+ "notNull": true
249
+ },
250
+ "usage": {
251
+ "name": "usage",
252
+ "type": "json",
253
+ "primaryKey": false,
254
+ "notNull": false
255
+ },
256
+ "created_at": {
257
+ "name": "created_at",
258
+ "type": "text",
259
+ "primaryKey": false,
260
+ "notNull": true
261
+ }
262
+ },
263
+ "indexes": {
264
+ "compactions_chat_seq_idx": {
265
+ "name": "compactions_chat_seq_idx",
266
+ "columns": [
267
+ {
268
+ "expression": "chat_id",
269
+ "isExpression": false,
270
+ "asc": true,
271
+ "nulls": "last"
272
+ },
273
+ {
274
+ "expression": "seq",
275
+ "isExpression": false,
276
+ "asc": true,
277
+ "nulls": "last"
278
+ }
279
+ ],
280
+ "isUnique": false,
281
+ "concurrently": false,
282
+ "method": "btree",
283
+ "with": {}
284
+ }
285
+ },
286
+ "foreignKeys": {
287
+ "compactions_chat_id_chats_id_fk": {
288
+ "name": "compactions_chat_id_chats_id_fk",
289
+ "tableFrom": "compactions",
290
+ "tableTo": "chats",
291
+ "schemaTo": "agent_chat",
292
+ "columnsFrom": [
293
+ "chat_id"
294
+ ],
295
+ "columnsTo": [
296
+ "id"
297
+ ],
298
+ "onDelete": "cascade",
299
+ "onUpdate": "no action"
300
+ }
301
+ },
302
+ "compositePrimaryKeys": {},
303
+ "uniqueConstraints": {},
304
+ "policies": {},
305
+ "checkConstraints": {},
306
+ "isRLSEnabled": false
307
+ },
308
+ "agent_chat.messages": {
309
+ "name": "messages",
310
+ "schema": "agent_chat",
311
+ "columns": {
312
+ "seq": {
313
+ "name": "seq",
314
+ "type": "bigint",
315
+ "primaryKey": false,
316
+ "notNull": true,
317
+ "identity": {
318
+ "type": "always",
319
+ "name": "messages_seq_seq",
320
+ "schema": "agent_chat",
321
+ "increment": "1",
322
+ "startWith": "1",
323
+ "minValue": "1",
324
+ "maxValue": "9223372036854775807",
325
+ "cache": "1",
326
+ "cycle": false
327
+ }
328
+ },
329
+ "id": {
330
+ "name": "id",
331
+ "type": "text",
332
+ "primaryKey": true,
333
+ "notNull": true
334
+ },
335
+ "chat_id": {
336
+ "name": "chat_id",
337
+ "type": "text",
338
+ "primaryKey": false,
339
+ "notNull": true
340
+ },
341
+ "parent_id": {
342
+ "name": "parent_id",
343
+ "type": "text",
344
+ "primaryKey": false,
345
+ "notNull": false
346
+ },
347
+ "role": {
348
+ "name": "role",
349
+ "type": "text",
350
+ "primaryKey": false,
351
+ "notNull": true
352
+ },
353
+ "parts": {
354
+ "name": "parts",
355
+ "type": "json",
356
+ "primaryKey": false,
357
+ "notNull": true
358
+ },
359
+ "format_version": {
360
+ "name": "format_version",
361
+ "type": "integer",
362
+ "primaryKey": false,
363
+ "notNull": true
364
+ },
365
+ "status": {
366
+ "name": "status",
367
+ "type": "text",
368
+ "primaryKey": false,
369
+ "notNull": true
370
+ },
371
+ "model_id": {
372
+ "name": "model_id",
373
+ "type": "text",
374
+ "primaryKey": false,
375
+ "notNull": false
376
+ },
377
+ "provider_id": {
378
+ "name": "provider_id",
379
+ "type": "text",
380
+ "primaryKey": false,
381
+ "notNull": false
382
+ },
383
+ "usage": {
384
+ "name": "usage",
385
+ "type": "json",
386
+ "primaryKey": false,
387
+ "notNull": false
388
+ },
389
+ "reasoning_durations_ms": {
390
+ "name": "reasoning_durations_ms",
391
+ "type": "json",
392
+ "primaryKey": false,
393
+ "notNull": true
394
+ },
395
+ "error": {
396
+ "name": "error",
397
+ "type": "json",
398
+ "primaryKey": false,
399
+ "notNull": false
400
+ },
401
+ "created_at": {
402
+ "name": "created_at",
403
+ "type": "text",
404
+ "primaryKey": false,
405
+ "notNull": true
406
+ }
407
+ },
408
+ "indexes": {
409
+ "messages_chat_created_idx": {
410
+ "name": "messages_chat_created_idx",
411
+ "columns": [
412
+ {
413
+ "expression": "chat_id",
414
+ "isExpression": false,
415
+ "asc": true,
416
+ "nulls": "last"
417
+ },
418
+ {
419
+ "expression": "created_at",
420
+ "isExpression": false,
421
+ "asc": true,
422
+ "nulls": "last"
423
+ },
424
+ {
425
+ "expression": "seq",
426
+ "isExpression": false,
427
+ "asc": true,
428
+ "nulls": "last"
429
+ }
430
+ ],
431
+ "isUnique": false,
432
+ "concurrently": false,
433
+ "method": "btree",
434
+ "with": {}
435
+ },
436
+ "messages_streaming_idx": {
437
+ "name": "messages_streaming_idx",
438
+ "columns": [
439
+ {
440
+ "expression": "status",
441
+ "isExpression": false,
442
+ "asc": true,
443
+ "nulls": "last"
444
+ }
445
+ ],
446
+ "isUnique": false,
447
+ "where": "\"agent_chat\".\"messages\".\"status\" = 'streaming'",
448
+ "concurrently": false,
449
+ "method": "btree",
450
+ "with": {}
451
+ }
452
+ },
453
+ "foreignKeys": {
454
+ "messages_chat_id_chats_id_fk": {
455
+ "name": "messages_chat_id_chats_id_fk",
456
+ "tableFrom": "messages",
457
+ "tableTo": "chats",
458
+ "schemaTo": "agent_chat",
459
+ "columnsFrom": [
460
+ "chat_id"
461
+ ],
462
+ "columnsTo": [
463
+ "id"
464
+ ],
465
+ "onDelete": "cascade",
466
+ "onUpdate": "no action"
467
+ }
468
+ },
469
+ "compositePrimaryKeys": {},
470
+ "uniqueConstraints": {},
471
+ "policies": {},
472
+ "checkConstraints": {},
473
+ "isRLSEnabled": false
474
+ },
475
+ "agent_chat.usage_records": {
476
+ "name": "usage_records",
477
+ "schema": "agent_chat",
478
+ "columns": {
479
+ "id": {
480
+ "name": "id",
481
+ "type": "text",
482
+ "primaryKey": true,
483
+ "notNull": true
484
+ },
485
+ "owner_id": {
486
+ "name": "owner_id",
487
+ "type": "text",
488
+ "primaryKey": false,
489
+ "notNull": true
490
+ },
491
+ "chat_id": {
492
+ "name": "chat_id",
493
+ "type": "text",
494
+ "primaryKey": false,
495
+ "notNull": true
496
+ },
497
+ "message_id": {
498
+ "name": "message_id",
499
+ "type": "text",
500
+ "primaryKey": false,
501
+ "notNull": false
502
+ },
503
+ "source": {
504
+ "name": "source",
505
+ "type": "text",
506
+ "primaryKey": false,
507
+ "notNull": true
508
+ },
509
+ "model_id": {
510
+ "name": "model_id",
511
+ "type": "text",
512
+ "primaryKey": false,
513
+ "notNull": true
514
+ },
515
+ "provider_id": {
516
+ "name": "provider_id",
517
+ "type": "text",
518
+ "primaryKey": false,
519
+ "notNull": true
520
+ },
521
+ "input_tokens": {
522
+ "name": "input_tokens",
523
+ "type": "bigint",
524
+ "primaryKey": false,
525
+ "notNull": true
526
+ },
527
+ "cached_input_tokens": {
528
+ "name": "cached_input_tokens",
529
+ "type": "bigint",
530
+ "primaryKey": false,
531
+ "notNull": true
532
+ },
533
+ "cache_write_tokens": {
534
+ "name": "cache_write_tokens",
535
+ "type": "bigint",
536
+ "primaryKey": false,
537
+ "notNull": true
538
+ },
539
+ "output_tokens": {
540
+ "name": "output_tokens",
541
+ "type": "bigint",
542
+ "primaryKey": false,
543
+ "notNull": true
544
+ },
545
+ "reasoning_tokens": {
546
+ "name": "reasoning_tokens",
547
+ "type": "bigint",
548
+ "primaryKey": false,
549
+ "notNull": true
550
+ },
551
+ "cost_usd": {
552
+ "name": "cost_usd",
553
+ "type": "double precision",
554
+ "primaryKey": false,
555
+ "notNull": true
556
+ },
557
+ "created_at": {
558
+ "name": "created_at",
559
+ "type": "text",
560
+ "primaryKey": false,
561
+ "notNull": true
562
+ }
563
+ },
564
+ "indexes": {
565
+ "usage_records_owner_created_idx": {
566
+ "name": "usage_records_owner_created_idx",
567
+ "columns": [
568
+ {
569
+ "expression": "owner_id",
570
+ "isExpression": false,
571
+ "asc": true,
572
+ "nulls": "last"
573
+ },
574
+ {
575
+ "expression": "created_at",
576
+ "isExpression": false,
577
+ "asc": true,
578
+ "nulls": "last"
579
+ }
580
+ ],
581
+ "isUnique": false,
582
+ "concurrently": false,
583
+ "method": "btree",
584
+ "with": {}
585
+ },
586
+ "usage_records_chat_created_idx": {
587
+ "name": "usage_records_chat_created_idx",
588
+ "columns": [
589
+ {
590
+ "expression": "chat_id",
591
+ "isExpression": false,
592
+ "asc": true,
593
+ "nulls": "last"
594
+ },
595
+ {
596
+ "expression": "created_at",
597
+ "isExpression": false,
598
+ "asc": true,
599
+ "nulls": "last"
600
+ }
601
+ ],
602
+ "isUnique": false,
603
+ "concurrently": false,
604
+ "method": "btree",
605
+ "with": {}
606
+ }
607
+ },
608
+ "foreignKeys": {},
609
+ "compositePrimaryKeys": {},
610
+ "uniqueConstraints": {},
611
+ "policies": {},
612
+ "checkConstraints": {},
613
+ "isRLSEnabled": false
614
+ },
615
+ "agent_chat.user_model_choices": {
616
+ "name": "user_model_choices",
617
+ "schema": "agent_chat",
618
+ "columns": {
619
+ "owner_id": {
620
+ "name": "owner_id",
621
+ "type": "text",
622
+ "primaryKey": true,
623
+ "notNull": true
624
+ },
625
+ "model_id": {
626
+ "name": "model_id",
627
+ "type": "text",
628
+ "primaryKey": false,
629
+ "notNull": true
630
+ },
631
+ "provider_id": {
632
+ "name": "provider_id",
633
+ "type": "text",
634
+ "primaryKey": false,
635
+ "notNull": true
636
+ },
637
+ "reasoning": {
638
+ "name": "reasoning",
639
+ "type": "text",
640
+ "primaryKey": false,
641
+ "notNull": false
642
+ },
643
+ "updated_at": {
644
+ "name": "updated_at",
645
+ "type": "text",
646
+ "primaryKey": false,
647
+ "notNull": true
648
+ }
649
+ },
650
+ "indexes": {},
651
+ "foreignKeys": {},
652
+ "compositePrimaryKeys": {},
653
+ "uniqueConstraints": {},
654
+ "policies": {},
655
+ "checkConstraints": {},
656
+ "isRLSEnabled": false
657
+ }
658
+ },
659
+ "enums": {},
660
+ "schemas": {
661
+ "agent_chat": "agent_chat"
662
+ },
663
+ "sequences": {},
664
+ "roles": {},
665
+ "policies": {},
666
+ "views": {},
667
+ "_meta": {
668
+ "columns": {},
669
+ "schemas": {},
670
+ "tables": {}
671
+ }
672
+ }