@meistrari/chat-nuxt 1.2.2 → 1.3.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 (82) hide show
  1. package/README.md +71 -48
  2. package/dist/module.d.mts +24 -1
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +37 -19
  5. package/dist/runtime/components/MeistrariChatEmbed.d.vue.ts +3 -1
  6. package/dist/runtime/components/MeistrariChatEmbed.vue +5 -3
  7. package/dist/runtime/components/MeistrariChatEmbed.vue.d.ts +3 -1
  8. package/dist/runtime/components/chat/thinking-indicator.vue +28 -17
  9. package/dist/runtime/composables/useEmbedConfig.d.ts +5 -0
  10. package/dist/runtime/composables/useEmbedConfig.js +11 -3
  11. package/dist/runtime/embed/components/ChatConfigurationModal.vue +8 -6
  12. package/dist/runtime/embed/components/ChatEmbed.d.vue.ts +3 -1
  13. package/dist/runtime/embed/components/ChatEmbed.vue +13 -12
  14. package/dist/runtime/embed/components/ChatEmbed.vue.d.ts +3 -1
  15. package/dist/runtime/embed/components/ChatEmbedInner.vue +5 -1
  16. package/dist/runtime/plugins/markstream.d.ts +2 -0
  17. package/dist/runtime/plugins/markstream.js +5 -0
  18. package/dist/runtime/server/api/conversations/[id]/messages/[messageId]/retry.post.js +7 -4
  19. package/dist/runtime/server/api/conversations/[id]/messages/index.post.js +7 -4
  20. package/dist/runtime/server/api/conversations/[id]/usage.get.js +1 -1
  21. package/dist/runtime/server/api/conversations/generate-title.post.js +18 -5
  22. package/dist/runtime/server/api/workspace/usage.get.js +1 -1
  23. package/dist/runtime/server/db/index.d.ts +20 -3
  24. package/dist/runtime/server/db/index.js +87 -10
  25. package/dist/runtime/server/db/schema/_schema.d.ts +2 -0
  26. package/dist/runtime/server/db/schema/_schema.js +3 -0
  27. package/dist/runtime/server/db/schema/conversation-usage.d.ts +1 -1
  28. package/dist/runtime/server/db/schema/conversation-usage.js +3 -2
  29. package/dist/runtime/server/db/schema/conversations.d.ts +1 -1
  30. package/dist/runtime/server/db/schema/conversations.js +3 -2
  31. package/dist/runtime/server/db/schema/external-skills.d.ts +1 -1
  32. package/dist/runtime/server/db/schema/external-skills.js +3 -2
  33. package/dist/runtime/server/db/schema/index.d.ts +1 -0
  34. package/dist/runtime/server/db/schema/index.js +1 -0
  35. package/dist/runtime/server/db/schema/messages.d.ts +1 -1
  36. package/dist/runtime/server/db/schema/messages.js +3 -2
  37. package/dist/runtime/server/db/schema/workspace-settings.d.ts +1 -1
  38. package/dist/runtime/server/db/schema/workspace-settings.js +3 -2
  39. package/dist/runtime/server/plugins/init-db.d.ts +2 -0
  40. package/dist/runtime/server/plugins/init-db.js +11 -0
  41. package/dist/runtime/server/utils/billing.d.ts +26 -4
  42. package/dist/runtime/server/utils/billing.js +52 -13
  43. package/dist/runtime/server/utils/chat-workspace-settings.js +1 -1
  44. package/dist/runtime/utils/chat-loading-messages.d.ts +12 -0
  45. package/dist/runtime/utils/chat-loading-messages.js +40 -0
  46. package/dist/runtime/utils/features.d.ts +6 -0
  47. package/dist/runtime/utils/features.js +15 -0
  48. package/dist/types.d.mts +1 -1
  49. package/drizzle/0000_material_hiroim.sql +28 -0
  50. package/drizzle/0001_famous_scalphunter.sql +1 -0
  51. package/drizzle/0002_gorgeous_big_bertha.sql +1 -0
  52. package/drizzle/0003_massive_forge.sql +2 -0
  53. package/drizzle/0004_absent_black_tom.sql +2 -0
  54. package/drizzle/0005_first_kid_colt.sql +1 -0
  55. package/drizzle/0006_sloppy_mauler.sql +13 -0
  56. package/drizzle/0007_grey_rhino.sql +1 -0
  57. package/drizzle/0008_chilly_blue_blade.sql +27 -0
  58. package/drizzle/0009_cultured_maddog.sql +16 -0
  59. package/drizzle/0010_small_barracuda.sql +1 -0
  60. package/drizzle/0011_fat_lady_mastermind.sql +6 -0
  61. package/drizzle/0012_puzzling_rick_jones.sql +1 -0
  62. package/drizzle/0013_blue_gwen_stacy.sql +11 -0
  63. package/drizzle/meta/0000_snapshot.json +239 -0
  64. package/drizzle/meta/0001_snapshot.json +245 -0
  65. package/drizzle/meta/0002_snapshot.json +251 -0
  66. package/drizzle/meta/0003_snapshot.json +263 -0
  67. package/drizzle/meta/0004_snapshot.json +275 -0
  68. package/drizzle/meta/0005_snapshot.json +281 -0
  69. package/drizzle/meta/0006_snapshot.json +320 -0
  70. package/drizzle/meta/0007_snapshot.json +326 -0
  71. package/drizzle/meta/0008_snapshot.json +539 -0
  72. package/drizzle/meta/0009_snapshot.json +646 -0
  73. package/drizzle/meta/0010_snapshot.json +653 -0
  74. package/drizzle/meta/0011_snapshot.json +689 -0
  75. package/drizzle/meta/0012_snapshot.json +695 -0
  76. package/drizzle/meta/0013_snapshot.json +699 -0
  77. package/drizzle/meta/_journal.json +104 -0
  78. package/package.json +5 -3
  79. package/dist/runtime/server/tasks/send-daily-usage-report.d.ts +0 -2
  80. package/dist/runtime/server/tasks/send-daily-usage-report.js +0 -74
  81. package/dist/runtime/server/utils/auth-api.d.ts +0 -1
  82. package/dist/runtime/server/utils/auth-api.js +0 -27
