@meistrari/chat-nuxt 1.2.3 → 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 (80) hide show
  1. package/README.md +70 -38
  2. package/dist/module.d.mts +24 -1
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +38 -29
  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/server/api/conversations/[id]/messages/[messageId]/retry.post.js +7 -4
  17. package/dist/runtime/server/api/conversations/[id]/messages/index.post.js +7 -4
  18. package/dist/runtime/server/api/conversations/[id]/usage.get.js +1 -1
  19. package/dist/runtime/server/api/conversations/generate-title.post.js +18 -5
  20. package/dist/runtime/server/api/workspace/usage.get.js +1 -1
  21. package/dist/runtime/server/db/index.d.ts +20 -3
  22. package/dist/runtime/server/db/index.js +87 -10
  23. package/dist/runtime/server/db/schema/_schema.d.ts +2 -0
  24. package/dist/runtime/server/db/schema/_schema.js +3 -0
  25. package/dist/runtime/server/db/schema/conversation-usage.d.ts +1 -1
  26. package/dist/runtime/server/db/schema/conversation-usage.js +3 -2
  27. package/dist/runtime/server/db/schema/conversations.d.ts +1 -1
  28. package/dist/runtime/server/db/schema/conversations.js +3 -2
  29. package/dist/runtime/server/db/schema/external-skills.d.ts +1 -1
  30. package/dist/runtime/server/db/schema/external-skills.js +3 -2
  31. package/dist/runtime/server/db/schema/index.d.ts +1 -0
  32. package/dist/runtime/server/db/schema/index.js +1 -0
  33. package/dist/runtime/server/db/schema/messages.d.ts +1 -1
  34. package/dist/runtime/server/db/schema/messages.js +3 -2
  35. package/dist/runtime/server/db/schema/workspace-settings.d.ts +1 -1
  36. package/dist/runtime/server/db/schema/workspace-settings.js +3 -2
  37. package/dist/runtime/server/plugins/init-db.d.ts +2 -0
  38. package/dist/runtime/server/plugins/init-db.js +11 -0
  39. package/dist/runtime/server/utils/billing.d.ts +26 -4
  40. package/dist/runtime/server/utils/billing.js +52 -13
  41. package/dist/runtime/server/utils/chat-workspace-settings.js +1 -1
  42. package/dist/runtime/utils/chat-loading-messages.d.ts +12 -0
  43. package/dist/runtime/utils/chat-loading-messages.js +40 -0
  44. package/dist/runtime/utils/features.d.ts +6 -0
  45. package/dist/runtime/utils/features.js +15 -0
  46. package/dist/types.d.mts +1 -1
  47. package/drizzle/0000_material_hiroim.sql +28 -0
  48. package/drizzle/0001_famous_scalphunter.sql +1 -0
  49. package/drizzle/0002_gorgeous_big_bertha.sql +1 -0
  50. package/drizzle/0003_massive_forge.sql +2 -0
  51. package/drizzle/0004_absent_black_tom.sql +2 -0
  52. package/drizzle/0005_first_kid_colt.sql +1 -0
  53. package/drizzle/0006_sloppy_mauler.sql +13 -0
  54. package/drizzle/0007_grey_rhino.sql +1 -0
  55. package/drizzle/0008_chilly_blue_blade.sql +27 -0
  56. package/drizzle/0009_cultured_maddog.sql +16 -0
  57. package/drizzle/0010_small_barracuda.sql +1 -0
  58. package/drizzle/0011_fat_lady_mastermind.sql +6 -0
  59. package/drizzle/0012_puzzling_rick_jones.sql +1 -0
  60. package/drizzle/0013_blue_gwen_stacy.sql +11 -0
  61. package/drizzle/meta/0000_snapshot.json +239 -0
  62. package/drizzle/meta/0001_snapshot.json +245 -0
  63. package/drizzle/meta/0002_snapshot.json +251 -0
  64. package/drizzle/meta/0003_snapshot.json +263 -0
  65. package/drizzle/meta/0004_snapshot.json +275 -0
  66. package/drizzle/meta/0005_snapshot.json +281 -0
  67. package/drizzle/meta/0006_snapshot.json +320 -0
  68. package/drizzle/meta/0007_snapshot.json +326 -0
  69. package/drizzle/meta/0008_snapshot.json +539 -0
  70. package/drizzle/meta/0009_snapshot.json +646 -0
  71. package/drizzle/meta/0010_snapshot.json +653 -0
  72. package/drizzle/meta/0011_snapshot.json +689 -0
  73. package/drizzle/meta/0012_snapshot.json +695 -0
  74. package/drizzle/meta/0013_snapshot.json +699 -0
  75. package/drizzle/meta/_journal.json +104 -0
  76. package/package.json +5 -3
  77. package/dist/runtime/server/tasks/send-daily-usage-report.d.ts +0 -2
  78. package/dist/runtime/server/tasks/send-daily-usage-report.js +0 -74
  79. package/dist/runtime/server/utils/auth-api.d.ts +0 -1
  80. package/dist/runtime/server/utils/auth-api.js +0 -27
