@lobehub/chat 0.162.25 → 0.164.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 (84) hide show
  1. package/.github/workflows/release.yml +21 -2
  2. package/.github/workflows/sync.yml +1 -1
  3. package/.github/workflows/test.yml +35 -4
  4. package/CHANGELOG.md +63 -0
  5. package/LICENSE +38 -21
  6. package/codecov.yml +11 -0
  7. package/drizzle.config.ts +29 -0
  8. package/next.config.mjs +3 -0
  9. package/package.json +24 -4
  10. package/scripts/migrateServerDB/index.ts +30 -0
  11. package/src/app/(main)/(mobile)/me/(home)/features/useCategory.tsx +2 -1
  12. package/src/app/(main)/chat/@session/features/SessionListContent/List/Item/Actions.tsx +95 -88
  13. package/src/app/(main)/chat/settings/features/HeaderContent.tsx +37 -31
  14. package/src/app/api/webhooks/clerk/__tests__/fixtures/createUser.json +73 -0
  15. package/src/app/api/webhooks/clerk/route.ts +159 -0
  16. package/src/app/api/webhooks/clerk/validateRequest.ts +22 -0
  17. package/src/app/trpc/edge/[trpc]/route.ts +1 -1
  18. package/src/app/trpc/lambda/[trpc]/route.ts +26 -0
  19. package/src/config/auth.ts +2 -0
  20. package/src/config/db.ts +13 -1
  21. package/src/database/server/core/db.ts +44 -0
  22. package/src/database/server/core/dbForTest.ts +45 -0
  23. package/src/database/server/index.ts +1 -0
  24. package/src/database/server/migrations/0000_init.sql +439 -0
  25. package/src/database/server/migrations/0001_add_client_id.sql +9 -0
  26. package/src/database/server/migrations/0002_amusing_puma.sql +9 -0
  27. package/src/database/server/migrations/meta/0000_snapshot.json +1583 -0
  28. package/src/database/server/migrations/meta/0001_snapshot.json +1636 -0
  29. package/src/database/server/migrations/meta/0002_snapshot.json +1630 -0
  30. package/src/database/server/migrations/meta/_journal.json +27 -0
  31. package/src/database/server/models/__tests__/file.test.ts +140 -0
  32. package/src/database/server/models/__tests__/message.test.ts +847 -0
  33. package/src/database/server/models/__tests__/plugin.test.ts +172 -0
  34. package/src/database/server/models/__tests__/session.test.ts +595 -0
  35. package/src/database/server/models/__tests__/topic.test.ts +623 -0
  36. package/src/database/server/models/__tests__/user.test.ts +173 -0
  37. package/src/database/server/models/_template.ts +44 -0
  38. package/src/database/server/models/file.ts +51 -0
  39. package/src/database/server/models/message.ts +378 -0
  40. package/src/database/server/models/plugin.ts +63 -0
  41. package/src/database/server/models/session.ts +290 -0
  42. package/src/database/server/models/sessionGroup.ts +69 -0
  43. package/src/database/server/models/topic.ts +265 -0
  44. package/src/database/server/models/user.ts +138 -0
  45. package/src/database/server/modules/DataImporter/__tests__/fixtures/messages.json +1101 -0
  46. package/src/database/server/modules/DataImporter/__tests__/index.test.ts +954 -0
  47. package/src/database/server/modules/DataImporter/index.ts +333 -0
  48. package/src/database/server/schemas/_id.ts +15 -0
  49. package/src/database/server/schemas/lobechat.ts +601 -0
  50. package/src/database/server/utils/idGenerator.test.ts +39 -0
  51. package/src/database/server/utils/idGenerator.ts +26 -0
  52. package/src/features/User/UserPanel/useMenu.tsx +43 -37
  53. package/src/libs/trpc/client.ts +52 -3
  54. package/src/server/files/s3.ts +21 -1
  55. package/src/server/keyVaultsEncrypt/index.test.ts +62 -0
  56. package/src/server/keyVaultsEncrypt/index.ts +93 -0
  57. package/src/server/mock.ts +1 -1
  58. package/src/server/routers/{index.ts → edge/index.ts} +3 -3
  59. package/src/server/routers/lambda/file.ts +49 -0
  60. package/src/server/routers/lambda/importer.ts +54 -0
  61. package/src/server/routers/lambda/index.ts +28 -0
  62. package/src/server/routers/lambda/message.ts +165 -0
  63. package/src/server/routers/lambda/plugin.ts +100 -0
  64. package/src/server/routers/lambda/session.ts +194 -0
  65. package/src/server/routers/lambda/sessionGroup.ts +77 -0
  66. package/src/server/routers/lambda/topic.ts +134 -0
  67. package/src/server/routers/lambda/user.ts +57 -0
  68. package/src/services/file/index.ts +4 -7
  69. package/src/services/file/server.ts +45 -0
  70. package/src/services/import/index.ts +4 -1
  71. package/src/services/import/server.ts +115 -0
  72. package/src/services/message/index.ts +4 -8
  73. package/src/services/message/server.ts +93 -0
  74. package/src/services/plugin/index.ts +4 -9
  75. package/src/services/plugin/server.ts +46 -0
  76. package/src/services/session/index.ts +4 -8
  77. package/src/services/session/server.ts +148 -0
  78. package/src/services/topic/index.ts +4 -9
  79. package/src/services/topic/server.ts +68 -0
  80. package/src/services/user/index.ts +4 -9
  81. package/src/services/user/server.ts +28 -0
  82. package/tests/setup-db.ts +7 -0
  83. package/vitest.config.ts +2 -1
  84. package/vitest.server.config.ts +23 -0