@@ -0,0 +1,695 @@
1
+ {
2
+ "id": "21278c82-6f50-4a85-b148-eb0fe6a509e6",
3
+ "prevId": "58dc8a6e-6e8d-45f9-a0a5-4d3a378c0a07",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.conversation_usage": {
8
+ "name": "conversation_usage",
9
+ "schema": "",
10
+ "columns": {
11
+ "id": {
12
+ "name": "id",
13
+ "type": "uuid",
14
+ "primaryKey": true,
15
+ "notNull": true,
16
+ "default": "gen_random_uuid()"
17
+ },
18
+ "workspace_id": {
19
+ "name": "workspace_id",
20
+ "type": "text",
21
+ "primaryKey": false,
22
+ "notNull": true
23
+ },
24
+ "conversation_id": {
25
+ "name": "conversation_id",
26
+ "type": "uuid",
27
+ "primaryKey": false,
28
+ "notNull": true
29
+ },
30
+ "prompt_tokens": {
31
+ "name": "prompt_tokens",
32
+ "type": "integer",
33
+ "primaryKey": false,
34
+ "notNull": true
35
+ },
36
+ "completion_tokens": {
37
+ "name": "completion_tokens",
38
+ "type": "integer",
39
+ "primaryKey": false,
40
+ "notNull": true
41
+ },
42
+ "total_tokens": {
43
+ "name": "total_tokens",
44
+ "type": "integer",
45
+ "primaryKey": false,
46
+ "notNull": true
47
+ },
48
+ "prompt_cost": {
49
+ "name": "prompt_cost",
50
+ "type": "numeric(12, 8)",
51
+ "primaryKey": false,
52
+ "notNull": true
53
+ },
54
+ "completion_cost": {
55
+ "name": "completion_cost",
56
+ "type": "numeric(12, 8)",
57
+ "primaryKey": false,
58
+ "notNull": true
59
+ },
60
+ "total_cost": {
61
+ "name": "total_cost",
62
+ "type": "numeric(12, 8)",
63
+ "primaryKey": false,
64
+ "notNull": true
65
+ },
66
+ "duration_ms": {
67
+ "name": "duration_ms",
68
+ "type": "integer",
69
+ "primaryKey": false,
70
+ "notNull": false
71
+ },
72
+ "turns": {
73
+ "name": "turns",
74
+ "type": "integer",
75
+ "primaryKey": false,
76
+ "notNull": false
77
+ },
78
+ "user_id": {
79
+ "name": "user_id",
80
+ "type": "text",
81
+ "primaryKey": false,
82
+ "notNull": true
83
+ },
84
+ "user_email": {
85
+ "name": "user_email",
86
+ "type": "text",
87
+ "primaryKey": false,
88
+ "notNull": false
89
+ },
90
+ "model": {
91
+ "name": "model",
92
+ "type": "text",
93
+ "primaryKey": false,
94
+ "notNull": false
95
+ },
96
+ "session_id": {
97
+ "name": "session_id",
98
+ "type": "text",
99
+ "primaryKey": false,
100
+ "notNull": false
101
+ },
102
+ "cache_read_input_tokens": {
103
+ "name": "cache_read_input_tokens",
104
+ "type": "integer",
105
+ "primaryKey": false,
106
+ "notNull": false
107
+ },
108
+ "cache_creation_input_tokens": {
109
+ "name": "cache_creation_input_tokens",
110
+ "type": "integer",
111
+ "primaryKey": false,
112
+ "notNull": false
113
+ },
114
+ "model_usage": {
115
+ "name": "model_usage",
116
+ "type": "jsonb",
117
+ "primaryKey": false,
118
+ "notNull": false
119
+ },
120
+ "duration_api_ms": {
121
+ "name": "duration_api_ms",
122
+ "type": "integer",
123
+ "primaryKey": false,
124
+ "notNull": false
125
+ },
126
+ "web_search_requests": {
127
+ "name": "web_search_requests",
128
+ "type": "integer",
129
+ "primaryKey": false,
130
+ "notNull": false
131
+ },
132
+ "web_fetch_requests": {
133
+ "name": "web_fetch_requests",
134
+ "type": "integer",
135
+ "primaryKey": false,
136
+ "notNull": false
137
+ },
138
+ "metadata": {
139
+ "name": "metadata",
140
+ "type": "jsonb",
141
+ "primaryKey": false,
142
+ "notNull": false
143
+ },
144
+ "created_at": {
145
+ "name": "created_at",
146
+ "type": "timestamp with time zone",
147
+ "primaryKey": false,
148
+ "notNull": true,
149
+ "default": "now()"
150
+ },
151
+ "updated_at": {
152
+ "name": "updated_at",
153
+ "type": "timestamp with time zone",
154
+ "primaryKey": false,
155
+ "notNull": true,
156
+ "default": "now()"
157
+ }
158
+ },
159
+ "indexes": {
160
+ "idx_usage_workspace": {
161
+ "name": "idx_usage_workspace",
162
+ "columns": [
163
+ {
164
+ "expression": "workspace_id",
165
+ "isExpression": false,
166
+ "asc": true,
167
+ "nulls": "last"
168
+ }
169
+ ],
170
+ "isUnique": false,
171
+ "concurrently": false,
172
+ "method": "btree",
173
+ "with": {}
174
+ },
175
+ "idx_usage_workspace_created": {
176
+ "name": "idx_usage_workspace_created",
177
+ "columns": [
178
+ {
179
+ "expression": "workspace_id",
180
+ "isExpression": false,
181
+ "asc": true,
182
+ "nulls": "last"
183
+ },
184
+ {
185
+ "expression": "created_at",
186
+ "isExpression": false,
187
+ "asc": true,
188
+ "nulls": "last"
189
+ }
190
+ ],
191
+ "isUnique": false,
192
+ "concurrently": false,
193
+ "method": "btree",
194
+ "with": {}
195
+ },
196
+ "idx_usage_conversation": {
197
+ "name": "idx_usage_conversation",
198
+ "columns": [
199
+ {
200
+ "expression": "conversation_id",
201
+ "isExpression": false,
202
+ "asc": true,
203
+ "nulls": "last"
204
+ }
205
+ ],
206
+ "isUnique": false,
207
+ "concurrently": false,
208
+ "method": "btree",
209
+ "with": {}
210
+ },
211
+ "idx_usage_user": {
212
+ "name": "idx_usage_user",
213
+ "columns": [
214
+ {
215
+ "expression": "user_id",
216
+ "isExpression": false,
217
+ "asc": true,
218
+ "nulls": "last"
219
+ }
220
+ ],
221
+ "isUnique": false,
222
+ "concurrently": false,
223
+ "method": "btree",
224
+ "with": {}
225
+ }
226
+ },
227
+ "foreignKeys": {
228
+ "conversation_usage_conversation_id_conversations_id_fk": {
229
+ "name": "conversation_usage_conversation_id_conversations_id_fk",
230
+ "tableFrom": "conversation_usage",
231
+ "tableTo": "conversations",
232
+ "columnsFrom": [
233
+ "conversation_id"
234
+ ],
235
+ "columnsTo": [
236
+ "id"
237
+ ],
238
+ "onDelete": "cascade",
239
+ "onUpdate": "no action"
240
+ }
241
+ },
242
+ "compositePrimaryKeys": {},
243
+ "uniqueConstraints": {
244
+ "conversation_usage_conversation_id_unique": {
245
+ "name": "conversation_usage_conversation_id_unique",
246
+ "nullsNotDistinct": false,
247
+ "columns": [
248
+ "conversation_id"
249
+ ]
250
+ }
251
+ },
252
+ "policies": {},
253
+ "checkConstraints": {},
254
+ "isRLSEnabled": false
255
+ },
256
+ "public.conversations": {
257
+ "name": "conversations",
258
+ "schema": "",
259
+ "columns": {
260
+ "id": {
261
+ "name": "id",
262
+ "type": "uuid",
263
+ "primaryKey": true,
264
+ "notNull": true,
265
+ "default": "gen_random_uuid()"
266
+ },
267
+ "workspace_id": {
268
+ "name": "workspace_id",
269
+ "type": "text",
270
+ "primaryKey": false,
271
+ "notNull": true
272
+ },
273
+ "user_id": {
274
+ "name": "user_id",
275
+ "type": "text",
276
+ "primaryKey": false,
277
+ "notNull": true
278
+ },
279
+ "title": {
280
+ "name": "title",
281
+ "type": "text",
282
+ "primaryKey": false,
283
+ "notNull": true,
284
+ "default": "'Nova conversa'"
285
+ },
286
+ "thread_session_id": {
287
+ "name": "thread_session_id",
288
+ "type": "text",
289
+ "primaryKey": false,
290
+ "notNull": false
291
+ },
292
+ "model": {
293
+ "name": "model",
294
+ "type": "text",
295
+ "primaryKey": false,
296
+ "notNull": false,
297
+ "default": "'claude-sonnet-4-5'"
298
+ },
299
+ "applied_settings_at": {
300
+ "name": "applied_settings_at",
301
+ "type": "timestamp with time zone",
302
+ "primaryKey": false,
303
+ "notNull": false
304
+ },
305
+ "applied_settings_snapshot": {
306
+ "name": "applied_settings_snapshot",
307
+ "type": "jsonb",
308
+ "primaryKey": false,
309
+ "notNull": false
310
+ },
311
+ "created_by": {
312
+ "name": "created_by",
313
+ "type": "text",
314
+ "primaryKey": false,
315
+ "notNull": false
316
+ },
317
+ "created_at": {
318
+ "name": "created_at",
319
+ "type": "timestamp with time zone",
320
+ "primaryKey": false,
321
+ "notNull": true,
322
+ "default": "now()"
323
+ },
324
+ "updated_at": {
325
+ "name": "updated_at",
326
+ "type": "timestamp with time zone",
327
+ "primaryKey": false,
328
+ "notNull": true,
329
+ "default": "now()"
330
+ }
331
+ },
332
+ "indexes": {
333
+ "idx_conversations_workspace": {
334
+ "name": "idx_conversations_workspace",
335
+ "columns": [
336
+ {
337
+ "expression": "workspace_id",
338
+ "isExpression": false,
339
+ "asc": true,
340
+ "nulls": "last"
341
+ }
342
+ ],
343
+ "isUnique": false,
344
+ "concurrently": false,
345
+ "method": "btree",
346
+ "with": {}
347
+ },
348
+ "idx_conversations_user": {
349
+ "name": "idx_conversations_user",
350
+ "columns": [
351
+ {
352
+ "expression": "user_id",
353
+ "isExpression": false,
354
+ "asc": true,
355
+ "nulls": "last"
356
+ }
357
+ ],
358
+ "isUnique": false,
359
+ "concurrently": false,
360
+ "method": "btree",
361
+ "with": {}
362
+ },
363
+ "idx_conversations_updated": {
364
+ "name": "idx_conversations_updated",
365
+ "columns": [
366
+ {
367
+ "expression": "updated_at",
368
+ "isExpression": false,
369
+ "asc": true,
370
+ "nulls": "last"
371
+ }
372
+ ],
373
+ "isUnique": false,
374
+ "concurrently": false,
375
+ "method": "btree",
376
+ "with": {}
377
+ }
378
+ },
379
+ "foreignKeys": {},
380
+ "compositePrimaryKeys": {},
381
+ "uniqueConstraints": {},
382
+ "policies": {},
383
+ "checkConstraints": {},
384
+ "isRLSEnabled": false
385
+ },
386
+ "public.external_skills": {
387
+ "name": "external_skills",
388
+ "schema": "",
389
+ "columns": {
390
+ "id": {
391
+ "name": "id",
392
+ "type": "serial",
393
+ "primaryKey": true,
394
+ "notNull": true
395
+ },
396
+ "workspace_id": {
397
+ "name": "workspace_id",
398
+ "type": "text",
399
+ "primaryKey": false,
400
+ "notNull": true
401
+ },
402
+ "ref": {
403
+ "name": "ref",
404
+ "type": "text",
405
+ "primaryKey": false,
406
+ "notNull": true
407
+ },
408
+ "name": {
409
+ "name": "name",
410
+ "type": "text",
411
+ "primaryKey": false,
412
+ "notNull": true
413
+ },
414
+ "description": {
415
+ "name": "description",
416
+ "type": "text",
417
+ "primaryKey": false,
418
+ "notNull": true,
419
+ "default": "''"
420
+ },
421
+ "runtime": {
422
+ "name": "runtime",
423
+ "type": "text",
424
+ "primaryKey": false,
425
+ "notNull": true,
426
+ "default": "'unknown'"
427
+ },
428
+ "allowed_tools": {
429
+ "name": "allowed_tools",
430
+ "type": "jsonb",
431
+ "primaryKey": false,
432
+ "notNull": true,
433
+ "default": "'[]'::jsonb"
434
+ },
435
+ "is_public": {
436
+ "name": "is_public",
437
+ "type": "boolean",
438
+ "primaryKey": false,
439
+ "notNull": true,
440
+ "default": true
441
+ },
442
+ "added_by_user_id": {
443
+ "name": "added_by_user_id",
444
+ "type": "text",
445
+ "primaryKey": false,
446
+ "notNull": true
447
+ },
448
+ "added_by_username": {
449
+ "name": "added_by_username",
450
+ "type": "text",
451
+ "primaryKey": false,
452
+ "notNull": true
453
+ },
454
+ "added_at": {
455
+ "name": "added_at",
456
+ "type": "timestamp with time zone",
457
+ "primaryKey": false,
458
+ "notNull": true,
459
+ "default": "now()"
460
+ },
461
+ "created_at": {
462
+ "name": "created_at",
463
+ "type": "timestamp with time zone",
464
+ "primaryKey": false,
465
+ "notNull": true,
466
+ "default": "now()"
467
+ },
468
+ "updated_at": {
469
+ "name": "updated_at",
470
+ "type": "timestamp with time zone",
471
+ "primaryKey": false,
472
+ "notNull": true,
473
+ "default": "now()"
474
+ }
475
+ },
476
+ "indexes": {},
477
+ "foreignKeys": {},
478
+ "compositePrimaryKeys": {},
479
+ "uniqueConstraints": {
480
+ "external_skills_workspace_ref_unique": {
481
+ "name": "external_skills_workspace_ref_unique",
482
+ "nullsNotDistinct": false,
483
+ "columns": [
484
+ "workspace_id",
485
+ "ref"
486
+ ]
487
+ }
488
+ },
489
+ "policies": {},
490
+ "checkConstraints": {},
491
+ "isRLSEnabled": false
492
+ },
493
+ "public.messages": {
494
+ "name": "messages",
495
+ "schema": "",
496
+ "columns": {
497
+ "id": {
498
+ "name": "id",
499
+ "type": "uuid",
500
+ "primaryKey": true,
501
+ "notNull": true,
502
+ "default": "gen_random_uuid()"
503
+ },
504
+ "conversation_id": {
505
+ "name": "conversation_id",
506
+ "type": "uuid",
507
+ "primaryKey": false,
508
+ "notNull": true
509
+ },
510
+ "role": {
511
+ "name": "role",
512
+ "type": "text",
513
+ "primaryKey": false,
514
+ "notNull": true
515
+ },
516
+ "content": {
517
+ "name": "content",
518
+ "type": "text",
519
+ "primaryKey": false,
520
+ "notNull": true
521
+ },
522
+ "status": {
523
+ "name": "status",
524
+ "type": "text",
525
+ "primaryKey": false,
526
+ "notNull": false,
527
+ "default": "'completed'"
528
+ },
529
+ "reasoning_data": {
530
+ "name": "reasoning_data",
531
+ "type": "jsonb",
532
+ "primaryKey": false,
533
+ "notNull": false
534
+ },
535
+ "files": {
536
+ "name": "files",
537
+ "type": "jsonb",
538
+ "primaryKey": false,
539
+ "notNull": false
540
+ },
541
+ "external_uuid": {
542
+ "name": "external_uuid",
543
+ "type": "text",
544
+ "primaryKey": false,
545
+ "notNull": false
546
+ },
547
+ "ttft": {
548
+ "name": "ttft",
549
+ "type": "text",
550
+ "primaryKey": false,
551
+ "notNull": false
552
+ },
553
+ "created_by": {
554
+ "name": "created_by",
555
+ "type": "text",
556
+ "primaryKey": false,
557
+ "notNull": false
558
+ },
559
+ "created_at": {
560
+ "name": "created_at",
561
+ "type": "timestamp with time zone",
562
+ "primaryKey": false,
563
+ "notNull": true,
564
+ "default": "now()"
565
+ },
566
+ "updated_at": {
567
+ "name": "updated_at",
568
+ "type": "timestamp with time zone",
569
+ "primaryKey": false,
570
+ "notNull": false
571
+ }
572
+ },
573
+ "indexes": {
574
+ "idx_messages_conversation": {
575
+ "name": "idx_messages_conversation",
576
+ "columns": [
577
+ {
578
+ "expression": "conversation_id",
579
+ "isExpression": false,
580
+ "asc": true,
581
+ "nulls": "last"
582
+ }
583
+ ],
584
+ "isUnique": false,
585
+ "concurrently": false,
586
+ "method": "btree",
587
+ "with": {}
588
+ },
589
+ "idx_messages_created": {
590
+ "name": "idx_messages_created",
591
+ "columns": [
592
+ {
593
+ "expression": "created_at",
594
+ "isExpression": false,
595
+ "asc": true,
596
+ "nulls": "last"
597
+ }
598
+ ],
599
+ "isUnique": false,
600
+ "concurrently": false,
601
+ "method": "btree",
602
+ "with": {}
603
+ }
604
+ },
605
+ "foreignKeys": {
606
+ "messages_conversation_id_conversations_id_fk": {
607
+ "name": "messages_conversation_id_conversations_id_fk",
608
+ "tableFrom": "messages",
609
+ "tableTo": "conversations",
610
+ "columnsFrom": [
611
+ "conversation_id"
612
+ ],
613
+ "columnsTo": [
614
+ "id"
615
+ ],
616
+ "onDelete": "cascade",
617
+ "onUpdate": "no action"
618
+ }
619
+ },
620
+ "compositePrimaryKeys": {},
621
+ "uniqueConstraints": {},
622
+ "policies": {},
623
+ "checkConstraints": {},
624
+ "isRLSEnabled": false
625
+ },
626
+ "public.workspace_settings": {
627
+ "name": "workspace_settings",
628
+ "schema": "",
629
+ "columns": {
630
+ "workspace_id": {
631
+ "name": "workspace_id",
632
+ "type": "text",
633
+ "primaryKey": true,
634
+ "notNull": true
635
+ },
636
+ "system_message": {
637
+ "name": "system_message",
638
+ "type": "text",
639
+ "primaryKey": false,
640
+ "notNull": false
641
+ },
642
+ "context_files": {
643
+ "name": "context_files",
644
+ "type": "jsonb",
645
+ "primaryKey": false,
646
+ "notNull": false
647
+ },
648
+ "canvas_tools": {
649
+ "name": "canvas_tools",
650
+ "type": "jsonb",
651
+ "primaryKey": false,
652
+ "notNull": false
653
+ },
654
+ "knowledge_sources": {
655
+ "name": "knowledge_sources",
656
+ "type": "jsonb",
657
+ "primaryKey": false,
658
+ "notNull": false
659
+ },
660
+ "created_at": {
661
+ "name": "created_at",
662
+ "type": "timestamp with time zone",
663
+ "primaryKey": false,
664
+ "notNull": true,
665
+ "default": "now()"
666
+ },
667
+ "updated_at": {
668
+ "name": "updated_at",
669
+ "type": "timestamp with time zone",
670
+ "primaryKey": false,
671
+ "notNull": true,
672
+ "default": "now()"
673
+ }
674
+ },
675
+ "indexes": {},
676
+ "foreignKeys": {},
677
+ "compositePrimaryKeys": {},
678
+ "uniqueConstraints": {},
679
+ "policies": {},
680
+ "checkConstraints": {},
681
+ "isRLSEnabled": false
682
+ }
683
+ },
684
+ "enums": {},
685
+ "schemas": {},
686
+ "sequences": {},
687
+ "roles": {},
688
+ "policies": {},
689
+ "views": {},
690
+ "_meta": {
691
+ "columns": {},
692
+ "schemas": {},
693
+ "tables": {}
694
+ }
695
+ }