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