@ykurilov/agent-chat-storage-postgres 0.0.0-stage → 0.56.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 +1220 -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,964 @@
1
+ {
2
+ "id": "37f43eaf-3919-4561-a8df-11b37e15242e",
3
+ "prevId": "3052ecc9-586b-409e-b6ba-758ce8e3c161",
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
+ "origin": {
139
+ "name": "origin",
140
+ "type": "text",
141
+ "primaryKey": false,
142
+ "notNull": false
143
+ },
144
+ "created_at": {
145
+ "name": "created_at",
146
+ "type": "text",
147
+ "primaryKey": false,
148
+ "notNull": true
149
+ },
150
+ "updated_at": {
151
+ "name": "updated_at",
152
+ "type": "text",
153
+ "primaryKey": false,
154
+ "notNull": true
155
+ }
156
+ },
157
+ "indexes": {
158
+ "chats_owner_updated_idx": {
159
+ "name": "chats_owner_updated_idx",
160
+ "columns": [
161
+ {
162
+ "expression": "owner_id",
163
+ "isExpression": false,
164
+ "asc": true,
165
+ "nulls": "last"
166
+ },
167
+ {
168
+ "expression": "updated_at",
169
+ "isExpression": false,
170
+ "asc": true,
171
+ "nulls": "last"
172
+ }
173
+ ],
174
+ "isUnique": false,
175
+ "concurrently": false,
176
+ "method": "btree",
177
+ "with": {}
178
+ }
179
+ },
180
+ "foreignKeys": {},
181
+ "compositePrimaryKeys": {},
182
+ "uniqueConstraints": {},
183
+ "policies": {},
184
+ "checkConstraints": {},
185
+ "isRLSEnabled": false
186
+ },
187
+ "agent_chat.compactions": {
188
+ "name": "compactions",
189
+ "schema": "agent_chat",
190
+ "columns": {
191
+ "seq": {
192
+ "name": "seq",
193
+ "type": "bigint",
194
+ "primaryKey": false,
195
+ "notNull": true,
196
+ "identity": {
197
+ "type": "always",
198
+ "name": "compactions_seq_seq",
199
+ "schema": "agent_chat",
200
+ "increment": "1",
201
+ "startWith": "1",
202
+ "minValue": "1",
203
+ "maxValue": "9223372036854775807",
204
+ "cache": "1",
205
+ "cycle": false
206
+ }
207
+ },
208
+ "id": {
209
+ "name": "id",
210
+ "type": "text",
211
+ "primaryKey": true,
212
+ "notNull": true
213
+ },
214
+ "chat_id": {
215
+ "name": "chat_id",
216
+ "type": "text",
217
+ "primaryKey": false,
218
+ "notNull": true
219
+ },
220
+ "from_message_id": {
221
+ "name": "from_message_id",
222
+ "type": "text",
223
+ "primaryKey": false,
224
+ "notNull": true
225
+ },
226
+ "through_message_id": {
227
+ "name": "through_message_id",
228
+ "type": "text",
229
+ "primaryKey": false,
230
+ "notNull": true
231
+ },
232
+ "summary": {
233
+ "name": "summary",
234
+ "type": "text",
235
+ "primaryKey": false,
236
+ "notNull": true
237
+ },
238
+ "summary_tokens": {
239
+ "name": "summary_tokens",
240
+ "type": "integer",
241
+ "primaryKey": false,
242
+ "notNull": true
243
+ },
244
+ "model_id": {
245
+ "name": "model_id",
246
+ "type": "text",
247
+ "primaryKey": false,
248
+ "notNull": true
249
+ },
250
+ "provider_id": {
251
+ "name": "provider_id",
252
+ "type": "text",
253
+ "primaryKey": false,
254
+ "notNull": true
255
+ },
256
+ "usage": {
257
+ "name": "usage",
258
+ "type": "json",
259
+ "primaryKey": false,
260
+ "notNull": false
261
+ },
262
+ "created_at": {
263
+ "name": "created_at",
264
+ "type": "text",
265
+ "primaryKey": false,
266
+ "notNull": true
267
+ }
268
+ },
269
+ "indexes": {
270
+ "compactions_chat_seq_idx": {
271
+ "name": "compactions_chat_seq_idx",
272
+ "columns": [
273
+ {
274
+ "expression": "chat_id",
275
+ "isExpression": false,
276
+ "asc": true,
277
+ "nulls": "last"
278
+ },
279
+ {
280
+ "expression": "seq",
281
+ "isExpression": false,
282
+ "asc": true,
283
+ "nulls": "last"
284
+ }
285
+ ],
286
+ "isUnique": false,
287
+ "concurrently": false,
288
+ "method": "btree",
289
+ "with": {}
290
+ }
291
+ },
292
+ "foreignKeys": {
293
+ "compactions_chat_id_chats_id_fk": {
294
+ "name": "compactions_chat_id_chats_id_fk",
295
+ "tableFrom": "compactions",
296
+ "tableTo": "chats",
297
+ "schemaTo": "agent_chat",
298
+ "columnsFrom": [
299
+ "chat_id"
300
+ ],
301
+ "columnsTo": [
302
+ "id"
303
+ ],
304
+ "onDelete": "cascade",
305
+ "onUpdate": "no action"
306
+ }
307
+ },
308
+ "compositePrimaryKeys": {},
309
+ "uniqueConstraints": {},
310
+ "policies": {},
311
+ "checkConstraints": {},
312
+ "isRLSEnabled": false
313
+ },
314
+ "agent_chat.memory_notes": {
315
+ "name": "memory_notes",
316
+ "schema": "agent_chat",
317
+ "columns": {
318
+ "id": {
319
+ "name": "id",
320
+ "type": "text",
321
+ "primaryKey": true,
322
+ "notNull": true
323
+ },
324
+ "owner_id": {
325
+ "name": "owner_id",
326
+ "type": "text",
327
+ "primaryKey": false,
328
+ "notNull": true
329
+ },
330
+ "categories": {
331
+ "name": "categories",
332
+ "type": "jsonb",
333
+ "primaryKey": false,
334
+ "notNull": true
335
+ },
336
+ "content": {
337
+ "name": "content",
338
+ "type": "text",
339
+ "primaryKey": false,
340
+ "notNull": true
341
+ },
342
+ "version": {
343
+ "name": "version",
344
+ "type": "integer",
345
+ "primaryKey": false,
346
+ "notNull": true,
347
+ "default": 1
348
+ },
349
+ "created_at": {
350
+ "name": "created_at",
351
+ "type": "timestamp with time zone",
352
+ "primaryKey": false,
353
+ "notNull": true
354
+ },
355
+ "updated_at": {
356
+ "name": "updated_at",
357
+ "type": "timestamp with time zone",
358
+ "primaryKey": false,
359
+ "notNull": true
360
+ },
361
+ "merged_into": {
362
+ "name": "merged_into",
363
+ "type": "text",
364
+ "primaryKey": false,
365
+ "notNull": false
366
+ }
367
+ },
368
+ "indexes": {
369
+ "memory_notes_owner_updated_idx": {
370
+ "name": "memory_notes_owner_updated_idx",
371
+ "columns": [
372
+ {
373
+ "expression": "owner_id",
374
+ "isExpression": false,
375
+ "asc": true,
376
+ "nulls": "last"
377
+ },
378
+ {
379
+ "expression": "updated_at",
380
+ "isExpression": false,
381
+ "asc": true,
382
+ "nulls": "last"
383
+ }
384
+ ],
385
+ "isUnique": false,
386
+ "concurrently": false,
387
+ "method": "btree",
388
+ "with": {}
389
+ },
390
+ "memory_notes_merged_into_idx": {
391
+ "name": "memory_notes_merged_into_idx",
392
+ "columns": [
393
+ {
394
+ "expression": "merged_into",
395
+ "isExpression": false,
396
+ "asc": true,
397
+ "nulls": "last"
398
+ }
399
+ ],
400
+ "isUnique": false,
401
+ "concurrently": false,
402
+ "method": "btree",
403
+ "with": {}
404
+ }
405
+ },
406
+ "foreignKeys": {},
407
+ "compositePrimaryKeys": {},
408
+ "uniqueConstraints": {},
409
+ "policies": {},
410
+ "checkConstraints": {},
411
+ "isRLSEnabled": false
412
+ },
413
+ "agent_chat.memory_optimization_runs": {
414
+ "name": "memory_optimization_runs",
415
+ "schema": "agent_chat",
416
+ "columns": {
417
+ "id": {
418
+ "name": "id",
419
+ "type": "text",
420
+ "primaryKey": true,
421
+ "notNull": true
422
+ },
423
+ "owner_id": {
424
+ "name": "owner_id",
425
+ "type": "text",
426
+ "primaryKey": false,
427
+ "notNull": true
428
+ },
429
+ "started_at": {
430
+ "name": "started_at",
431
+ "type": "timestamp with time zone",
432
+ "primaryKey": false,
433
+ "notNull": true
434
+ },
435
+ "finished_at": {
436
+ "name": "finished_at",
437
+ "type": "timestamp with time zone",
438
+ "primaryKey": false,
439
+ "notNull": false
440
+ },
441
+ "status": {
442
+ "name": "status",
443
+ "type": "text",
444
+ "primaryKey": false,
445
+ "notNull": true
446
+ },
447
+ "groups": {
448
+ "name": "groups",
449
+ "type": "jsonb",
450
+ "primaryKey": false,
451
+ "notNull": true,
452
+ "default": "'[]'::jsonb"
453
+ },
454
+ "error": {
455
+ "name": "error",
456
+ "type": "text",
457
+ "primaryKey": false,
458
+ "notNull": false
459
+ },
460
+ "usage_record_id": {
461
+ "name": "usage_record_id",
462
+ "type": "text",
463
+ "primaryKey": false,
464
+ "notNull": false
465
+ }
466
+ },
467
+ "indexes": {
468
+ "memory_optimization_runs_owner_started_idx": {
469
+ "name": "memory_optimization_runs_owner_started_idx",
470
+ "columns": [
471
+ {
472
+ "expression": "owner_id",
473
+ "isExpression": false,
474
+ "asc": true,
475
+ "nulls": "last"
476
+ },
477
+ {
478
+ "expression": "started_at",
479
+ "isExpression": false,
480
+ "asc": true,
481
+ "nulls": "last"
482
+ }
483
+ ],
484
+ "isUnique": false,
485
+ "concurrently": false,
486
+ "method": "btree",
487
+ "with": {}
488
+ },
489
+ "memory_optimization_runs_one_running_idx": {
490
+ "name": "memory_optimization_runs_one_running_idx",
491
+ "columns": [
492
+ {
493
+ "expression": "owner_id",
494
+ "isExpression": false,
495
+ "asc": true,
496
+ "nulls": "last"
497
+ }
498
+ ],
499
+ "isUnique": true,
500
+ "where": "\"agent_chat\".\"memory_optimization_runs\".\"status\" = 'running'",
501
+ "concurrently": false,
502
+ "method": "btree",
503
+ "with": {}
504
+ }
505
+ },
506
+ "foreignKeys": {},
507
+ "compositePrimaryKeys": {},
508
+ "uniqueConstraints": {},
509
+ "policies": {},
510
+ "checkConstraints": {},
511
+ "isRLSEnabled": false
512
+ },
513
+ "agent_chat.messages": {
514
+ "name": "messages",
515
+ "schema": "agent_chat",
516
+ "columns": {
517
+ "seq": {
518
+ "name": "seq",
519
+ "type": "bigint",
520
+ "primaryKey": false,
521
+ "notNull": true,
522
+ "identity": {
523
+ "type": "always",
524
+ "name": "messages_seq_seq",
525
+ "schema": "agent_chat",
526
+ "increment": "1",
527
+ "startWith": "1",
528
+ "minValue": "1",
529
+ "maxValue": "9223372036854775807",
530
+ "cache": "1",
531
+ "cycle": false
532
+ }
533
+ },
534
+ "id": {
535
+ "name": "id",
536
+ "type": "text",
537
+ "primaryKey": true,
538
+ "notNull": true
539
+ },
540
+ "chat_id": {
541
+ "name": "chat_id",
542
+ "type": "text",
543
+ "primaryKey": false,
544
+ "notNull": true
545
+ },
546
+ "parent_id": {
547
+ "name": "parent_id",
548
+ "type": "text",
549
+ "primaryKey": false,
550
+ "notNull": false
551
+ },
552
+ "role": {
553
+ "name": "role",
554
+ "type": "text",
555
+ "primaryKey": false,
556
+ "notNull": true
557
+ },
558
+ "parts": {
559
+ "name": "parts",
560
+ "type": "json",
561
+ "primaryKey": false,
562
+ "notNull": true
563
+ },
564
+ "format_version": {
565
+ "name": "format_version",
566
+ "type": "integer",
567
+ "primaryKey": false,
568
+ "notNull": true
569
+ },
570
+ "status": {
571
+ "name": "status",
572
+ "type": "text",
573
+ "primaryKey": false,
574
+ "notNull": true
575
+ },
576
+ "model_id": {
577
+ "name": "model_id",
578
+ "type": "text",
579
+ "primaryKey": false,
580
+ "notNull": false
581
+ },
582
+ "provider_id": {
583
+ "name": "provider_id",
584
+ "type": "text",
585
+ "primaryKey": false,
586
+ "notNull": false
587
+ },
588
+ "usage": {
589
+ "name": "usage",
590
+ "type": "json",
591
+ "primaryKey": false,
592
+ "notNull": false
593
+ },
594
+ "reasoning_durations_ms": {
595
+ "name": "reasoning_durations_ms",
596
+ "type": "json",
597
+ "primaryKey": false,
598
+ "notNull": true
599
+ },
600
+ "error": {
601
+ "name": "error",
602
+ "type": "json",
603
+ "primaryKey": false,
604
+ "notNull": false
605
+ },
606
+ "voice_cut": {
607
+ "name": "voice_cut",
608
+ "type": "json",
609
+ "primaryKey": false,
610
+ "notNull": false
611
+ },
612
+ "created_at": {
613
+ "name": "created_at",
614
+ "type": "text",
615
+ "primaryKey": false,
616
+ "notNull": true
617
+ },
618
+ "alive_at": {
619
+ "name": "alive_at",
620
+ "type": "text",
621
+ "primaryKey": false,
622
+ "notNull": false
623
+ }
624
+ },
625
+ "indexes": {
626
+ "messages_chat_created_idx": {
627
+ "name": "messages_chat_created_idx",
628
+ "columns": [
629
+ {
630
+ "expression": "chat_id",
631
+ "isExpression": false,
632
+ "asc": true,
633
+ "nulls": "last"
634
+ },
635
+ {
636
+ "expression": "created_at",
637
+ "isExpression": false,
638
+ "asc": true,
639
+ "nulls": "last"
640
+ },
641
+ {
642
+ "expression": "seq",
643
+ "isExpression": false,
644
+ "asc": true,
645
+ "nulls": "last"
646
+ }
647
+ ],
648
+ "isUnique": false,
649
+ "concurrently": false,
650
+ "method": "btree",
651
+ "with": {}
652
+ },
653
+ "messages_streaming_idx": {
654
+ "name": "messages_streaming_idx",
655
+ "columns": [
656
+ {
657
+ "expression": "status",
658
+ "isExpression": false,
659
+ "asc": true,
660
+ "nulls": "last"
661
+ }
662
+ ],
663
+ "isUnique": false,
664
+ "where": "\"agent_chat\".\"messages\".\"status\" = 'streaming'",
665
+ "concurrently": false,
666
+ "method": "btree",
667
+ "with": {}
668
+ }
669
+ },
670
+ "foreignKeys": {
671
+ "messages_chat_id_chats_id_fk": {
672
+ "name": "messages_chat_id_chats_id_fk",
673
+ "tableFrom": "messages",
674
+ "tableTo": "chats",
675
+ "schemaTo": "agent_chat",
676
+ "columnsFrom": [
677
+ "chat_id"
678
+ ],
679
+ "columnsTo": [
680
+ "id"
681
+ ],
682
+ "onDelete": "cascade",
683
+ "onUpdate": "no action"
684
+ }
685
+ },
686
+ "compositePrimaryKeys": {},
687
+ "uniqueConstraints": {},
688
+ "policies": {},
689
+ "checkConstraints": {},
690
+ "isRLSEnabled": false
691
+ },
692
+ "agent_chat.spending_limit_states": {
693
+ "name": "spending_limit_states",
694
+ "schema": "agent_chat",
695
+ "columns": {
696
+ "key": {
697
+ "name": "key",
698
+ "type": "text",
699
+ "primaryKey": true,
700
+ "notNull": true
701
+ },
702
+ "value": {
703
+ "name": "value",
704
+ "type": "text",
705
+ "primaryKey": false,
706
+ "notNull": true
707
+ },
708
+ "version": {
709
+ "name": "version",
710
+ "type": "integer",
711
+ "primaryKey": false,
712
+ "notNull": true
713
+ },
714
+ "updated_at": {
715
+ "name": "updated_at",
716
+ "type": "text",
717
+ "primaryKey": false,
718
+ "notNull": true
719
+ }
720
+ },
721
+ "indexes": {},
722
+ "foreignKeys": {},
723
+ "compositePrimaryKeys": {},
724
+ "uniqueConstraints": {},
725
+ "policies": {},
726
+ "checkConstraints": {},
727
+ "isRLSEnabled": false
728
+ },
729
+ "agent_chat.usage_records": {
730
+ "name": "usage_records",
731
+ "schema": "agent_chat",
732
+ "columns": {
733
+ "id": {
734
+ "name": "id",
735
+ "type": "text",
736
+ "primaryKey": true,
737
+ "notNull": true
738
+ },
739
+ "owner_id": {
740
+ "name": "owner_id",
741
+ "type": "text",
742
+ "primaryKey": false,
743
+ "notNull": true
744
+ },
745
+ "chat_id": {
746
+ "name": "chat_id",
747
+ "type": "text",
748
+ "primaryKey": false,
749
+ "notNull": true
750
+ },
751
+ "message_id": {
752
+ "name": "message_id",
753
+ "type": "text",
754
+ "primaryKey": false,
755
+ "notNull": false
756
+ },
757
+ "source": {
758
+ "name": "source",
759
+ "type": "text",
760
+ "primaryKey": false,
761
+ "notNull": true
762
+ },
763
+ "model_id": {
764
+ "name": "model_id",
765
+ "type": "text",
766
+ "primaryKey": false,
767
+ "notNull": true
768
+ },
769
+ "provider_id": {
770
+ "name": "provider_id",
771
+ "type": "text",
772
+ "primaryKey": false,
773
+ "notNull": true
774
+ },
775
+ "input_tokens": {
776
+ "name": "input_tokens",
777
+ "type": "bigint",
778
+ "primaryKey": false,
779
+ "notNull": true
780
+ },
781
+ "cached_input_tokens": {
782
+ "name": "cached_input_tokens",
783
+ "type": "bigint",
784
+ "primaryKey": false,
785
+ "notNull": true
786
+ },
787
+ "cache_write_tokens": {
788
+ "name": "cache_write_tokens",
789
+ "type": "bigint",
790
+ "primaryKey": false,
791
+ "notNull": true
792
+ },
793
+ "output_tokens": {
794
+ "name": "output_tokens",
795
+ "type": "bigint",
796
+ "primaryKey": false,
797
+ "notNull": true
798
+ },
799
+ "reasoning_tokens": {
800
+ "name": "reasoning_tokens",
801
+ "type": "bigint",
802
+ "primaryKey": false,
803
+ "notNull": true
804
+ },
805
+ "cost_usd": {
806
+ "name": "cost_usd",
807
+ "type": "double precision",
808
+ "primaryKey": false,
809
+ "notNull": true
810
+ },
811
+ "created_at": {
812
+ "name": "created_at",
813
+ "type": "text",
814
+ "primaryKey": false,
815
+ "notNull": true
816
+ },
817
+ "estimated": {
818
+ "name": "estimated",
819
+ "type": "boolean",
820
+ "primaryKey": false,
821
+ "notNull": true,
822
+ "default": false
823
+ }
824
+ },
825
+ "indexes": {
826
+ "usage_records_owner_created_idx": {
827
+ "name": "usage_records_owner_created_idx",
828
+ "columns": [
829
+ {
830
+ "expression": "owner_id",
831
+ "isExpression": false,
832
+ "asc": true,
833
+ "nulls": "last"
834
+ },
835
+ {
836
+ "expression": "created_at",
837
+ "isExpression": false,
838
+ "asc": true,
839
+ "nulls": "last"
840
+ }
841
+ ],
842
+ "isUnique": false,
843
+ "concurrently": false,
844
+ "method": "btree",
845
+ "with": {}
846
+ },
847
+ "usage_records_chat_created_idx": {
848
+ "name": "usage_records_chat_created_idx",
849
+ "columns": [
850
+ {
851
+ "expression": "chat_id",
852
+ "isExpression": false,
853
+ "asc": true,
854
+ "nulls": "last"
855
+ },
856
+ {
857
+ "expression": "created_at",
858
+ "isExpression": false,
859
+ "asc": true,
860
+ "nulls": "last"
861
+ }
862
+ ],
863
+ "isUnique": false,
864
+ "concurrently": false,
865
+ "method": "btree",
866
+ "with": {}
867
+ }
868
+ },
869
+ "foreignKeys": {},
870
+ "compositePrimaryKeys": {},
871
+ "uniqueConstraints": {},
872
+ "policies": {},
873
+ "checkConstraints": {},
874
+ "isRLSEnabled": false
875
+ },
876
+ "agent_chat.user_model_choices": {
877
+ "name": "user_model_choices",
878
+ "schema": "agent_chat",
879
+ "columns": {
880
+ "owner_id": {
881
+ "name": "owner_id",
882
+ "type": "text",
883
+ "primaryKey": true,
884
+ "notNull": true
885
+ },
886
+ "model_id": {
887
+ "name": "model_id",
888
+ "type": "text",
889
+ "primaryKey": false,
890
+ "notNull": true
891
+ },
892
+ "provider_id": {
893
+ "name": "provider_id",
894
+ "type": "text",
895
+ "primaryKey": false,
896
+ "notNull": true
897
+ },
898
+ "reasoning": {
899
+ "name": "reasoning",
900
+ "type": "text",
901
+ "primaryKey": false,
902
+ "notNull": false
903
+ },
904
+ "updated_at": {
905
+ "name": "updated_at",
906
+ "type": "text",
907
+ "primaryKey": false,
908
+ "notNull": true
909
+ }
910
+ },
911
+ "indexes": {},
912
+ "foreignKeys": {},
913
+ "compositePrimaryKeys": {},
914
+ "uniqueConstraints": {},
915
+ "policies": {},
916
+ "checkConstraints": {},
917
+ "isRLSEnabled": false
918
+ },
919
+ "agent_chat.voice_choices": {
920
+ "name": "voice_choices",
921
+ "schema": "agent_chat",
922
+ "columns": {
923
+ "owner_id": {
924
+ "name": "owner_id",
925
+ "type": "text",
926
+ "primaryKey": true,
927
+ "notNull": true
928
+ },
929
+ "voice_id": {
930
+ "name": "voice_id",
931
+ "type": "text",
932
+ "primaryKey": false,
933
+ "notNull": true
934
+ },
935
+ "updated_at": {
936
+ "name": "updated_at",
937
+ "type": "text",
938
+ "primaryKey": false,
939
+ "notNull": true
940
+ }
941
+ },
942
+ "indexes": {},
943
+ "foreignKeys": {},
944
+ "compositePrimaryKeys": {},
945
+ "uniqueConstraints": {},
946
+ "policies": {},
947
+ "checkConstraints": {},
948
+ "isRLSEnabled": false
949
+ }
950
+ },
951
+ "enums": {},
952
+ "schemas": {
953
+ "agent_chat": "agent_chat"
954
+ },
955
+ "sequences": {},
956
+ "roles": {},
957
+ "policies": {},
958
+ "views": {},
959
+ "_meta": {
960
+ "columns": {},
961
+ "schemas": {},
962
+ "tables": {}
963
+ }
964
+ }