@@ -0,0 +1,1583 @@
1
+ {
2
+ "_meta": {
3
+ "columns": {},
4
+ "schemas": {},
5
+ "tables": {}
6
+ },
7
+ "dialect": "postgresql",
8
+ "enums": {},
9
+ "id": "85cfb5d4-e16c-4add-8088-80e0fb805b6c",
10
+ "prevId": "00000000-0000-0000-0000-000000000000",
11
+ "schemas": {},
12
+ "tables": {
13
+ "public.agents": {
14
+ "name": "agents",
15
+ "schema": "",
16
+ "columns": {
17
+ "id": {
18
+ "name": "id",
19
+ "type": "text",
20
+ "primaryKey": true,
21
+ "notNull": true
22
+ },
23
+ "slug": {
24
+ "name": "slug",
25
+ "type": "varchar(100)",
26
+ "primaryKey": false,
27
+ "notNull": false
28
+ },
29
+ "title": {
30
+ "name": "title",
31
+ "type": "text",
32
+ "primaryKey": false,
33
+ "notNull": false
34
+ },
35
+ "description": {
36
+ "name": "description",
37
+ "type": "text",
38
+ "primaryKey": false,
39
+ "notNull": false
40
+ },
41
+ "tags": {
42
+ "name": "tags",
43
+ "type": "jsonb",
44
+ "primaryKey": false,
45
+ "notNull": false,
46
+ "default": "'[]'::jsonb"
47
+ },
48
+ "avatar": {
49
+ "name": "avatar",
50
+ "type": "text",
51
+ "primaryKey": false,
52
+ "notNull": false
53
+ },
54
+ "background_color": {
55
+ "name": "background_color",
56
+ "type": "text",
57
+ "primaryKey": false,
58
+ "notNull": false
59
+ },
60
+ "plugins": {
61
+ "name": "plugins",
62
+ "type": "jsonb",
63
+ "primaryKey": false,
64
+ "notNull": false,
65
+ "default": "'[]'::jsonb"
66
+ },
67
+ "user_id": {
68
+ "name": "user_id",
69
+ "type": "text",
70
+ "primaryKey": false,
71
+ "notNull": true
72
+ },
73
+ "chat_config": {
74
+ "name": "chat_config",
75
+ "type": "jsonb",
76
+ "primaryKey": false,
77
+ "notNull": false
78
+ },
79
+ "few_shots": {
80
+ "name": "few_shots",
81
+ "type": "jsonb",
82
+ "primaryKey": false,
83
+ "notNull": false
84
+ },
85
+ "model": {
86
+ "name": "model",
87
+ "type": "text",
88
+ "primaryKey": false,
89
+ "notNull": false
90
+ },
91
+ "params": {
92
+ "name": "params",
93
+ "type": "jsonb",
94
+ "primaryKey": false,
95
+ "notNull": false,
96
+ "default": "'{}'::jsonb"
97
+ },
98
+ "provider": {
99
+ "name": "provider",
100
+ "type": "text",
101
+ "primaryKey": false,
102
+ "notNull": false
103
+ },
104
+ "system_role": {
105
+ "name": "system_role",
106
+ "type": "text",
107
+ "primaryKey": false,
108
+ "notNull": false
109
+ },
110
+ "tts": {
111
+ "name": "tts",
112
+ "type": "jsonb",
113
+ "primaryKey": false,
114
+ "notNull": false
115
+ },
116
+ "created_at": {
117
+ "name": "created_at",
118
+ "type": "timestamp with time zone",
119
+ "primaryKey": false,
120
+ "notNull": true,
121
+ "default": "now()"
122
+ },
123
+ "updated_at": {
124
+ "name": "updated_at",
125
+ "type": "timestamp with time zone",
126
+ "primaryKey": false,
127
+ "notNull": true,
128
+ "default": "now()"
129
+ }
130
+ },
131
+ "indexes": {},
132
+ "foreignKeys": {
133
+ "agents_user_id_users_id_fk": {
134
+ "name": "agents_user_id_users_id_fk",
135
+ "tableFrom": "agents",
136
+ "tableTo": "users",
137
+ "columnsFrom": ["user_id"],
138
+ "columnsTo": ["id"],
139
+ "onDelete": "cascade",
140
+ "onUpdate": "no action"
141
+ }
142
+ },
143
+ "compositePrimaryKeys": {},
144
+ "uniqueConstraints": {
145
+ "agents_slug_unique": {
146
+ "name": "agents_slug_unique",
147
+ "nullsNotDistinct": false,
148
+ "columns": ["slug"]
149
+ }
150
+ }
151
+ },
152
+ "public.agents_tags": {
153
+ "name": "agents_tags",
154
+ "schema": "",
155
+ "columns": {
156
+ "agent_id": {
157
+ "name": "agent_id",
158
+ "type": "text",
159
+ "primaryKey": false,
160
+ "notNull": true
161
+ },
162
+ "tag_id": {
163
+ "name": "tag_id",
164
+ "type": "integer",
165
+ "primaryKey": false,
166
+ "notNull": true
167
+ }
168
+ },
169
+ "indexes": {},
170
+ "foreignKeys": {
171
+ "agents_tags_agent_id_agents_id_fk": {
172
+ "name": "agents_tags_agent_id_agents_id_fk",
173
+ "tableFrom": "agents_tags",
174
+ "tableTo": "agents",
175
+ "columnsFrom": ["agent_id"],
176
+ "columnsTo": ["id"],
177
+ "onDelete": "cascade",
178
+ "onUpdate": "no action"
179
+ },
180
+ "agents_tags_tag_id_tags_id_fk": {
181
+ "name": "agents_tags_tag_id_tags_id_fk",
182
+ "tableFrom": "agents_tags",
183
+ "tableTo": "tags",
184
+ "columnsFrom": ["tag_id"],
185
+ "columnsTo": ["id"],
186
+ "onDelete": "cascade",
187
+ "onUpdate": "no action"
188
+ }
189
+ },
190
+ "compositePrimaryKeys": {
191
+ "agents_tags_agent_id_tag_id_pk": {
192
+ "name": "agents_tags_agent_id_tag_id_pk",
193
+ "columns": ["agent_id", "tag_id"]
194
+ }
195
+ },
196
+ "uniqueConstraints": {}
197
+ },
198
+ "public.agents_to_sessions": {
199
+ "name": "agents_to_sessions",
200
+ "schema": "",
201
+ "columns": {
202
+ "agent_id": {
203
+ "name": "agent_id",
204
+ "type": "text",
205
+ "primaryKey": false,
206
+ "notNull": true
207
+ },
208
+ "session_id": {
209
+ "name": "session_id",
210
+ "type": "text",
211
+ "primaryKey": false,
212
+ "notNull": true
213
+ }
214
+ },
215
+ "indexes": {},
216
+ "foreignKeys": {
217
+ "agents_to_sessions_agent_id_agents_id_fk": {
218
+ "name": "agents_to_sessions_agent_id_agents_id_fk",
219
+ "tableFrom": "agents_to_sessions",
220
+ "tableTo": "agents",
221
+ "columnsFrom": ["agent_id"],
222
+ "columnsTo": ["id"],
223
+ "onDelete": "cascade",
224
+ "onUpdate": "no action"
225
+ },
226
+ "agents_to_sessions_session_id_sessions_id_fk": {
227
+ "name": "agents_to_sessions_session_id_sessions_id_fk",
228
+ "tableFrom": "agents_to_sessions",
229
+ "tableTo": "sessions",
230
+ "columnsFrom": ["session_id"],
231
+ "columnsTo": ["id"],
232
+ "onDelete": "cascade",
233
+ "onUpdate": "no action"
234
+ }
235
+ },
236
+ "compositePrimaryKeys": {
237
+ "agents_to_sessions_agent_id_session_id_pk": {
238
+ "name": "agents_to_sessions_agent_id_session_id_pk",
239
+ "columns": ["agent_id", "session_id"]
240
+ }
241
+ },
242
+ "uniqueConstraints": {}
243
+ },
244
+ "public.files": {
245
+ "name": "files",
246
+ "schema": "",
247
+ "columns": {
248
+ "id": {
249
+ "name": "id",
250
+ "type": "text",
251
+ "primaryKey": true,
252
+ "notNull": true
253
+ },
254
+ "user_id": {
255
+ "name": "user_id",
256
+ "type": "text",
257
+ "primaryKey": false,
258
+ "notNull": true
259
+ },
260
+ "file_type": {
261
+ "name": "file_type",
262
+ "type": "varchar(255)",
263
+ "primaryKey": false,
264
+ "notNull": true
265
+ },
266
+ "name": {
267
+ "name": "name",
268
+ "type": "text",
269
+ "primaryKey": false,
270
+ "notNull": true
271
+ },
272
+ "size": {
273
+ "name": "size",
274
+ "type": "integer",
275
+ "primaryKey": false,
276
+ "notNull": true
277
+ },
278
+ "url": {
279
+ "name": "url",
280
+ "type": "text",
281
+ "primaryKey": false,
282
+ "notNull": true
283
+ },
284
+ "metadata": {
285
+ "name": "metadata",
286
+ "type": "jsonb",
287
+ "primaryKey": false,
288
+ "notNull": false
289
+ },
290
+ "created_at": {
291
+ "name": "created_at",
292
+ "type": "timestamp with time zone",
293
+ "primaryKey": false,
294
+ "notNull": true,
295
+ "default": "now()"
296
+ },
297
+ "updated_at": {
298
+ "name": "updated_at",
299
+ "type": "timestamp with time zone",
300
+ "primaryKey": false,
301
+ "notNull": true,
302
+ "default": "now()"
303
+ }
304
+ },
305
+ "indexes": {},
306
+ "foreignKeys": {
307
+ "files_user_id_users_id_fk": {
308
+ "name": "files_user_id_users_id_fk",
309
+ "tableFrom": "files",
310
+ "tableTo": "users",
311
+ "columnsFrom": ["user_id"],
312
+ "columnsTo": ["id"],
313
+ "onDelete": "cascade",
314
+ "onUpdate": "no action"
315
+ }
316
+ },
317
+ "compositePrimaryKeys": {},
318
+ "uniqueConstraints": {}
319
+ },
320
+ "public.files_to_agents": {
321
+ "name": "files_to_agents",
322
+ "schema": "",
323
+ "columns": {
324
+ "file_id": {
325
+ "name": "file_id",
326
+ "type": "text",
327
+ "primaryKey": false,
328
+ "notNull": true
329
+ },
330
+ "agent_id": {
331
+ "name": "agent_id",
332
+ "type": "text",
333
+ "primaryKey": false,
334
+ "notNull": true
335
+ }
336
+ },
337
+ "indexes": {},
338
+ "foreignKeys": {
339
+ "files_to_agents_file_id_files_id_fk": {
340
+ "name": "files_to_agents_file_id_files_id_fk",
341
+ "tableFrom": "files_to_agents",
342
+ "tableTo": "files",
343
+ "columnsFrom": ["file_id"],
344
+ "columnsTo": ["id"],
345
+ "onDelete": "cascade",
346
+ "onUpdate": "no action"
347
+ },
348
+ "files_to_agents_agent_id_agents_id_fk": {
349
+ "name": "files_to_agents_agent_id_agents_id_fk",
350
+ "tableFrom": "files_to_agents",
351
+ "tableTo": "agents",
352
+ "columnsFrom": ["agent_id"],
353
+ "columnsTo": ["id"],
354
+ "onDelete": "cascade",
355
+ "onUpdate": "no action"
356
+ }
357
+ },
358
+ "compositePrimaryKeys": {
359
+ "files_to_agents_file_id_agent_id_pk": {
360
+ "name": "files_to_agents_file_id_agent_id_pk",
361
+ "columns": ["file_id", "agent_id"]
362
+ }
363
+ },
364
+ "uniqueConstraints": {}
365
+ },
366
+ "public.files_to_messages": {
367
+ "name": "files_to_messages",
368
+ "schema": "",
369
+ "columns": {
370
+ "file_id": {
371
+ "name": "file_id",
372
+ "type": "text",
373
+ "primaryKey": false,
374
+ "notNull": true
375
+ },
376
+ "message_id": {
377
+ "name": "message_id",
378
+ "type": "text",
379
+ "primaryKey": false,
380
+ "notNull": true
381
+ }
382
+ },
383
+ "indexes": {},
384
+ "foreignKeys": {
385
+ "files_to_messages_file_id_files_id_fk": {
386
+ "name": "files_to_messages_file_id_files_id_fk",
387
+ "tableFrom": "files_to_messages",
388
+ "tableTo": "files",
389
+ "columnsFrom": ["file_id"],
390
+ "columnsTo": ["id"],
391
+ "onDelete": "cascade",
392
+ "onUpdate": "no action"
393
+ },
394
+ "files_to_messages_message_id_messages_id_fk": {
395
+ "name": "files_to_messages_message_id_messages_id_fk",
396
+ "tableFrom": "files_to_messages",
397
+ "tableTo": "messages",
398
+ "columnsFrom": ["message_id"],
399
+ "columnsTo": ["id"],
400
+ "onDelete": "cascade",
401
+ "onUpdate": "no action"
402
+ }
403
+ },
404
+ "compositePrimaryKeys": {
405
+ "files_to_messages_file_id_message_id_pk": {
406
+ "name": "files_to_messages_file_id_message_id_pk",
407
+ "columns": ["file_id", "message_id"]
408
+ }
409
+ },
410
+ "uniqueConstraints": {}
411
+ },
412
+ "public.files_to_sessions": {
413
+ "name": "files_to_sessions",
414
+ "schema": "",
415
+ "columns": {
416
+ "file_id": {
417
+ "name": "file_id",
418
+ "type": "text",
419
+ "primaryKey": false,
420
+ "notNull": true
421
+ },
422
+ "session_id": {
423
+ "name": "session_id",
424
+ "type": "text",
425
+ "primaryKey": false,
426
+ "notNull": true
427
+ }
428
+ },
429
+ "indexes": {},
430
+ "foreignKeys": {
431
+ "files_to_sessions_file_id_files_id_fk": {
432
+ "name": "files_to_sessions_file_id_files_id_fk",
433
+ "tableFrom": "files_to_sessions",
434
+ "tableTo": "files",
435
+ "columnsFrom": ["file_id"],
436
+ "columnsTo": ["id"],
437
+ "onDelete": "cascade",
438
+ "onUpdate": "no action"
439
+ },
440
+ "files_to_sessions_session_id_sessions_id_fk": {
441
+ "name": "files_to_sessions_session_id_sessions_id_fk",
442
+ "tableFrom": "files_to_sessions",
443
+ "tableTo": "sessions",
444
+ "columnsFrom": ["session_id"],
445
+ "columnsTo": ["id"],
446
+ "onDelete": "cascade",
447
+ "onUpdate": "no action"
448
+ }
449
+ },
450
+ "compositePrimaryKeys": {
451
+ "files_to_sessions_file_id_session_id_pk": {
452
+ "name": "files_to_sessions_file_id_session_id_pk",
453
+ "columns": ["file_id", "session_id"]
454
+ }
455
+ },
456
+ "uniqueConstraints": {}
457
+ },
458
+ "public.user_installed_plugins": {
459
+ "name": "user_installed_plugins",
460
+ "schema": "",
461
+ "columns": {
462
+ "user_id": {
463
+ "name": "user_id",
464
+ "type": "text",
465
+ "primaryKey": false,
466
+ "notNull": true
467
+ },
468
+ "identifier": {
469
+ "name": "identifier",
470
+ "type": "text",
471
+ "primaryKey": false,
472
+ "notNull": true
473
+ },
474
+ "type": {
475
+ "name": "type",
476
+ "type": "text",
477
+ "primaryKey": false,
478
+ "notNull": true
479
+ },
480
+ "manifest": {
481
+ "name": "manifest",
482
+ "type": "jsonb",
483
+ "primaryKey": false,
484
+ "notNull": false
485
+ },
486
+ "settings": {
487
+ "name": "settings",
488
+ "type": "jsonb",
489
+ "primaryKey": false,
490
+ "notNull": false
491
+ },
492
+ "custom_params": {
493
+ "name": "custom_params",
494
+ "type": "jsonb",
495
+ "primaryKey": false,
496
+ "notNull": false
497
+ },
498
+ "created_at": {
499
+ "name": "created_at",
500
+ "type": "timestamp with time zone",
501
+ "primaryKey": false,
502
+ "notNull": true,
503
+ "default": "now()"
504
+ },
505
+ "updated_at": {
506
+ "name": "updated_at",
507
+ "type": "timestamp with time zone",
508
+ "primaryKey": false,
509
+ "notNull": true,
510
+ "default": "now()"
511
+ }
512
+ },
513
+ "indexes": {},
514
+ "foreignKeys": {
515
+ "user_installed_plugins_user_id_users_id_fk": {
516
+ "name": "user_installed_plugins_user_id_users_id_fk",
517
+ "tableFrom": "user_installed_plugins",
518
+ "tableTo": "users",
519
+ "columnsFrom": ["user_id"],
520
+ "columnsTo": ["id"],
521
+ "onDelete": "cascade",
522
+ "onUpdate": "no action"
523
+ }
524
+ },
525
+ "compositePrimaryKeys": {
526
+ "user_installed_plugins_user_id_identifier_pk": {
527
+ "name": "user_installed_plugins_user_id_identifier_pk",
528
+ "columns": ["user_id", "identifier"]
529
+ }
530
+ },
531
+ "uniqueConstraints": {}
532
+ },
533
+ "public.market": {
534
+ "name": "market",
535
+ "schema": "",
536
+ "columns": {
537
+ "id": {
538
+ "name": "id",
539
+ "type": "serial",
540
+ "primaryKey": true,
541
+ "notNull": true
542
+ },
543
+ "agent_id": {
544
+ "name": "agent_id",
545
+ "type": "text",
546
+ "primaryKey": false,
547
+ "notNull": false
548
+ },
549
+ "plugin_id": {
550
+ "name": "plugin_id",
551
+ "type": "integer",
552
+ "primaryKey": false,
553
+ "notNull": false
554
+ },
555
+ "type": {
556
+ "name": "type",
557
+ "type": "text",
558
+ "primaryKey": false,
559
+ "notNull": true
560
+ },
561
+ "view": {
562
+ "name": "view",
563
+ "type": "integer",
564
+ "primaryKey": false,
565
+ "notNull": false,
566
+ "default": 0
567
+ },
568
+ "like": {
569
+ "name": "like",
570
+ "type": "integer",
571
+ "primaryKey": false,
572
+ "notNull": false,
573
+ "default": 0
574
+ },
575
+ "used": {
576
+ "name": "used",
577
+ "type": "integer",
578
+ "primaryKey": false,
579
+ "notNull": false,
580
+ "default": 0
581
+ },
582
+ "user_id": {
583
+ "name": "user_id",
584
+ "type": "text",
585
+ "primaryKey": false,
586
+ "notNull": true
587
+ },
588
+ "created_at": {
589
+ "name": "created_at",
590
+ "type": "timestamp with time zone",
591
+ "primaryKey": false,
592
+ "notNull": true,
593
+ "default": "now()"
594
+ },
595
+ "updated_at": {
596
+ "name": "updated_at",
597
+ "type": "timestamp with time zone",
598
+ "primaryKey": false,
599
+ "notNull": true,
600
+ "default": "now()"
601
+ }
602
+ },
603
+ "indexes": {},
604
+ "foreignKeys": {
605
+ "market_agent_id_agents_id_fk": {
606
+ "name": "market_agent_id_agents_id_fk",
607
+ "tableFrom": "market",
608
+ "tableTo": "agents",
609
+ "columnsFrom": ["agent_id"],
610
+ "columnsTo": ["id"],
611
+ "onDelete": "cascade",
612
+ "onUpdate": "no action"
613
+ },
614
+ "market_plugin_id_plugins_id_fk": {
615
+ "name": "market_plugin_id_plugins_id_fk",
616
+ "tableFrom": "market",
617
+ "tableTo": "plugins",
618
+ "columnsFrom": ["plugin_id"],
619
+ "columnsTo": ["id"],
620
+ "onDelete": "cascade",
621
+ "onUpdate": "no action"
622
+ },
623
+ "market_user_id_users_id_fk": {
624
+ "name": "market_user_id_users_id_fk",
625
+ "tableFrom": "market",
626
+ "tableTo": "users",
627
+ "columnsFrom": ["user_id"],
628
+ "columnsTo": ["id"],
629
+ "onDelete": "cascade",
630
+ "onUpdate": "no action"
631
+ }
632
+ },
633
+ "compositePrimaryKeys": {},
634
+ "uniqueConstraints": {}
635
+ },
636
+ "public.message_plugins": {
637
+ "name": "message_plugins",
638
+ "schema": "",
639
+ "columns": {
640
+ "id": {
641
+ "name": "id",
642
+ "type": "text",
643
+ "primaryKey": true,
644
+ "notNull": true
645
+ },
646
+ "tool_call_id": {
647
+ "name": "tool_call_id",
648
+ "type": "text",
649
+ "primaryKey": false,
650
+ "notNull": false
651
+ },
652
+ "type": {
653
+ "name": "type",
654
+ "type": "text",
655
+ "primaryKey": false,
656
+ "notNull": false,
657
+ "default": "'default'"
658
+ },
659
+ "api_name": {
660
+ "name": "api_name",
661
+ "type": "text",
662
+ "primaryKey": false,
663
+ "notNull": false
664
+ },
665
+ "arguments": {
666
+ "name": "arguments",
667
+ "type": "text",
668
+ "primaryKey": false,
669
+ "notNull": false
670
+ },
671
+ "identifier": {
672
+ "name": "identifier",
673
+ "type": "text",
674
+ "primaryKey": false,
675
+ "notNull": false
676
+ },
677
+ "state": {
678
+ "name": "state",
679
+ "type": "jsonb",
680
+ "primaryKey": false,
681
+ "notNull": false
682
+ },
683
+ "error": {
684
+ "name": "error",
685
+ "type": "jsonb",
686
+ "primaryKey": false,
687
+ "notNull": false
688
+ }
689
+ },
690
+ "indexes": {},
691
+ "foreignKeys": {
692
+ "message_plugins_id_messages_id_fk": {
693
+ "name": "message_plugins_id_messages_id_fk",
694
+ "tableFrom": "message_plugins",
695
+ "tableTo": "messages",
696
+ "columnsFrom": ["id"],
697
+ "columnsTo": ["id"],
698
+ "onDelete": "cascade",
699
+ "onUpdate": "no action"
700
+ }
701
+ },
702
+ "compositePrimaryKeys": {},
703
+ "uniqueConstraints": {}
704
+ },
705
+ "public.message_tts": {
706
+ "name": "message_tts",
707
+ "schema": "",
708
+ "columns": {
709
+ "id": {
710
+ "name": "id",
711
+ "type": "text",
712
+ "primaryKey": true,
713
+ "notNull": true
714
+ },
715
+ "content_md5": {
716
+ "name": "content_md5",
717
+ "type": "text",
718
+ "primaryKey": false,
719
+ "notNull": false
720
+ },
721
+ "file_id": {
722
+ "name": "file_id",
723
+ "type": "text",
724
+ "primaryKey": false,
725
+ "notNull": false
726
+ },
727
+ "voice": {
728
+ "name": "voice",
729
+ "type": "text",
730
+ "primaryKey": false,
731
+ "notNull": false
732
+ }
733
+ },
734
+ "indexes": {},
735
+ "foreignKeys": {
736
+ "message_tts_id_messages_id_fk": {
737
+ "name": "message_tts_id_messages_id_fk",
738
+ "tableFrom": "message_tts",
739
+ "tableTo": "messages",
740
+ "columnsFrom": ["id"],
741
+ "columnsTo": ["id"],
742
+ "onDelete": "cascade",
743
+ "onUpdate": "no action"
744
+ },
745
+ "message_tts_file_id_files_id_fk": {
746
+ "name": "message_tts_file_id_files_id_fk",
747
+ "tableFrom": "message_tts",
748
+ "tableTo": "files",
749
+ "columnsFrom": ["file_id"],
750
+ "columnsTo": ["id"],
751
+ "onDelete": "cascade",
752
+ "onUpdate": "no action"
753
+ }
754
+ },
755
+ "compositePrimaryKeys": {},
756
+ "uniqueConstraints": {}
757
+ },
758
+ "public.message_translates": {
759
+ "name": "message_translates",
760
+ "schema": "",
761
+ "columns": {
762
+ "id": {
763
+ "name": "id",
764
+ "type": "text",
765
+ "primaryKey": true,
766
+ "notNull": true
767
+ },
768
+ "content": {
769
+ "name": "content",
770
+ "type": "text",
771
+ "primaryKey": false,
772
+ "notNull": false
773
+ },
774
+ "from": {
775
+ "name": "from",
776
+ "type": "text",
777
+ "primaryKey": false,
778
+ "notNull": false
779
+ },
780
+ "to": {
781
+ "name": "to",
782
+ "type": "text",
783
+ "primaryKey": false,
784
+ "notNull": false
785
+ }
786
+ },
787
+ "indexes": {},
788
+ "foreignKeys": {
789
+ "message_translates_id_messages_id_fk": {
790
+ "name": "message_translates_id_messages_id_fk",
791
+ "tableFrom": "message_translates",
792
+ "tableTo": "messages",
793
+ "columnsFrom": ["id"],
794
+ "columnsTo": ["id"],
795
+ "onDelete": "cascade",
796
+ "onUpdate": "no action"
797
+ }
798
+ },
799
+ "compositePrimaryKeys": {},
800
+ "uniqueConstraints": {}
801
+ },
802
+ "public.messages": {
803
+ "name": "messages",
804
+ "schema": "",
805
+ "columns": {
806
+ "id": {
807
+ "name": "id",
808
+ "type": "text",
809
+ "primaryKey": true,
810
+ "notNull": true
811
+ },
812
+ "role": {
813
+ "name": "role",
814
+ "type": "text",
815
+ "primaryKey": false,
816
+ "notNull": true
817
+ },
818
+ "content": {
819
+ "name": "content",
820
+ "type": "text",
821
+ "primaryKey": false,
822
+ "notNull": false
823
+ },
824
+ "model": {
825
+ "name": "model",
826
+ "type": "text",
827
+ "primaryKey": false,
828
+ "notNull": false
829
+ },
830
+ "provider": {
831
+ "name": "provider",
832
+ "type": "text",
833
+ "primaryKey": false,
834
+ "notNull": false
835
+ },
836
+ "favorite": {
837
+ "name": "favorite",
838
+ "type": "boolean",
839
+ "primaryKey": false,
840
+ "notNull": false,
841
+ "default": false
842
+ },
843
+ "error": {
844
+ "name": "error",
845
+ "type": "jsonb",
846
+ "primaryKey": false,
847
+ "notNull": false
848
+ },
849
+ "tools": {
850
+ "name": "tools",
851
+ "type": "jsonb",
852
+ "primaryKey": false,
853
+ "notNull": false
854
+ },
855
+ "trace_id": {
856
+ "name": "trace_id",
857
+ "type": "text",
858
+ "primaryKey": false,
859
+ "notNull": false
860
+ },
861
+ "observation_id": {
862
+ "name": "observation_id",
863
+ "type": "text",
864
+ "primaryKey": false,
865
+ "notNull": false
866
+ },
867
+ "user_id": {
868
+ "name": "user_id",
869
+ "type": "text",
870
+ "primaryKey": false,
871
+ "notNull": true
872
+ },
873
+ "session_id": {
874
+ "name": "session_id",
875
+ "type": "text",
876
+ "primaryKey": false,
877
+ "notNull": false
878
+ },
879
+ "topic_id": {
880
+ "name": "topic_id",
881
+ "type": "text",
882
+ "primaryKey": false,
883
+ "notNull": false
884
+ },
885
+ "parent_id": {
886
+ "name": "parent_id",
887
+ "type": "text",
888
+ "primaryKey": false,
889
+ "notNull": false
890
+ },
891
+ "quota_id": {
892
+ "name": "quota_id",
893
+ "type": "text",
894
+ "primaryKey": false,
895
+ "notNull": false
896
+ },
897
+ "agent_id": {
898
+ "name": "agent_id",
899
+ "type": "text",
900
+ "primaryKey": false,
901
+ "notNull": false
902
+ },
903
+ "created_at": {
904
+ "name": "created_at",
905
+ "type": "timestamp with time zone",
906
+ "primaryKey": false,
907
+ "notNull": true,
908
+ "default": "now()"
909
+ },
910
+ "updated_at": {
911
+ "name": "updated_at",
912
+ "type": "timestamp with time zone",
913
+ "primaryKey": false,
914
+ "notNull": true,
915
+ "default": "now()"
916
+ }
917
+ },
918
+ "indexes": {
919
+ "messages_created_at_idx": {
920
+ "name": "messages_created_at_idx",
921
+ "columns": ["created_at"],
922
+ "isUnique": false
923
+ }
924
+ },
925
+ "foreignKeys": {
926
+ "messages_user_id_users_id_fk": {
927
+ "name": "messages_user_id_users_id_fk",
928
+ "tableFrom": "messages",
929
+ "tableTo": "users",
930
+ "columnsFrom": ["user_id"],
931
+ "columnsTo": ["id"],
932
+ "onDelete": "cascade",
933
+ "onUpdate": "no action"
934
+ },
935
+ "messages_session_id_sessions_id_fk": {
936
+ "name": "messages_session_id_sessions_id_fk",
937
+ "tableFrom": "messages",
938
+ "tableTo": "sessions",
939
+ "columnsFrom": ["session_id"],
940
+ "columnsTo": ["id"],
941
+ "onDelete": "cascade",
942
+ "onUpdate": "no action"
943
+ },
944
+ "messages_topic_id_topics_id_fk": {
945
+ "name": "messages_topic_id_topics_id_fk",
946
+ "tableFrom": "messages",
947
+ "tableTo": "topics",
948
+ "columnsFrom": ["topic_id"],
949
+ "columnsTo": ["id"],
950
+ "onDelete": "cascade",
951
+ "onUpdate": "no action"
952
+ },
953
+ "messages_parent_id_messages_id_fk": {
954
+ "name": "messages_parent_id_messages_id_fk",
955
+ "tableFrom": "messages",
956
+ "tableTo": "messages",
957
+ "columnsFrom": ["parent_id"],
958
+ "columnsTo": ["id"],
959
+ "onDelete": "set null",
960
+ "onUpdate": "no action"
961
+ },
962
+ "messages_quota_id_messages_id_fk": {
963
+ "name": "messages_quota_id_messages_id_fk",
964
+ "tableFrom": "messages",
965
+ "tableTo": "messages",
966
+ "columnsFrom": ["quota_id"],
967
+ "columnsTo": ["id"],
968
+ "onDelete": "set null",
969
+ "onUpdate": "no action"
970
+ },
971
+ "messages_agent_id_agents_id_fk": {
972
+ "name": "messages_agent_id_agents_id_fk",
973
+ "tableFrom": "messages",
974
+ "tableTo": "agents",
975
+ "columnsFrom": ["agent_id"],
976
+ "columnsTo": ["id"],
977
+ "onDelete": "set null",
978
+ "onUpdate": "no action"
979
+ }
980
+ },
981
+ "compositePrimaryKeys": {},
982
+ "uniqueConstraints": {}
983
+ },
984
+ "public.plugins": {
985
+ "name": "plugins",
986
+ "schema": "",
987
+ "columns": {
988
+ "id": {
989
+ "name": "id",
990
+ "type": "serial",
991
+ "primaryKey": true,
992
+ "notNull": true
993
+ },
994
+ "identifier": {
995
+ "name": "identifier",
996
+ "type": "text",
997
+ "primaryKey": false,
998
+ "notNull": true
999
+ },
1000
+ "title": {
1001
+ "name": "title",
1002
+ "type": "text",
1003
+ "primaryKey": false,
1004
+ "notNull": true
1005
+ },
1006
+ "description": {
1007
+ "name": "description",
1008
+ "type": "text",
1009
+ "primaryKey": false,
1010
+ "notNull": false
1011
+ },
1012
+ "avatar": {
1013
+ "name": "avatar",
1014
+ "type": "text",
1015
+ "primaryKey": false,
1016
+ "notNull": false
1017
+ },
1018
+ "author": {
1019
+ "name": "author",
1020
+ "type": "text",
1021
+ "primaryKey": false,
1022
+ "notNull": false
1023
+ },
1024
+ "manifest": {
1025
+ "name": "manifest",
1026
+ "type": "text",
1027
+ "primaryKey": false,
1028
+ "notNull": true
1029
+ },
1030
+ "locale": {
1031
+ "name": "locale",
1032
+ "type": "text",
1033
+ "primaryKey": false,
1034
+ "notNull": true
1035
+ },
1036
+ "created_at": {
1037
+ "name": "created_at",
1038
+ "type": "timestamp with time zone",
1039
+ "primaryKey": false,
1040
+ "notNull": true,
1041
+ "default": "now()"
1042
+ },
1043
+ "updated_at": {
1044
+ "name": "updated_at",
1045
+ "type": "timestamp with time zone",
1046
+ "primaryKey": false,
1047
+ "notNull": true,
1048
+ "default": "now()"
1049
+ }
1050
+ },
1051
+ "indexes": {},
1052
+ "foreignKeys": {},
1053
+ "compositePrimaryKeys": {},
1054
+ "uniqueConstraints": {
1055
+ "plugins_identifier_unique": {
1056
+ "name": "plugins_identifier_unique",
1057
+ "nullsNotDistinct": false,
1058
+ "columns": ["identifier"]
1059
+ }
1060
+ }
1061
+ },
1062
+ "public.plugins_tags": {
1063
+ "name": "plugins_tags",
1064
+ "schema": "",
1065
+ "columns": {
1066
+ "plugin_id": {
1067
+ "name": "plugin_id",
1068
+ "type": "integer",
1069
+ "primaryKey": false,
1070
+ "notNull": true
1071
+ },
1072
+ "tag_id": {
1073
+ "name": "tag_id",
1074
+ "type": "integer",
1075
+ "primaryKey": false,
1076
+ "notNull": true
1077
+ }
1078
+ },
1079
+ "indexes": {},
1080
+ "foreignKeys": {
1081
+ "plugins_tags_plugin_id_plugins_id_fk": {
1082
+ "name": "plugins_tags_plugin_id_plugins_id_fk",
1083
+ "tableFrom": "plugins_tags",
1084
+ "tableTo": "plugins",
1085
+ "columnsFrom": ["plugin_id"],
1086
+ "columnsTo": ["id"],
1087
+ "onDelete": "cascade",
1088
+ "onUpdate": "no action"
1089
+ },
1090
+ "plugins_tags_tag_id_tags_id_fk": {
1091
+ "name": "plugins_tags_tag_id_tags_id_fk",
1092
+ "tableFrom": "plugins_tags",
1093
+ "tableTo": "tags",
1094
+ "columnsFrom": ["tag_id"],
1095
+ "columnsTo": ["id"],
1096
+ "onDelete": "cascade",
1097
+ "onUpdate": "no action"
1098
+ }
1099
+ },
1100
+ "compositePrimaryKeys": {
1101
+ "plugins_tags_plugin_id_tag_id_pk": {
1102
+ "name": "plugins_tags_plugin_id_tag_id_pk",
1103
+ "columns": ["plugin_id", "tag_id"]
1104
+ }
1105
+ },
1106
+ "uniqueConstraints": {}
1107
+ },
1108
+ "public.session_groups": {
1109
+ "name": "session_groups",
1110
+ "schema": "",
1111
+ "columns": {
1112
+ "id": {
1113
+ "name": "id",
1114
+ "type": "text",
1115
+ "primaryKey": true,
1116
+ "notNull": true
1117
+ },
1118
+ "name": {
1119
+ "name": "name",
1120
+ "type": "text",
1121
+ "primaryKey": false,
1122
+ "notNull": true
1123
+ },
1124
+ "sort": {
1125
+ "name": "sort",
1126
+ "type": "integer",
1127
+ "primaryKey": false,
1128
+ "notNull": false
1129
+ },
1130
+ "user_id": {
1131
+ "name": "user_id",
1132
+ "type": "text",
1133
+ "primaryKey": false,
1134
+ "notNull": true
1135
+ },
1136
+ "created_at": {
1137
+ "name": "created_at",
1138
+ "type": "timestamp with time zone",
1139
+ "primaryKey": false,
1140
+ "notNull": true,
1141
+ "default": "now()"
1142
+ },
1143
+ "updated_at": {
1144
+ "name": "updated_at",
1145
+ "type": "timestamp with time zone",
1146
+ "primaryKey": false,
1147
+ "notNull": true,
1148
+ "default": "now()"
1149
+ }
1150
+ },
1151
+ "indexes": {},
1152
+ "foreignKeys": {
1153
+ "session_groups_user_id_users_id_fk": {
1154
+ "name": "session_groups_user_id_users_id_fk",
1155
+ "tableFrom": "session_groups",
1156
+ "tableTo": "users",
1157
+ "columnsFrom": ["user_id"],
1158
+ "columnsTo": ["id"],
1159
+ "onDelete": "cascade",
1160
+ "onUpdate": "no action"
1161
+ }
1162
+ },
1163
+ "compositePrimaryKeys": {},
1164
+ "uniqueConstraints": {}
1165
+ },
1166
+ "public.sessions": {
1167
+ "name": "sessions",
1168
+ "schema": "",
1169
+ "columns": {
1170
+ "id": {
1171
+ "name": "id",
1172
+ "type": "text",
1173
+ "primaryKey": true,
1174
+ "notNull": true
1175
+ },
1176
+ "slug": {
1177
+ "name": "slug",
1178
+ "type": "varchar(100)",
1179
+ "primaryKey": false,
1180
+ "notNull": true
1181
+ },
1182
+ "title": {
1183
+ "name": "title",
1184
+ "type": "text",
1185
+ "primaryKey": false,
1186
+ "notNull": false
1187
+ },
1188
+ "description": {
1189
+ "name": "description",
1190
+ "type": "text",
1191
+ "primaryKey": false,
1192
+ "notNull": false
1193
+ },
1194
+ "avatar": {
1195
+ "name": "avatar",
1196
+ "type": "text",
1197
+ "primaryKey": false,
1198
+ "notNull": false
1199
+ },
1200
+ "background_color": {
1201
+ "name": "background_color",
1202
+ "type": "text",
1203
+ "primaryKey": false,
1204
+ "notNull": false
1205
+ },
1206
+ "type": {
1207
+ "name": "type",
1208
+ "type": "text",
1209
+ "primaryKey": false,
1210
+ "notNull": false,
1211
+ "default": "'agent'"
1212
+ },
1213
+ "user_id": {
1214
+ "name": "user_id",
1215
+ "type": "text",
1216
+ "primaryKey": false,
1217
+ "notNull": true
1218
+ },
1219
+ "group_id": {
1220
+ "name": "group_id",
1221
+ "type": "text",
1222
+ "primaryKey": false,
1223
+ "notNull": false
1224
+ },
1225
+ "pinned": {
1226
+ "name": "pinned",
1227
+ "type": "boolean",
1228
+ "primaryKey": false,
1229
+ "notNull": false,
1230
+ "default": false
1231
+ },
1232
+ "created_at": {
1233
+ "name": "created_at",
1234
+ "type": "timestamp with time zone",
1235
+ "primaryKey": false,
1236
+ "notNull": true,
1237
+ "default": "now()"
1238
+ },
1239
+ "updated_at": {
1240
+ "name": "updated_at",
1241
+ "type": "timestamp with time zone",
1242
+ "primaryKey": false,
1243
+ "notNull": true,
1244
+ "default": "now()"
1245
+ }
1246
+ },
1247
+ "indexes": {
1248
+ "slug_user_id_unique": {
1249
+ "name": "slug_user_id_unique",
1250
+ "columns": ["slug", "user_id"],
1251
+ "isUnique": true
1252
+ }
1253
+ },
1254
+ "foreignKeys": {
1255
+ "sessions_user_id_users_id_fk": {
1256
+ "name": "sessions_user_id_users_id_fk",
1257
+ "tableFrom": "sessions",
1258
+ "tableTo": "users",
1259
+ "columnsFrom": ["user_id"],
1260
+ "columnsTo": ["id"],
1261
+ "onDelete": "cascade",
1262
+ "onUpdate": "no action"
1263
+ },
1264
+ "sessions_group_id_session_groups_id_fk": {
1265
+ "name": "sessions_group_id_session_groups_id_fk",
1266
+ "tableFrom": "sessions",
1267
+ "tableTo": "session_groups",
1268
+ "columnsFrom": ["group_id"],
1269
+ "columnsTo": ["id"],
1270
+ "onDelete": "set null",
1271
+ "onUpdate": "no action"
1272
+ }
1273
+ },
1274
+ "compositePrimaryKeys": {},
1275
+ "uniqueConstraints": {}
1276
+ },
1277
+ "public.tags": {
1278
+ "name": "tags",
1279
+ "schema": "",
1280
+ "columns": {
1281
+ "id": {
1282
+ "name": "id",
1283
+ "type": "serial",
1284
+ "primaryKey": true,
1285
+ "notNull": true
1286
+ },
1287
+ "slug": {
1288
+ "name": "slug",
1289
+ "type": "text",
1290
+ "primaryKey": false,
1291
+ "notNull": true
1292
+ },
1293
+ "name": {
1294
+ "name": "name",
1295
+ "type": "text",
1296
+ "primaryKey": false,
1297
+ "notNull": false
1298
+ },
1299
+ "user_id": {
1300
+ "name": "user_id",
1301
+ "type": "text",
1302
+ "primaryKey": false,
1303
+ "notNull": true
1304
+ },
1305
+ "created_at": {
1306
+ "name": "created_at",
1307
+ "type": "timestamp with time zone",
1308
+ "primaryKey": false,
1309
+ "notNull": true,
1310
+ "default": "now()"
1311
+ },
1312
+ "updated_at": {
1313
+ "name": "updated_at",
1314
+ "type": "timestamp with time zone",
1315
+ "primaryKey": false,
1316
+ "notNull": true,
1317
+ "default": "now()"
1318
+ }
1319
+ },
1320
+ "indexes": {},
1321
+ "foreignKeys": {
1322
+ "tags_user_id_users_id_fk": {
1323
+ "name": "tags_user_id_users_id_fk",
1324
+ "tableFrom": "tags",
1325
+ "tableTo": "users",
1326
+ "columnsFrom": ["user_id"],
1327
+ "columnsTo": ["id"],
1328
+ "onDelete": "cascade",
1329
+ "onUpdate": "no action"
1330
+ }
1331
+ },
1332
+ "compositePrimaryKeys": {},
1333
+ "uniqueConstraints": {
1334
+ "tags_slug_unique": {
1335
+ "name": "tags_slug_unique",
1336
+ "nullsNotDistinct": false,
1337
+ "columns": ["slug"]
1338
+ }
1339
+ }
1340
+ },
1341
+ "public.topics": {
1342
+ "name": "topics",
1343
+ "schema": "",
1344
+ "columns": {
1345
+ "id": {
1346
+ "name": "id",
1347
+ "type": "text",
1348
+ "primaryKey": true,
1349
+ "notNull": true
1350
+ },
1351
+ "session_id": {
1352
+ "name": "session_id",
1353
+ "type": "text",
1354
+ "primaryKey": false,
1355
+ "notNull": false
1356
+ },
1357
+ "user_id": {
1358
+ "name": "user_id",
1359
+ "type": "text",
1360
+ "primaryKey": false,
1361
+ "notNull": true
1362
+ },
1363
+ "favorite": {
1364
+ "name": "favorite",
1365
+ "type": "boolean",
1366
+ "primaryKey": false,
1367
+ "notNull": false,
1368
+ "default": false
1369
+ },
1370
+ "title": {
1371
+ "name": "title",
1372
+ "type": "text",
1373
+ "primaryKey": false,
1374
+ "notNull": false
1375
+ },
1376
+ "created_at": {
1377
+ "name": "created_at",
1378
+ "type": "timestamp with time zone",
1379
+ "primaryKey": false,
1380
+ "notNull": true,
1381
+ "default": "now()"
1382
+ },
1383
+ "updated_at": {
1384
+ "name": "updated_at",
1385
+ "type": "timestamp with time zone",
1386
+ "primaryKey": false,
1387
+ "notNull": true,
1388
+ "default": "now()"
1389
+ }
1390
+ },
1391
+ "indexes": {},
1392
+ "foreignKeys": {
1393
+ "topics_session_id_sessions_id_fk": {
1394
+ "name": "topics_session_id_sessions_id_fk",
1395
+ "tableFrom": "topics",
1396
+ "tableTo": "sessions",
1397
+ "columnsFrom": ["session_id"],
1398
+ "columnsTo": ["id"],
1399
+ "onDelete": "cascade",
1400
+ "onUpdate": "no action"
1401
+ },
1402
+ "topics_user_id_users_id_fk": {
1403
+ "name": "topics_user_id_users_id_fk",
1404
+ "tableFrom": "topics",
1405
+ "tableTo": "users",
1406
+ "columnsFrom": ["user_id"],
1407
+ "columnsTo": ["id"],
1408
+ "onDelete": "cascade",
1409
+ "onUpdate": "no action"
1410
+ }
1411
+ },
1412
+ "compositePrimaryKeys": {},
1413
+ "uniqueConstraints": {}
1414
+ },
1415
+ "public.user_settings": {
1416
+ "name": "user_settings",
1417
+ "schema": "",
1418
+ "columns": {
1419
+ "id": {
1420
+ "name": "id",
1421
+ "type": "text",
1422
+ "primaryKey": true,
1423
+ "notNull": true
1424
+ },
1425
+ "tts": {
1426
+ "name": "tts",
1427
+ "type": "jsonb",
1428
+ "primaryKey": false,
1429
+ "notNull": false
1430
+ },
1431
+ "key_vaults": {
1432
+ "name": "key_vaults",
1433
+ "type": "text",
1434
+ "primaryKey": false,
1435
+ "notNull": false
1436
+ },
1437
+ "general": {
1438
+ "name": "general",
1439
+ "type": "jsonb",
1440
+ "primaryKey": false,
1441
+ "notNull": false
1442
+ },
1443
+ "language_model": {
1444
+ "name": "language_model",
1445
+ "type": "jsonb",
1446
+ "primaryKey": false,
1447
+ "notNull": false
1448
+ },
1449
+ "system_agent": {
1450
+ "name": "system_agent",
1451
+ "type": "jsonb",
1452
+ "primaryKey": false,
1453
+ "notNull": false
1454
+ },
1455
+ "default_agent": {
1456
+ "name": "default_agent",
1457
+ "type": "jsonb",
1458
+ "primaryKey": false,
1459
+ "notNull": false
1460
+ },
1461
+ "tool": {
1462
+ "name": "tool",
1463
+ "type": "jsonb",
1464
+ "primaryKey": false,
1465
+ "notNull": false
1466
+ }
1467
+ },
1468
+ "indexes": {},
1469
+ "foreignKeys": {
1470
+ "user_settings_id_users_id_fk": {
1471
+ "name": "user_settings_id_users_id_fk",
1472
+ "tableFrom": "user_settings",
1473
+ "tableTo": "users",
1474
+ "columnsFrom": ["id"],
1475
+ "columnsTo": ["id"],
1476
+ "onDelete": "cascade",
1477
+ "onUpdate": "no action"
1478
+ }
1479
+ },
1480
+ "compositePrimaryKeys": {},
1481
+ "uniqueConstraints": {}
1482
+ },
1483
+ "public.users": {
1484
+ "name": "users",
1485
+ "schema": "",
1486
+ "columns": {
1487
+ "id": {
1488
+ "name": "id",
1489
+ "type": "text",
1490
+ "primaryKey": true,
1491
+ "notNull": true
1492
+ },
1493
+ "username": {
1494
+ "name": "username",
1495
+ "type": "text",
1496
+ "primaryKey": false,
1497
+ "notNull": false
1498
+ },
1499
+ "email": {
1500
+ "name": "email",
1501
+ "type": "text",
1502
+ "primaryKey": false,
1503
+ "notNull": false
1504
+ },
1505
+ "avatar": {
1506
+ "name": "avatar",
1507
+ "type": "text",
1508
+ "primaryKey": false,
1509
+ "notNull": false
1510
+ },
1511
+ "phone": {
1512
+ "name": "phone",
1513
+ "type": "text",
1514
+ "primaryKey": false,
1515
+ "notNull": false
1516
+ },
1517
+ "first_name": {
1518
+ "name": "first_name",
1519
+ "type": "text",
1520
+ "primaryKey": false,
1521
+ "notNull": false
1522
+ },
1523
+ "last_name": {
1524
+ "name": "last_name",
1525
+ "type": "text",
1526
+ "primaryKey": false,
1527
+ "notNull": false
1528
+ },
1529
+ "is_onboarded": {
1530
+ "name": "is_onboarded",
1531
+ "type": "boolean",
1532
+ "primaryKey": false,
1533
+ "notNull": false,
1534
+ "default": false
1535
+ },
1536
+ "clerk_created_at": {
1537
+ "name": "clerk_created_at",
1538
+ "type": "timestamp with time zone",
1539
+ "primaryKey": false,
1540
+ "notNull": false
1541
+ },
1542
+ "preference": {
1543
+ "name": "preference",
1544
+ "type": "jsonb",
1545
+ "primaryKey": false,
1546
+ "notNull": false,
1547
+ "default": "'{\"guide\":{\"moveSettingsToAvatar\":true,\"topic\":true},\"telemetry\":null,\"useCmdEnterToSend\":false}'::jsonb"
1548
+ },
1549
+ "created_at": {
1550
+ "name": "created_at",
1551
+ "type": "timestamp with time zone",
1552
+ "primaryKey": false,
1553
+ "notNull": true,
1554
+ "default": "now()"
1555
+ },
1556
+ "updated_at": {
1557
+ "name": "updated_at",
1558
+ "type": "timestamp with time zone",
1559
+ "primaryKey": false,
1560
+ "notNull": true,
1561
+ "default": "now()"
1562
+ },
1563
+ "key": {
1564
+ "name": "key",
1565
+ "type": "text",
1566
+ "primaryKey": false,
1567
+ "notNull": false
1568
+ }
1569
+ },
1570
+ "indexes": {},
1571
+ "foreignKeys": {},
1572
+ "compositePrimaryKeys": {},
1573
+ "uniqueConstraints": {
1574
+ "users_username_unique": {
1575
+ "name": "users_username_unique",
1576
+ "nullsNotDistinct": false,
1577
+ "columns": ["username"]
1578
+ }
1579
+ }
1580
+ }
1581
+ },
1582
+ "version": "6"
1583
+ }