@meistrari/chat-nuxt 1.2.3 → 1.4.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 (93) 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 +9 -2
  6. package/dist/runtime/components/MeistrariChatEmbed.vue +11 -4
  7. package/dist/runtime/components/MeistrariChatEmbed.vue.d.ts +9 -2
  8. package/dist/runtime/components/app-markdown-render.d.vue.ts +3 -1
  9. package/dist/runtime/components/app-markdown-render.vue +15 -4
  10. package/dist/runtime/components/app-markdown-render.vue.d.ts +3 -1
  11. package/dist/runtime/components/chat/message-bubble.vue +10 -2
  12. package/dist/runtime/components/chat/thinking-indicator.vue +28 -17
  13. package/dist/runtime/composables/useChat.js +8 -1
  14. package/dist/runtime/composables/useChatAction.d.ts +10 -0
  15. package/dist/runtime/composables/useChatAction.js +12 -0
  16. package/dist/runtime/composables/useEmbedConfig.d.ts +10 -1
  17. package/dist/runtime/composables/useEmbedConfig.js +24 -3
  18. package/dist/runtime/embed/components/ChatConfigurationModal.vue +8 -6
  19. package/dist/runtime/embed/components/ChatEmbed.d.vue.ts +9 -2
  20. package/dist/runtime/embed/components/ChatEmbed.vue +22 -13
  21. package/dist/runtime/embed/components/ChatEmbed.vue.d.ts +9 -2
  22. package/dist/runtime/embed/components/ChatEmbedInner.vue +5 -1
  23. package/dist/runtime/server/api/conversations/[id]/messages/[messageId]/retry.post.js +7 -4
  24. package/dist/runtime/server/api/conversations/[id]/messages/index.get.js +1 -1
  25. package/dist/runtime/server/api/conversations/[id]/messages/index.post.js +15 -9
  26. package/dist/runtime/server/api/conversations/[id]/usage.get.js +1 -1
  27. package/dist/runtime/server/api/conversations/generate-title.post.js +18 -5
  28. package/dist/runtime/server/api/workspace/usage.get.js +1 -1
  29. package/dist/runtime/server/db/index.d.ts +20 -3
  30. package/dist/runtime/server/db/index.js +149 -10
  31. package/dist/runtime/server/db/schema/_schema.d.ts +2 -0
  32. package/dist/runtime/server/db/schema/_schema.js +3 -0
  33. package/dist/runtime/server/db/schema/conversation-usage.d.ts +1 -1
  34. package/dist/runtime/server/db/schema/conversation-usage.js +3 -2
  35. package/dist/runtime/server/db/schema/conversations.d.ts +1 -1
  36. package/dist/runtime/server/db/schema/conversations.js +3 -2
  37. package/dist/runtime/server/db/schema/external-skills.d.ts +1 -1
  38. package/dist/runtime/server/db/schema/external-skills.js +3 -2
  39. package/dist/runtime/server/db/schema/index.d.ts +1 -0
  40. package/dist/runtime/server/db/schema/index.js +1 -0
  41. package/dist/runtime/server/db/schema/messages.d.ts +1 -1
  42. package/dist/runtime/server/db/schema/messages.js +3 -2
  43. package/dist/runtime/server/db/schema/workspace-settings.d.ts +1 -1
  44. package/dist/runtime/server/db/schema/workspace-settings.js +3 -2
  45. package/dist/runtime/server/plugins/init-db.d.ts +2 -0
  46. package/dist/runtime/server/plugins/init-db.js +11 -0
  47. package/dist/runtime/server/utils/agent-api.d.ts +1 -1
  48. package/dist/runtime/server/utils/agent-api.js +2 -5
  49. package/dist/runtime/server/utils/billing.d.ts +26 -4
  50. package/dist/runtime/server/utils/billing.js +52 -13
  51. package/dist/runtime/server/utils/chat-workspace-settings.d.ts +2 -1
  52. package/dist/runtime/server/utils/chat-workspace-settings.js +11 -2
  53. package/dist/runtime/utils/chat-loading-messages.d.ts +12 -0
  54. package/dist/runtime/utils/chat-loading-messages.js +40 -0
  55. package/dist/runtime/utils/custom-markdown-components.d.ts +9 -0
  56. package/dist/runtime/utils/custom-markdown-components.js +54 -0
  57. package/dist/runtime/utils/features.d.ts +6 -0
  58. package/dist/runtime/utils/features.js +15 -0
  59. package/dist/types.d.mts +1 -1
  60. package/drizzle/0000_material_hiroim.sql +28 -0
  61. package/drizzle/0001_famous_scalphunter.sql +1 -0
  62. package/drizzle/0002_gorgeous_big_bertha.sql +1 -0
  63. package/drizzle/0003_massive_forge.sql +2 -0
  64. package/drizzle/0004_absent_black_tom.sql +2 -0
  65. package/drizzle/0005_first_kid_colt.sql +1 -0
  66. package/drizzle/0006_sloppy_mauler.sql +13 -0
  67. package/drizzle/0007_grey_rhino.sql +1 -0
  68. package/drizzle/0008_chilly_blue_blade.sql +27 -0
  69. package/drizzle/0009_cultured_maddog.sql +16 -0
  70. package/drizzle/0010_small_barracuda.sql +1 -0
  71. package/drizzle/0011_fat_lady_mastermind.sql +6 -0
  72. package/drizzle/0012_puzzling_rick_jones.sql +1 -0
  73. package/drizzle/0013_blue_gwen_stacy.sql +11 -0
  74. package/drizzle/meta/0000_snapshot.json +239 -0
  75. package/drizzle/meta/0001_snapshot.json +245 -0
  76. package/drizzle/meta/0002_snapshot.json +251 -0
  77. package/drizzle/meta/0003_snapshot.json +263 -0
  78. package/drizzle/meta/0004_snapshot.json +275 -0
  79. package/drizzle/meta/0005_snapshot.json +281 -0
  80. package/drizzle/meta/0006_snapshot.json +320 -0
  81. package/drizzle/meta/0007_snapshot.json +326 -0
  82. package/drizzle/meta/0008_snapshot.json +539 -0
  83. package/drizzle/meta/0009_snapshot.json +646 -0
  84. package/drizzle/meta/0010_snapshot.json +653 -0
  85. package/drizzle/meta/0011_snapshot.json +689 -0
  86. package/drizzle/meta/0012_snapshot.json +695 -0
  87. package/drizzle/meta/0013_snapshot.json +699 -0
  88. package/drizzle/meta/_journal.json +104 -0
  89. package/package.json +5 -3
  90. package/dist/runtime/server/tasks/send-daily-usage-report.d.ts +0 -2
  91. package/dist/runtime/server/tasks/send-daily-usage-report.js +0 -74
  92. package/dist/runtime/server/utils/auth-api.d.ts +0 -1
  93. package/dist/runtime/server/utils/auth-api.js +0 -27
