@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,908 @@
1
+ {
2
+ "id": "372f6c06-e680-44f8-8baf-84d3402c1b2d",
3
+ "prevId": "575ed718-1929-4e84-b354-53f16fd2722e",
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.memory_notes": {
309
+ "name": "memory_notes",
310
+ "schema": "agent_chat",
311
+ "columns": {
312
+ "id": {
313
+ "name": "id",
314
+ "type": "text",
315
+ "primaryKey": true,
316
+ "notNull": true
317
+ },
318
+ "owner_id": {
319
+ "name": "owner_id",
320
+ "type": "text",
321
+ "primaryKey": false,
322
+ "notNull": true
323
+ },
324
+ "categories": {
325
+ "name": "categories",
326
+ "type": "jsonb",
327
+ "primaryKey": false,
328
+ "notNull": true
329
+ },
330
+ "content": {
331
+ "name": "content",
332
+ "type": "text",
333
+ "primaryKey": false,
334
+ "notNull": true
335
+ },
336
+ "version": {
337
+ "name": "version",
338
+ "type": "integer",
339
+ "primaryKey": false,
340
+ "notNull": true,
341
+ "default": 1
342
+ },
343
+ "created_at": {
344
+ "name": "created_at",
345
+ "type": "timestamp with time zone",
346
+ "primaryKey": false,
347
+ "notNull": true
348
+ },
349
+ "updated_at": {
350
+ "name": "updated_at",
351
+ "type": "timestamp with time zone",
352
+ "primaryKey": false,
353
+ "notNull": true
354
+ },
355
+ "merged_into": {
356
+ "name": "merged_into",
357
+ "type": "text",
358
+ "primaryKey": false,
359
+ "notNull": false
360
+ }
361
+ },
362
+ "indexes": {
363
+ "memory_notes_owner_updated_idx": {
364
+ "name": "memory_notes_owner_updated_idx",
365
+ "columns": [
366
+ {
367
+ "expression": "owner_id",
368
+ "isExpression": false,
369
+ "asc": true,
370
+ "nulls": "last"
371
+ },
372
+ {
373
+ "expression": "updated_at",
374
+ "isExpression": false,
375
+ "asc": true,
376
+ "nulls": "last"
377
+ }
378
+ ],
379
+ "isUnique": false,
380
+ "concurrently": false,
381
+ "method": "btree",
382
+ "with": {}
383
+ },
384
+ "memory_notes_merged_into_idx": {
385
+ "name": "memory_notes_merged_into_idx",
386
+ "columns": [
387
+ {
388
+ "expression": "merged_into",
389
+ "isExpression": false,
390
+ "asc": true,
391
+ "nulls": "last"
392
+ }
393
+ ],
394
+ "isUnique": false,
395
+ "concurrently": false,
396
+ "method": "btree",
397
+ "with": {}
398
+ }
399
+ },
400
+ "foreignKeys": {},
401
+ "compositePrimaryKeys": {},
402
+ "uniqueConstraints": {},
403
+ "policies": {},
404
+ "checkConstraints": {},
405
+ "isRLSEnabled": false
406
+ },
407
+ "agent_chat.memory_optimization_runs": {
408
+ "name": "memory_optimization_runs",
409
+ "schema": "agent_chat",
410
+ "columns": {
411
+ "id": {
412
+ "name": "id",
413
+ "type": "text",
414
+ "primaryKey": true,
415
+ "notNull": true
416
+ },
417
+ "owner_id": {
418
+ "name": "owner_id",
419
+ "type": "text",
420
+ "primaryKey": false,
421
+ "notNull": true
422
+ },
423
+ "started_at": {
424
+ "name": "started_at",
425
+ "type": "timestamp with time zone",
426
+ "primaryKey": false,
427
+ "notNull": true
428
+ },
429
+ "finished_at": {
430
+ "name": "finished_at",
431
+ "type": "timestamp with time zone",
432
+ "primaryKey": false,
433
+ "notNull": false
434
+ },
435
+ "status": {
436
+ "name": "status",
437
+ "type": "text",
438
+ "primaryKey": false,
439
+ "notNull": true
440
+ },
441
+ "groups": {
442
+ "name": "groups",
443
+ "type": "jsonb",
444
+ "primaryKey": false,
445
+ "notNull": true,
446
+ "default": "'[]'::jsonb"
447
+ },
448
+ "error": {
449
+ "name": "error",
450
+ "type": "text",
451
+ "primaryKey": false,
452
+ "notNull": false
453
+ },
454
+ "usage_record_id": {
455
+ "name": "usage_record_id",
456
+ "type": "text",
457
+ "primaryKey": false,
458
+ "notNull": false
459
+ }
460
+ },
461
+ "indexes": {
462
+ "memory_optimization_runs_owner_started_idx": {
463
+ "name": "memory_optimization_runs_owner_started_idx",
464
+ "columns": [
465
+ {
466
+ "expression": "owner_id",
467
+ "isExpression": false,
468
+ "asc": true,
469
+ "nulls": "last"
470
+ },
471
+ {
472
+ "expression": "started_at",
473
+ "isExpression": false,
474
+ "asc": true,
475
+ "nulls": "last"
476
+ }
477
+ ],
478
+ "isUnique": false,
479
+ "concurrently": false,
480
+ "method": "btree",
481
+ "with": {}
482
+ },
483
+ "memory_optimization_runs_one_running_idx": {
484
+ "name": "memory_optimization_runs_one_running_idx",
485
+ "columns": [
486
+ {
487
+ "expression": "owner_id",
488
+ "isExpression": false,
489
+ "asc": true,
490
+ "nulls": "last"
491
+ }
492
+ ],
493
+ "isUnique": true,
494
+ "where": "\"agent_chat\".\"memory_optimization_runs\".\"status\" = 'running'",
495
+ "concurrently": false,
496
+ "method": "btree",
497
+ "with": {}
498
+ }
499
+ },
500
+ "foreignKeys": {},
501
+ "compositePrimaryKeys": {},
502
+ "uniqueConstraints": {},
503
+ "policies": {},
504
+ "checkConstraints": {},
505
+ "isRLSEnabled": false
506
+ },
507
+ "agent_chat.messages": {
508
+ "name": "messages",
509
+ "schema": "agent_chat",
510
+ "columns": {
511
+ "seq": {
512
+ "name": "seq",
513
+ "type": "bigint",
514
+ "primaryKey": false,
515
+ "notNull": true,
516
+ "identity": {
517
+ "type": "always",
518
+ "name": "messages_seq_seq",
519
+ "schema": "agent_chat",
520
+ "increment": "1",
521
+ "startWith": "1",
522
+ "minValue": "1",
523
+ "maxValue": "9223372036854775807",
524
+ "cache": "1",
525
+ "cycle": false
526
+ }
527
+ },
528
+ "id": {
529
+ "name": "id",
530
+ "type": "text",
531
+ "primaryKey": true,
532
+ "notNull": true
533
+ },
534
+ "chat_id": {
535
+ "name": "chat_id",
536
+ "type": "text",
537
+ "primaryKey": false,
538
+ "notNull": true
539
+ },
540
+ "parent_id": {
541
+ "name": "parent_id",
542
+ "type": "text",
543
+ "primaryKey": false,
544
+ "notNull": false
545
+ },
546
+ "role": {
547
+ "name": "role",
548
+ "type": "text",
549
+ "primaryKey": false,
550
+ "notNull": true
551
+ },
552
+ "parts": {
553
+ "name": "parts",
554
+ "type": "json",
555
+ "primaryKey": false,
556
+ "notNull": true
557
+ },
558
+ "format_version": {
559
+ "name": "format_version",
560
+ "type": "integer",
561
+ "primaryKey": false,
562
+ "notNull": true
563
+ },
564
+ "status": {
565
+ "name": "status",
566
+ "type": "text",
567
+ "primaryKey": false,
568
+ "notNull": true
569
+ },
570
+ "model_id": {
571
+ "name": "model_id",
572
+ "type": "text",
573
+ "primaryKey": false,
574
+ "notNull": false
575
+ },
576
+ "provider_id": {
577
+ "name": "provider_id",
578
+ "type": "text",
579
+ "primaryKey": false,
580
+ "notNull": false
581
+ },
582
+ "usage": {
583
+ "name": "usage",
584
+ "type": "json",
585
+ "primaryKey": false,
586
+ "notNull": false
587
+ },
588
+ "reasoning_durations_ms": {
589
+ "name": "reasoning_durations_ms",
590
+ "type": "json",
591
+ "primaryKey": false,
592
+ "notNull": true
593
+ },
594
+ "error": {
595
+ "name": "error",
596
+ "type": "json",
597
+ "primaryKey": false,
598
+ "notNull": false
599
+ },
600
+ "created_at": {
601
+ "name": "created_at",
602
+ "type": "text",
603
+ "primaryKey": false,
604
+ "notNull": true
605
+ },
606
+ "voice_cut": {
607
+ "name": "voice_cut",
608
+ "type": "json",
609
+ "primaryKey": false,
610
+ "notNull": false
611
+ }
612
+ },
613
+ "indexes": {
614
+ "messages_chat_created_idx": {
615
+ "name": "messages_chat_created_idx",
616
+ "columns": [
617
+ {
618
+ "expression": "chat_id",
619
+ "isExpression": false,
620
+ "asc": true,
621
+ "nulls": "last"
622
+ },
623
+ {
624
+ "expression": "created_at",
625
+ "isExpression": false,
626
+ "asc": true,
627
+ "nulls": "last"
628
+ },
629
+ {
630
+ "expression": "seq",
631
+ "isExpression": false,
632
+ "asc": true,
633
+ "nulls": "last"
634
+ }
635
+ ],
636
+ "isUnique": false,
637
+ "concurrently": false,
638
+ "method": "btree",
639
+ "with": {}
640
+ },
641
+ "messages_streaming_idx": {
642
+ "name": "messages_streaming_idx",
643
+ "columns": [
644
+ {
645
+ "expression": "status",
646
+ "isExpression": false,
647
+ "asc": true,
648
+ "nulls": "last"
649
+ }
650
+ ],
651
+ "isUnique": false,
652
+ "where": "\"agent_chat\".\"messages\".\"status\" = 'streaming'",
653
+ "concurrently": false,
654
+ "method": "btree",
655
+ "with": {}
656
+ }
657
+ },
658
+ "foreignKeys": {
659
+ "messages_chat_id_chats_id_fk": {
660
+ "name": "messages_chat_id_chats_id_fk",
661
+ "tableFrom": "messages",
662
+ "tableTo": "chats",
663
+ "schemaTo": "agent_chat",
664
+ "columnsFrom": [
665
+ "chat_id"
666
+ ],
667
+ "columnsTo": [
668
+ "id"
669
+ ],
670
+ "onDelete": "cascade",
671
+ "onUpdate": "no action"
672
+ }
673
+ },
674
+ "compositePrimaryKeys": {},
675
+ "uniqueConstraints": {},
676
+ "policies": {},
677
+ "checkConstraints": {},
678
+ "isRLSEnabled": false
679
+ },
680
+ "agent_chat.usage_records": {
681
+ "name": "usage_records",
682
+ "schema": "agent_chat",
683
+ "columns": {
684
+ "id": {
685
+ "name": "id",
686
+ "type": "text",
687
+ "primaryKey": true,
688
+ "notNull": true
689
+ },
690
+ "owner_id": {
691
+ "name": "owner_id",
692
+ "type": "text",
693
+ "primaryKey": false,
694
+ "notNull": true
695
+ },
696
+ "chat_id": {
697
+ "name": "chat_id",
698
+ "type": "text",
699
+ "primaryKey": false,
700
+ "notNull": true
701
+ },
702
+ "message_id": {
703
+ "name": "message_id",
704
+ "type": "text",
705
+ "primaryKey": false,
706
+ "notNull": false
707
+ },
708
+ "source": {
709
+ "name": "source",
710
+ "type": "text",
711
+ "primaryKey": false,
712
+ "notNull": true
713
+ },
714
+ "model_id": {
715
+ "name": "model_id",
716
+ "type": "text",
717
+ "primaryKey": false,
718
+ "notNull": true
719
+ },
720
+ "provider_id": {
721
+ "name": "provider_id",
722
+ "type": "text",
723
+ "primaryKey": false,
724
+ "notNull": true
725
+ },
726
+ "input_tokens": {
727
+ "name": "input_tokens",
728
+ "type": "bigint",
729
+ "primaryKey": false,
730
+ "notNull": true
731
+ },
732
+ "cached_input_tokens": {
733
+ "name": "cached_input_tokens",
734
+ "type": "bigint",
735
+ "primaryKey": false,
736
+ "notNull": true
737
+ },
738
+ "cache_write_tokens": {
739
+ "name": "cache_write_tokens",
740
+ "type": "bigint",
741
+ "primaryKey": false,
742
+ "notNull": true
743
+ },
744
+ "output_tokens": {
745
+ "name": "output_tokens",
746
+ "type": "bigint",
747
+ "primaryKey": false,
748
+ "notNull": true
749
+ },
750
+ "reasoning_tokens": {
751
+ "name": "reasoning_tokens",
752
+ "type": "bigint",
753
+ "primaryKey": false,
754
+ "notNull": true
755
+ },
756
+ "cost_usd": {
757
+ "name": "cost_usd",
758
+ "type": "double precision",
759
+ "primaryKey": false,
760
+ "notNull": true
761
+ },
762
+ "created_at": {
763
+ "name": "created_at",
764
+ "type": "text",
765
+ "primaryKey": false,
766
+ "notNull": true
767
+ }
768
+ },
769
+ "indexes": {
770
+ "usage_records_owner_created_idx": {
771
+ "name": "usage_records_owner_created_idx",
772
+ "columns": [
773
+ {
774
+ "expression": "owner_id",
775
+ "isExpression": false,
776
+ "asc": true,
777
+ "nulls": "last"
778
+ },
779
+ {
780
+ "expression": "created_at",
781
+ "isExpression": false,
782
+ "asc": true,
783
+ "nulls": "last"
784
+ }
785
+ ],
786
+ "isUnique": false,
787
+ "concurrently": false,
788
+ "method": "btree",
789
+ "with": {}
790
+ },
791
+ "usage_records_chat_created_idx": {
792
+ "name": "usage_records_chat_created_idx",
793
+ "columns": [
794
+ {
795
+ "expression": "chat_id",
796
+ "isExpression": false,
797
+ "asc": true,
798
+ "nulls": "last"
799
+ },
800
+ {
801
+ "expression": "created_at",
802
+ "isExpression": false,
803
+ "asc": true,
804
+ "nulls": "last"
805
+ }
806
+ ],
807
+ "isUnique": false,
808
+ "concurrently": false,
809
+ "method": "btree",
810
+ "with": {}
811
+ }
812
+ },
813
+ "foreignKeys": {},
814
+ "compositePrimaryKeys": {},
815
+ "uniqueConstraints": {},
816
+ "policies": {},
817
+ "checkConstraints": {},
818
+ "isRLSEnabled": false
819
+ },
820
+ "agent_chat.user_model_choices": {
821
+ "name": "user_model_choices",
822
+ "schema": "agent_chat",
823
+ "columns": {
824
+ "owner_id": {
825
+ "name": "owner_id",
826
+ "type": "text",
827
+ "primaryKey": true,
828
+ "notNull": true
829
+ },
830
+ "model_id": {
831
+ "name": "model_id",
832
+ "type": "text",
833
+ "primaryKey": false,
834
+ "notNull": true
835
+ },
836
+ "provider_id": {
837
+ "name": "provider_id",
838
+ "type": "text",
839
+ "primaryKey": false,
840
+ "notNull": true
841
+ },
842
+ "reasoning": {
843
+ "name": "reasoning",
844
+ "type": "text",
845
+ "primaryKey": false,
846
+ "notNull": false
847
+ },
848
+ "updated_at": {
849
+ "name": "updated_at",
850
+ "type": "text",
851
+ "primaryKey": false,
852
+ "notNull": true
853
+ }
854
+ },
855
+ "indexes": {},
856
+ "foreignKeys": {},
857
+ "compositePrimaryKeys": {},
858
+ "uniqueConstraints": {},
859
+ "policies": {},
860
+ "checkConstraints": {},
861
+ "isRLSEnabled": false
862
+ },
863
+ "agent_chat.voice_choices": {
864
+ "name": "voice_choices",
865
+ "schema": "agent_chat",
866
+ "columns": {
867
+ "owner_id": {
868
+ "name": "owner_id",
869
+ "type": "text",
870
+ "primaryKey": true,
871
+ "notNull": true
872
+ },
873
+ "voice_id": {
874
+ "name": "voice_id",
875
+ "type": "text",
876
+ "primaryKey": false,
877
+ "notNull": true
878
+ },
879
+ "updated_at": {
880
+ "name": "updated_at",
881
+ "type": "text",
882
+ "primaryKey": false,
883
+ "notNull": true
884
+ }
885
+ },
886
+ "indexes": {},
887
+ "foreignKeys": {},
888
+ "compositePrimaryKeys": {},
889
+ "uniqueConstraints": {},
890
+ "policies": {},
891
+ "checkConstraints": {},
892
+ "isRLSEnabled": false
893
+ }
894
+ },
895
+ "enums": {},
896
+ "schemas": {
897
+ "agent_chat": "agent_chat"
898
+ },
899
+ "sequences": {},
900
+ "roles": {},
901
+ "policies": {},
902
+ "views": {},
903
+ "_meta": {
904
+ "columns": {},
905
+ "schemas": {},
906
+ "tables": {}
907
+ }
908
+ }