@@ -0,0 +1,539 @@
1
+ {
2
+ "id": "7cc2a06e-f8af-44f0-b78c-9a5d8282ee91",
3
+ "prevId": "bac1da7b-bb94-48fd-8eff-ad3df4deda86",
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
+ "metadata": {
103
+ "name": "metadata",
104
+ "type": "jsonb",
105
+ "primaryKey": false,
106
+ "notNull": false
107
+ },
108
+ "created_at": {
109
+ "name": "created_at",
110
+ "type": "timestamp with time zone",
111
+ "primaryKey": false,
112
+ "notNull": true,
113
+ "default": "now()"
114
+ },
115
+ "updated_at": {
116
+ "name": "updated_at",
117
+ "type": "timestamp with time zone",
118
+ "primaryKey": false,
119
+ "notNull": true,
120
+ "default": "now()"
121
+ }
122
+ },
123
+ "indexes": {
124
+ "idx_usage_workspace": {
125
+ "name": "idx_usage_workspace",
126
+ "columns": [
127
+ {
128
+ "expression": "workspace_id",
129
+ "isExpression": false,
130
+ "asc": true,
131
+ "nulls": "last"
132
+ }
133
+ ],
134
+ "isUnique": false,
135
+ "concurrently": false,
136
+ "method": "btree",
137
+ "with": {}
138
+ },
139
+ "idx_usage_workspace_created": {
140
+ "name": "idx_usage_workspace_created",
141
+ "columns": [
142
+ {
143
+ "expression": "workspace_id",
144
+ "isExpression": false,
145
+ "asc": true,
146
+ "nulls": "last"
147
+ },
148
+ {
149
+ "expression": "created_at",
150
+ "isExpression": false,
151
+ "asc": true,
152
+ "nulls": "last"
153
+ }
154
+ ],
155
+ "isUnique": false,
156
+ "concurrently": false,
157
+ "method": "btree",
158
+ "with": {}
159
+ },
160
+ "idx_usage_conversation": {
161
+ "name": "idx_usage_conversation",
162
+ "columns": [
163
+ {
164
+ "expression": "conversation_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_user": {
176
+ "name": "idx_usage_user",
177
+ "columns": [
178
+ {
179
+ "expression": "user_id",
180
+ "isExpression": false,
181
+ "asc": true,
182
+ "nulls": "last"
183
+ }
184
+ ],
185
+ "isUnique": false,
186
+ "concurrently": false,
187
+ "method": "btree",
188
+ "with": {}
189
+ }
190
+ },
191
+ "foreignKeys": {
192
+ "conversation_usage_conversation_id_conversations_id_fk": {
193
+ "name": "conversation_usage_conversation_id_conversations_id_fk",
194
+ "tableFrom": "conversation_usage",
195
+ "tableTo": "conversations",
196
+ "columnsFrom": [
197
+ "conversation_id"
198
+ ],
199
+ "columnsTo": [
200
+ "id"
201
+ ],
202
+ "onDelete": "cascade",
203
+ "onUpdate": "no action"
204
+ }
205
+ },
206
+ "compositePrimaryKeys": {},
207
+ "uniqueConstraints": {
208
+ "conversation_usage_conversation_id_unique": {
209
+ "name": "conversation_usage_conversation_id_unique",
210
+ "nullsNotDistinct": false,
211
+ "columns": [
212
+ "conversation_id"
213
+ ]
214
+ }
215
+ },
216
+ "policies": {},
217
+ "checkConstraints": {},
218
+ "isRLSEnabled": false
219
+ },
220
+ "public.conversations": {
221
+ "name": "conversations",
222
+ "schema": "",
223
+ "columns": {
224
+ "id": {
225
+ "name": "id",
226
+ "type": "uuid",
227
+ "primaryKey": true,
228
+ "notNull": true,
229
+ "default": "gen_random_uuid()"
230
+ },
231
+ "workspace_id": {
232
+ "name": "workspace_id",
233
+ "type": "text",
234
+ "primaryKey": false,
235
+ "notNull": true
236
+ },
237
+ "user_id": {
238
+ "name": "user_id",
239
+ "type": "text",
240
+ "primaryKey": false,
241
+ "notNull": true
242
+ },
243
+ "title": {
244
+ "name": "title",
245
+ "type": "text",
246
+ "primaryKey": false,
247
+ "notNull": true,
248
+ "default": "'Nova conversa'"
249
+ },
250
+ "thread_session_id": {
251
+ "name": "thread_session_id",
252
+ "type": "text",
253
+ "primaryKey": false,
254
+ "notNull": false
255
+ },
256
+ "applied_settings_at": {
257
+ "name": "applied_settings_at",
258
+ "type": "timestamp with time zone",
259
+ "primaryKey": false,
260
+ "notNull": false
261
+ },
262
+ "created_by": {
263
+ "name": "created_by",
264
+ "type": "text",
265
+ "primaryKey": false,
266
+ "notNull": false
267
+ },
268
+ "created_at": {
269
+ "name": "created_at",
270
+ "type": "timestamp with time zone",
271
+ "primaryKey": false,
272
+ "notNull": true,
273
+ "default": "now()"
274
+ },
275
+ "updated_at": {
276
+ "name": "updated_at",
277
+ "type": "timestamp with time zone",
278
+ "primaryKey": false,
279
+ "notNull": true,
280
+ "default": "now()"
281
+ }
282
+ },
283
+ "indexes": {
284
+ "idx_conversations_workspace": {
285
+ "name": "idx_conversations_workspace",
286
+ "columns": [
287
+ {
288
+ "expression": "workspace_id",
289
+ "isExpression": false,
290
+ "asc": true,
291
+ "nulls": "last"
292
+ }
293
+ ],
294
+ "isUnique": false,
295
+ "concurrently": false,
296
+ "method": "btree",
297
+ "with": {}
298
+ },
299
+ "idx_conversations_user": {
300
+ "name": "idx_conversations_user",
301
+ "columns": [
302
+ {
303
+ "expression": "user_id",
304
+ "isExpression": false,
305
+ "asc": true,
306
+ "nulls": "last"
307
+ }
308
+ ],
309
+ "isUnique": false,
310
+ "concurrently": false,
311
+ "method": "btree",
312
+ "with": {}
313
+ },
314
+ "idx_conversations_updated": {
315
+ "name": "idx_conversations_updated",
316
+ "columns": [
317
+ {
318
+ "expression": "updated_at",
319
+ "isExpression": false,
320
+ "asc": true,
321
+ "nulls": "last"
322
+ }
323
+ ],
324
+ "isUnique": false,
325
+ "concurrently": false,
326
+ "method": "btree",
327
+ "with": {}
328
+ }
329
+ },
330
+ "foreignKeys": {},
331
+ "compositePrimaryKeys": {},
332
+ "uniqueConstraints": {},
333
+ "policies": {},
334
+ "checkConstraints": {},
335
+ "isRLSEnabled": false
336
+ },
337
+ "public.messages": {
338
+ "name": "messages",
339
+ "schema": "",
340
+ "columns": {
341
+ "id": {
342
+ "name": "id",
343
+ "type": "uuid",
344
+ "primaryKey": true,
345
+ "notNull": true,
346
+ "default": "gen_random_uuid()"
347
+ },
348
+ "conversation_id": {
349
+ "name": "conversation_id",
350
+ "type": "uuid",
351
+ "primaryKey": false,
352
+ "notNull": true
353
+ },
354
+ "role": {
355
+ "name": "role",
356
+ "type": "text",
357
+ "primaryKey": false,
358
+ "notNull": true
359
+ },
360
+ "content": {
361
+ "name": "content",
362
+ "type": "text",
363
+ "primaryKey": false,
364
+ "notNull": true
365
+ },
366
+ "status": {
367
+ "name": "status",
368
+ "type": "text",
369
+ "primaryKey": false,
370
+ "notNull": false,
371
+ "default": "'completed'"
372
+ },
373
+ "reasoning_data": {
374
+ "name": "reasoning_data",
375
+ "type": "jsonb",
376
+ "primaryKey": false,
377
+ "notNull": false
378
+ },
379
+ "files": {
380
+ "name": "files",
381
+ "type": "jsonb",
382
+ "primaryKey": false,
383
+ "notNull": false
384
+ },
385
+ "external_uuid": {
386
+ "name": "external_uuid",
387
+ "type": "text",
388
+ "primaryKey": false,
389
+ "notNull": false
390
+ },
391
+ "ttft": {
392
+ "name": "ttft",
393
+ "type": "text",
394
+ "primaryKey": false,
395
+ "notNull": false
396
+ },
397
+ "created_by": {
398
+ "name": "created_by",
399
+ "type": "text",
400
+ "primaryKey": false,
401
+ "notNull": false
402
+ },
403
+ "created_at": {
404
+ "name": "created_at",
405
+ "type": "timestamp with time zone",
406
+ "primaryKey": false,
407
+ "notNull": true,
408
+ "default": "now()"
409
+ },
410
+ "updated_at": {
411
+ "name": "updated_at",
412
+ "type": "timestamp with time zone",
413
+ "primaryKey": false,
414
+ "notNull": false
415
+ }
416
+ },
417
+ "indexes": {
418
+ "idx_messages_conversation": {
419
+ "name": "idx_messages_conversation",
420
+ "columns": [
421
+ {
422
+ "expression": "conversation_id",
423
+ "isExpression": false,
424
+ "asc": true,
425
+ "nulls": "last"
426
+ }
427
+ ],
428
+ "isUnique": false,
429
+ "concurrently": false,
430
+ "method": "btree",
431
+ "with": {}
432
+ },
433
+ "idx_messages_created": {
434
+ "name": "idx_messages_created",
435
+ "columns": [
436
+ {
437
+ "expression": "created_at",
438
+ "isExpression": false,
439
+ "asc": true,
440
+ "nulls": "last"
441
+ }
442
+ ],
443
+ "isUnique": false,
444
+ "concurrently": false,
445
+ "method": "btree",
446
+ "with": {}
447
+ }
448
+ },
449
+ "foreignKeys": {
450
+ "messages_conversation_id_conversations_id_fk": {
451
+ "name": "messages_conversation_id_conversations_id_fk",
452
+ "tableFrom": "messages",
453
+ "tableTo": "conversations",
454
+ "columnsFrom": [
455
+ "conversation_id"
456
+ ],
457
+ "columnsTo": [
458
+ "id"
459
+ ],
460
+ "onDelete": "cascade",
461
+ "onUpdate": "no action"
462
+ }
463
+ },
464
+ "compositePrimaryKeys": {},
465
+ "uniqueConstraints": {},
466
+ "policies": {},
467
+ "checkConstraints": {},
468
+ "isRLSEnabled": false
469
+ },
470
+ "public.workspace_settings": {
471
+ "name": "workspace_settings",
472
+ "schema": "",
473
+ "columns": {
474
+ "workspace_id": {
475
+ "name": "workspace_id",
476
+ "type": "text",
477
+ "primaryKey": true,
478
+ "notNull": true
479
+ },
480
+ "system_message": {
481
+ "name": "system_message",
482
+ "type": "text",
483
+ "primaryKey": false,
484
+ "notNull": false
485
+ },
486
+ "context_files": {
487
+ "name": "context_files",
488
+ "type": "jsonb",
489
+ "primaryKey": false,
490
+ "notNull": false
491
+ },
492
+ "canvas_tools": {
493
+ "name": "canvas_tools",
494
+ "type": "jsonb",
495
+ "primaryKey": false,
496
+ "notNull": false
497
+ },
498
+ "knowledge_sources": {
499
+ "name": "knowledge_sources",
500
+ "type": "jsonb",
501
+ "primaryKey": false,
502
+ "notNull": false
503
+ },
504
+ "created_at": {
505
+ "name": "created_at",
506
+ "type": "timestamp with time zone",
507
+ "primaryKey": false,
508
+ "notNull": true,
509
+ "default": "now()"
510
+ },
511
+ "updated_at": {
512
+ "name": "updated_at",
513
+ "type": "timestamp with time zone",
514
+ "primaryKey": false,
515
+ "notNull": true,
516
+ "default": "now()"
517
+ }
518
+ },
519
+ "indexes": {},
520
+ "foreignKeys": {},
521
+ "compositePrimaryKeys": {},
522
+ "uniqueConstraints": {},
523
+ "policies": {},
524
+ "checkConstraints": {},
525
+ "isRLSEnabled": false
526
+ }
527
+ },
528
+ "enums": {},
529
+ "schemas": {},
530
+ "sequences": {},
531
+ "roles": {},
532
+ "policies": {},
533
+ "views": {},
534
+ "_meta": {
535
+ "columns": {},
536
+ "schemas": {},
537
+ "tables": {}
538
+ }
539
+ }