@@ -0,0 +1,275 @@
1
+ {
2
+ "id": "3a4108d7-d390-4d77-a860-dd025007594c",
3
+ "prevId": "8ebafaa1-f73c-46e7-910b-81c8c2fe1a65",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.conversations": {
8
+ "name": "conversations",
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
+ "user_id": {
25
+ "name": "user_id",
26
+ "type": "text",
27
+ "primaryKey": false,
28
+ "notNull": true
29
+ },
30
+ "title": {
31
+ "name": "title",
32
+ "type": "text",
33
+ "primaryKey": false,
34
+ "notNull": true,
35
+ "default": "'Nova conversa'"
36
+ },
37
+ "thread_session_id": {
38
+ "name": "thread_session_id",
39
+ "type": "text",
40
+ "primaryKey": false,
41
+ "notNull": false
42
+ },
43
+ "canvas_tools": {
44
+ "name": "canvas_tools",
45
+ "type": "jsonb",
46
+ "primaryKey": false,
47
+ "notNull": false
48
+ },
49
+ "system_message": {
50
+ "name": "system_message",
51
+ "type": "text",
52
+ "primaryKey": false,
53
+ "notNull": false
54
+ },
55
+ "context_files": {
56
+ "name": "context_files",
57
+ "type": "jsonb",
58
+ "primaryKey": false,
59
+ "notNull": false
60
+ },
61
+ "created_by": {
62
+ "name": "created_by",
63
+ "type": "text",
64
+ "primaryKey": false,
65
+ "notNull": false
66
+ },
67
+ "created_at": {
68
+ "name": "created_at",
69
+ "type": "timestamp with time zone",
70
+ "primaryKey": false,
71
+ "notNull": true,
72
+ "default": "now()"
73
+ },
74
+ "updated_at": {
75
+ "name": "updated_at",
76
+ "type": "timestamp with time zone",
77
+ "primaryKey": false,
78
+ "notNull": true,
79
+ "default": "now()"
80
+ }
81
+ },
82
+ "indexes": {
83
+ "idx_conversations_workspace": {
84
+ "name": "idx_conversations_workspace",
85
+ "columns": [
86
+ {
87
+ "expression": "workspace_id",
88
+ "isExpression": false,
89
+ "asc": true,
90
+ "nulls": "last"
91
+ }
92
+ ],
93
+ "isUnique": false,
94
+ "concurrently": false,
95
+ "method": "btree",
96
+ "with": {}
97
+ },
98
+ "idx_conversations_user": {
99
+ "name": "idx_conversations_user",
100
+ "columns": [
101
+ {
102
+ "expression": "user_id",
103
+ "isExpression": false,
104
+ "asc": true,
105
+ "nulls": "last"
106
+ }
107
+ ],
108
+ "isUnique": false,
109
+ "concurrently": false,
110
+ "method": "btree",
111
+ "with": {}
112
+ },
113
+ "idx_conversations_updated": {
114
+ "name": "idx_conversations_updated",
115
+ "columns": [
116
+ {
117
+ "expression": "updated_at",
118
+ "isExpression": false,
119
+ "asc": true,
120
+ "nulls": "last"
121
+ }
122
+ ],
123
+ "isUnique": false,
124
+ "concurrently": false,
125
+ "method": "btree",
126
+ "with": {}
127
+ }
128
+ },
129
+ "foreignKeys": {},
130
+ "compositePrimaryKeys": {},
131
+ "uniqueConstraints": {},
132
+ "policies": {},
133
+ "checkConstraints": {},
134
+ "isRLSEnabled": false
135
+ },
136
+ "public.messages": {
137
+ "name": "messages",
138
+ "schema": "",
139
+ "columns": {
140
+ "id": {
141
+ "name": "id",
142
+ "type": "uuid",
143
+ "primaryKey": true,
144
+ "notNull": true,
145
+ "default": "gen_random_uuid()"
146
+ },
147
+ "conversation_id": {
148
+ "name": "conversation_id",
149
+ "type": "uuid",
150
+ "primaryKey": false,
151
+ "notNull": true
152
+ },
153
+ "role": {
154
+ "name": "role",
155
+ "type": "text",
156
+ "primaryKey": false,
157
+ "notNull": true
158
+ },
159
+ "content": {
160
+ "name": "content",
161
+ "type": "text",
162
+ "primaryKey": false,
163
+ "notNull": true
164
+ },
165
+ "status": {
166
+ "name": "status",
167
+ "type": "text",
168
+ "primaryKey": false,
169
+ "notNull": false,
170
+ "default": "'completed'"
171
+ },
172
+ "reasoning_data": {
173
+ "name": "reasoning_data",
174
+ "type": "jsonb",
175
+ "primaryKey": false,
176
+ "notNull": false
177
+ },
178
+ "files": {
179
+ "name": "files",
180
+ "type": "jsonb",
181
+ "primaryKey": false,
182
+ "notNull": false
183
+ },
184
+ "external_uuid": {
185
+ "name": "external_uuid",
186
+ "type": "text",
187
+ "primaryKey": false,
188
+ "notNull": false
189
+ },
190
+ "ttft": {
191
+ "name": "ttft",
192
+ "type": "text",
193
+ "primaryKey": false,
194
+ "notNull": false
195
+ },
196
+ "created_by": {
197
+ "name": "created_by",
198
+ "type": "text",
199
+ "primaryKey": false,
200
+ "notNull": false
201
+ },
202
+ "created_at": {
203
+ "name": "created_at",
204
+ "type": "timestamp with time zone",
205
+ "primaryKey": false,
206
+ "notNull": true,
207
+ "default": "now()"
208
+ }
209
+ },
210
+ "indexes": {
211
+ "idx_messages_conversation": {
212
+ "name": "idx_messages_conversation",
213
+ "columns": [
214
+ {
215
+ "expression": "conversation_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
+ "idx_messages_created": {
227
+ "name": "idx_messages_created",
228
+ "columns": [
229
+ {
230
+ "expression": "created_at",
231
+ "isExpression": false,
232
+ "asc": true,
233
+ "nulls": "last"
234
+ }
235
+ ],
236
+ "isUnique": false,
237
+ "concurrently": false,
238
+ "method": "btree",
239
+ "with": {}
240
+ }
241
+ },
242
+ "foreignKeys": {
243
+ "messages_conversation_id_conversations_id_fk": {
244
+ "name": "messages_conversation_id_conversations_id_fk",
245
+ "tableFrom": "messages",
246
+ "tableTo": "conversations",
247
+ "columnsFrom": [
248
+ "conversation_id"
249
+ ],
250
+ "columnsTo": [
251
+ "id"
252
+ ],
253
+ "onDelete": "cascade",
254
+ "onUpdate": "no action"
255
+ }
256
+ },
257
+ "compositePrimaryKeys": {},
258
+ "uniqueConstraints": {},
259
+ "policies": {},
260
+ "checkConstraints": {},
261
+ "isRLSEnabled": false
262
+ }
263
+ },
264
+ "enums": {},
265
+ "schemas": {},
266
+ "sequences": {},
267
+ "roles": {},
268
+ "policies": {},
269
+ "views": {},
270
+ "_meta": {
271
+ "columns": {},
272
+ "schemas": {},
273
+ "tables": {}
274
+ }
275
+ }
@@ -0,0 +1,281 @@
1
+ {
2
+ "id": "181c8aeb-622b-4384-bd61-ba62a3b1464e",
3
+ "prevId": "3a4108d7-d390-4d77-a860-dd025007594c",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.conversations": {
8
+ "name": "conversations",
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
+ "user_id": {
25
+ "name": "user_id",
26
+ "type": "text",
27
+ "primaryKey": false,
28
+ "notNull": true
29
+ },
30
+ "title": {
31
+ "name": "title",
32
+ "type": "text",
33
+ "primaryKey": false,
34
+ "notNull": true,
35
+ "default": "'Nova conversa'"
36
+ },
37
+ "thread_session_id": {
38
+ "name": "thread_session_id",
39
+ "type": "text",
40
+ "primaryKey": false,
41
+ "notNull": false
42
+ },
43
+ "canvas_tools": {
44
+ "name": "canvas_tools",
45
+ "type": "jsonb",
46
+ "primaryKey": false,
47
+ "notNull": false
48
+ },
49
+ "system_message": {
50
+ "name": "system_message",
51
+ "type": "text",
52
+ "primaryKey": false,
53
+ "notNull": false
54
+ },
55
+ "context_files": {
56
+ "name": "context_files",
57
+ "type": "jsonb",
58
+ "primaryKey": false,
59
+ "notNull": false
60
+ },
61
+ "created_by": {
62
+ "name": "created_by",
63
+ "type": "text",
64
+ "primaryKey": false,
65
+ "notNull": false
66
+ },
67
+ "created_at": {
68
+ "name": "created_at",
69
+ "type": "timestamp with time zone",
70
+ "primaryKey": false,
71
+ "notNull": true,
72
+ "default": "now()"
73
+ },
74
+ "updated_at": {
75
+ "name": "updated_at",
76
+ "type": "timestamp with time zone",
77
+ "primaryKey": false,
78
+ "notNull": true,
79
+ "default": "now()"
80
+ }
81
+ },
82
+ "indexes": {
83
+ "idx_conversations_workspace": {
84
+ "name": "idx_conversations_workspace",
85
+ "columns": [
86
+ {
87
+ "expression": "workspace_id",
88
+ "isExpression": false,
89
+ "asc": true,
90
+ "nulls": "last"
91
+ }
92
+ ],
93
+ "isUnique": false,
94
+ "concurrently": false,
95
+ "method": "btree",
96
+ "with": {}
97
+ },
98
+ "idx_conversations_user": {
99
+ "name": "idx_conversations_user",
100
+ "columns": [
101
+ {
102
+ "expression": "user_id",
103
+ "isExpression": false,
104
+ "asc": true,
105
+ "nulls": "last"
106
+ }
107
+ ],
108
+ "isUnique": false,
109
+ "concurrently": false,
110
+ "method": "btree",
111
+ "with": {}
112
+ },
113
+ "idx_conversations_updated": {
114
+ "name": "idx_conversations_updated",
115
+ "columns": [
116
+ {
117
+ "expression": "updated_at",
118
+ "isExpression": false,
119
+ "asc": true,
120
+ "nulls": "last"
121
+ }
122
+ ],
123
+ "isUnique": false,
124
+ "concurrently": false,
125
+ "method": "btree",
126
+ "with": {}
127
+ }
128
+ },
129
+ "foreignKeys": {},
130
+ "compositePrimaryKeys": {},
131
+ "uniqueConstraints": {},
132
+ "policies": {},
133
+ "checkConstraints": {},
134
+ "isRLSEnabled": false
135
+ },
136
+ "public.messages": {
137
+ "name": "messages",
138
+ "schema": "",
139
+ "columns": {
140
+ "id": {
141
+ "name": "id",
142
+ "type": "uuid",
143
+ "primaryKey": true,
144
+ "notNull": true,
145
+ "default": "gen_random_uuid()"
146
+ },
147
+ "conversation_id": {
148
+ "name": "conversation_id",
149
+ "type": "uuid",
150
+ "primaryKey": false,
151
+ "notNull": true
152
+ },
153
+ "role": {
154
+ "name": "role",
155
+ "type": "text",
156
+ "primaryKey": false,
157
+ "notNull": true
158
+ },
159
+ "content": {
160
+ "name": "content",
161
+ "type": "text",
162
+ "primaryKey": false,
163
+ "notNull": true
164
+ },
165
+ "status": {
166
+ "name": "status",
167
+ "type": "text",
168
+ "primaryKey": false,
169
+ "notNull": false,
170
+ "default": "'completed'"
171
+ },
172
+ "reasoning_data": {
173
+ "name": "reasoning_data",
174
+ "type": "jsonb",
175
+ "primaryKey": false,
176
+ "notNull": false
177
+ },
178
+ "files": {
179
+ "name": "files",
180
+ "type": "jsonb",
181
+ "primaryKey": false,
182
+ "notNull": false
183
+ },
184
+ "external_uuid": {
185
+ "name": "external_uuid",
186
+ "type": "text",
187
+ "primaryKey": false,
188
+ "notNull": false
189
+ },
190
+ "ttft": {
191
+ "name": "ttft",
192
+ "type": "text",
193
+ "primaryKey": false,
194
+ "notNull": false
195
+ },
196
+ "created_by": {
197
+ "name": "created_by",
198
+ "type": "text",
199
+ "primaryKey": false,
200
+ "notNull": false
201
+ },
202
+ "created_at": {
203
+ "name": "created_at",
204
+ "type": "timestamp with time zone",
205
+ "primaryKey": false,
206
+ "notNull": true,
207
+ "default": "now()"
208
+ },
209
+ "updated_at": {
210
+ "name": "updated_at",
211
+ "type": "timestamp with time zone",
212
+ "primaryKey": false,
213
+ "notNull": false
214
+ }
215
+ },
216
+ "indexes": {
217
+ "idx_messages_conversation": {
218
+ "name": "idx_messages_conversation",
219
+ "columns": [
220
+ {
221
+ "expression": "conversation_id",
222
+ "isExpression": false,
223
+ "asc": true,
224
+ "nulls": "last"
225
+ }
226
+ ],
227
+ "isUnique": false,
228
+ "concurrently": false,
229
+ "method": "btree",
230
+ "with": {}
231
+ },
232
+ "idx_messages_created": {
233
+ "name": "idx_messages_created",
234
+ "columns": [
235
+ {
236
+ "expression": "created_at",
237
+ "isExpression": false,
238
+ "asc": true,
239
+ "nulls": "last"
240
+ }
241
+ ],
242
+ "isUnique": false,
243
+ "concurrently": false,
244
+ "method": "btree",
245
+ "with": {}
246
+ }
247
+ },
248
+ "foreignKeys": {
249
+ "messages_conversation_id_conversations_id_fk": {
250
+ "name": "messages_conversation_id_conversations_id_fk",
251
+ "tableFrom": "messages",
252
+ "tableTo": "conversations",
253
+ "columnsFrom": [
254
+ "conversation_id"
255
+ ],
256
+ "columnsTo": [
257
+ "id"
258
+ ],
259
+ "onDelete": "cascade",
260
+ "onUpdate": "no action"
261
+ }
262
+ },
263
+ "compositePrimaryKeys": {},
264
+ "uniqueConstraints": {},
265
+ "policies": {},
266
+ "checkConstraints": {},
267
+ "isRLSEnabled": false
268
+ }
269
+ },
270
+ "enums": {},
271
+ "schemas": {},
272
+ "sequences": {},
273
+ "roles": {},
274
+ "policies": {},
275
+ "views": {},
276
+ "_meta": {
277
+ "columns": {},
278
+ "schemas": {},
279
+ "tables": {}
280
+ }
281
+ }