@lobehub/chat 1.70.11 → 1.71.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.
- package/.github/workflows/sync-database-schema.yml +25 -0
- package/CHANGELOG.md +25 -0
- package/changelog/v1.json +9 -0
- package/docs/developer/database-schema.dbml +569 -0
- package/locales/ar/models.json +3 -0
- package/locales/bg-BG/models.json +3 -0
- package/locales/de-DE/models.json +3 -0
- package/locales/en-US/models.json +3 -0
- package/locales/es-ES/models.json +3 -0
- package/locales/fa-IR/models.json +3 -0
- package/locales/fr-FR/models.json +3 -0
- package/locales/it-IT/models.json +3 -0
- package/locales/ja-JP/models.json +3 -0
- package/locales/ko-KR/models.json +3 -0
- package/locales/nl-NL/models.json +3 -0
- package/locales/pl-PL/models.json +3 -0
- package/locales/pt-BR/models.json +3 -0
- package/locales/ru-RU/models.json +3 -0
- package/locales/tr-TR/models.json +3 -0
- package/locales/vi-VN/models.json +3 -0
- package/locales/zh-CN/models.json +3 -0
- package/locales/zh-TW/models.json +3 -0
- package/package.json +6 -2
- package/scripts/dbmlWorkflow/index.ts +11 -0
- package/src/config/aiModels/google.ts +17 -0
- package/src/database/client/migrations.json +4 -4
- package/src/database/server/models/message.ts +20 -9
- package/src/database/server/models/user.test.ts +58 -0
- package/src/features/AlertBanner/CloudBanner.tsx +1 -1
- package/src/features/Conversation/Messages/Assistant/index.tsx +4 -1
- package/src/features/Conversation/Messages/User/index.tsx +4 -4
- package/src/libs/agent-runtime/google/index.ts +8 -2
- package/src/libs/agent-runtime/utils/streams/google-ai.test.ts +99 -0
- package/src/libs/agent-runtime/utils/streams/google-ai.ts +69 -23
- package/src/libs/agent-runtime/utils/streams/protocol.ts +2 -0
- package/src/services/chat.ts +33 -15
- package/src/services/file/client.ts +3 -1
- package/src/services/message/server.ts +2 -2
- package/src/services/message/type.ts +2 -2
- package/src/services/upload.ts +82 -1
- package/src/store/chat/slices/aiChat/actions/generateAIChat.ts +44 -4
- package/src/store/chat/slices/message/action.ts +3 -0
- package/src/store/file/slices/upload/action.ts +36 -13
- package/src/store/file/store.ts +2 -0
- package/src/types/files/upload.ts +7 -0
- package/src/types/message/base.ts +22 -1
- package/src/types/message/chat.ts +1 -6
- package/src/types/message/image.ts +11 -0
- package/src/types/message/index.ts +1 -0
- package/src/utils/fetch/fetchSSE.ts +24 -1
@@ -0,0 +1,25 @@
|
|
1
|
+
name: Database Schema Visualization CI
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches:
|
6
|
+
- main
|
7
|
+
paths:
|
8
|
+
- 'docs/developer/database-schema.dbml'
|
9
|
+
|
10
|
+
jobs:
|
11
|
+
build:
|
12
|
+
runs-on: ubuntu-latest
|
13
|
+
steps:
|
14
|
+
- uses: actions/checkout@v4
|
15
|
+
|
16
|
+
- name: Install dbdocs
|
17
|
+
run: sudo npm install -g dbdocs
|
18
|
+
|
19
|
+
- name: Check dbdocs
|
20
|
+
run: dbdocs
|
21
|
+
|
22
|
+
- name: sync database schema to dbdocs
|
23
|
+
env:
|
24
|
+
DBDOCS_TOKEN: ${{ secrets.DBDOCS_TOKEN }}
|
25
|
+
run: npm run db:visualize
|
package/CHANGELOG.md
CHANGED
@@ -2,6 +2,31 @@
|
|
2
2
|
|
3
3
|
# Changelog
|
4
4
|
|
5
|
+
## [Version 1.71.0](https://github.com/lobehub/lobe-chat/compare/v1.70.11...v1.71.0)
|
6
|
+
|
7
|
+
<sup>Released on **2025-03-14**</sup>
|
8
|
+
|
9
|
+
#### ✨ Features
|
10
|
+
|
11
|
+
- **misc**: Support gemini image output in chat.
|
12
|
+
|
13
|
+
<br/>
|
14
|
+
|
15
|
+
<details>
|
16
|
+
<summary><kbd>Improvements and Fixes</kbd></summary>
|
17
|
+
|
18
|
+
#### What's improved
|
19
|
+
|
20
|
+
- **misc**: Support gemini image output in chat, closes [#6931](https://github.com/lobehub/lobe-chat/issues/6931) ([d4c0d1f](https://github.com/lobehub/lobe-chat/commit/d4c0d1f))
|
21
|
+
|
22
|
+
</details>
|
23
|
+
|
24
|
+
<div align="right">
|
25
|
+
|
26
|
+
[](#readme-top)
|
27
|
+
|
28
|
+
</div>
|
29
|
+
|
5
30
|
### [Version 1.70.11](https://github.com/lobehub/lobe-chat/compare/v1.70.10...v1.70.11)
|
6
31
|
|
7
32
|
<sup>Released on **2025-03-13**</sup>
|
package/changelog/v1.json
CHANGED
@@ -0,0 +1,569 @@
|
|
1
|
+
table agents {
|
2
|
+
id text [pk, not null]
|
3
|
+
slug varchar(100) [unique]
|
4
|
+
title text
|
5
|
+
description text
|
6
|
+
tags jsonb [default: `[]`]
|
7
|
+
avatar text
|
8
|
+
background_color text
|
9
|
+
plugins jsonb [default: `[]`]
|
10
|
+
user_id text [not null]
|
11
|
+
chat_config jsonb
|
12
|
+
few_shots jsonb
|
13
|
+
model text
|
14
|
+
params jsonb [default: `{}`]
|
15
|
+
provider text
|
16
|
+
system_role text
|
17
|
+
tts jsonb
|
18
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
19
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
20
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
21
|
+
}
|
22
|
+
|
23
|
+
table agents_files {
|
24
|
+
file_id text [not null]
|
25
|
+
agent_id text [not null]
|
26
|
+
enabled boolean [default: true]
|
27
|
+
user_id text [not null]
|
28
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
29
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
30
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
31
|
+
|
32
|
+
indexes {
|
33
|
+
(file_id, agent_id, user_id) [pk]
|
34
|
+
}
|
35
|
+
}
|
36
|
+
|
37
|
+
table agents_knowledge_bases {
|
38
|
+
agent_id text [not null]
|
39
|
+
knowledge_base_id text [not null]
|
40
|
+
user_id text [not null]
|
41
|
+
enabled boolean [default: true]
|
42
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
43
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
44
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
45
|
+
|
46
|
+
indexes {
|
47
|
+
(agent_id, knowledge_base_id) [pk]
|
48
|
+
}
|
49
|
+
}
|
50
|
+
|
51
|
+
table ai_models {
|
52
|
+
id varchar(150) [not null]
|
53
|
+
display_name varchar(200)
|
54
|
+
description text
|
55
|
+
organization varchar(100)
|
56
|
+
enabled boolean
|
57
|
+
provider_id varchar(64) [not null]
|
58
|
+
type varchar(20) [not null, default: 'chat']
|
59
|
+
sort integer
|
60
|
+
user_id text [not null]
|
61
|
+
pricing jsonb
|
62
|
+
parameters jsonb [default: `{}`]
|
63
|
+
config jsonb
|
64
|
+
abilities jsonb [default: `{}`]
|
65
|
+
context_window_tokens integer
|
66
|
+
source varchar(20)
|
67
|
+
released_at varchar(10)
|
68
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
69
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
70
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
71
|
+
|
72
|
+
indexes {
|
73
|
+
(id, provider_id, user_id) [pk]
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
table ai_providers {
|
78
|
+
id varchar(64) [not null]
|
79
|
+
name text
|
80
|
+
user_id text [not null]
|
81
|
+
sort integer
|
82
|
+
enabled boolean
|
83
|
+
fetch_on_client boolean
|
84
|
+
check_model text
|
85
|
+
logo text
|
86
|
+
description text
|
87
|
+
key_vaults text
|
88
|
+
source varchar(20)
|
89
|
+
settings jsonb
|
90
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
91
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
92
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
93
|
+
|
94
|
+
indexes {
|
95
|
+
(id, user_id) [pk]
|
96
|
+
}
|
97
|
+
}
|
98
|
+
|
99
|
+
table async_tasks {
|
100
|
+
id uuid [pk, not null, default: `gen_random_uuid()`]
|
101
|
+
type text
|
102
|
+
status text
|
103
|
+
error jsonb
|
104
|
+
user_id text [not null]
|
105
|
+
duration integer
|
106
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
107
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
108
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
109
|
+
}
|
110
|
+
|
111
|
+
table files {
|
112
|
+
id text [pk, not null]
|
113
|
+
user_id text [not null]
|
114
|
+
file_type varchar(255) [not null]
|
115
|
+
file_hash varchar(64)
|
116
|
+
name text [not null]
|
117
|
+
size integer [not null]
|
118
|
+
url text [not null]
|
119
|
+
metadata jsonb
|
120
|
+
chunk_task_id uuid
|
121
|
+
embedding_task_id uuid
|
122
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
123
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
124
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
125
|
+
}
|
126
|
+
|
127
|
+
table global_files {
|
128
|
+
hash_id varchar(64) [pk, not null]
|
129
|
+
file_type varchar(255) [not null]
|
130
|
+
size integer [not null]
|
131
|
+
url text [not null]
|
132
|
+
metadata jsonb
|
133
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
134
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
135
|
+
}
|
136
|
+
|
137
|
+
table knowledge_base_files {
|
138
|
+
knowledge_base_id text [not null]
|
139
|
+
file_id text [not null]
|
140
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
141
|
+
|
142
|
+
indexes {
|
143
|
+
(knowledge_base_id, file_id) [pk]
|
144
|
+
}
|
145
|
+
}
|
146
|
+
|
147
|
+
table knowledge_bases {
|
148
|
+
id text [pk, not null]
|
149
|
+
name text [not null]
|
150
|
+
description text
|
151
|
+
avatar text
|
152
|
+
type text
|
153
|
+
user_id text [not null]
|
154
|
+
is_public boolean [default: false]
|
155
|
+
settings jsonb
|
156
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
157
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
158
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
159
|
+
}
|
160
|
+
|
161
|
+
table message_chunks {
|
162
|
+
message_id text
|
163
|
+
chunk_id uuid
|
164
|
+
|
165
|
+
indexes {
|
166
|
+
(chunk_id, message_id) [pk]
|
167
|
+
}
|
168
|
+
}
|
169
|
+
|
170
|
+
table message_plugins {
|
171
|
+
id text [pk, not null]
|
172
|
+
tool_call_id text
|
173
|
+
type text [default: 'default']
|
174
|
+
api_name text
|
175
|
+
arguments text
|
176
|
+
identifier text
|
177
|
+
state jsonb
|
178
|
+
error jsonb
|
179
|
+
}
|
180
|
+
|
181
|
+
table message_queries {
|
182
|
+
id uuid [pk, not null, default: `gen_random_uuid()`]
|
183
|
+
message_id text [not null]
|
184
|
+
rewrite_query text
|
185
|
+
user_query text
|
186
|
+
embeddings_id uuid
|
187
|
+
}
|
188
|
+
|
189
|
+
table message_query_chunks {
|
190
|
+
id text
|
191
|
+
query_id uuid
|
192
|
+
chunk_id uuid
|
193
|
+
similarity "numeric(6, 5)"
|
194
|
+
|
195
|
+
indexes {
|
196
|
+
(chunk_id, id, query_id) [pk]
|
197
|
+
}
|
198
|
+
}
|
199
|
+
|
200
|
+
table message_tts {
|
201
|
+
id text [pk, not null]
|
202
|
+
content_md5 text
|
203
|
+
file_id text
|
204
|
+
voice text
|
205
|
+
}
|
206
|
+
|
207
|
+
table message_translates {
|
208
|
+
id text [pk, not null]
|
209
|
+
content text
|
210
|
+
from text
|
211
|
+
to text
|
212
|
+
}
|
213
|
+
|
214
|
+
table messages {
|
215
|
+
id text [pk, not null]
|
216
|
+
role text [not null]
|
217
|
+
content text
|
218
|
+
reasoning jsonb
|
219
|
+
search jsonb
|
220
|
+
metadata jsonb
|
221
|
+
model text
|
222
|
+
provider text
|
223
|
+
favorite boolean [default: false]
|
224
|
+
error jsonb
|
225
|
+
tools jsonb
|
226
|
+
trace_id text
|
227
|
+
observation_id text
|
228
|
+
client_id text
|
229
|
+
user_id text [not null]
|
230
|
+
session_id text
|
231
|
+
topic_id text
|
232
|
+
thread_id text
|
233
|
+
parent_id text
|
234
|
+
quota_id text
|
235
|
+
agent_id text
|
236
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
237
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
238
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
239
|
+
|
240
|
+
indexes {
|
241
|
+
created_at [name: 'messages_created_at_idx']
|
242
|
+
(client_id, user_id) [name: 'message_client_id_user_unique', unique]
|
243
|
+
topic_id [name: 'messages_topic_id_idx']
|
244
|
+
parent_id [name: 'messages_parent_id_idx']
|
245
|
+
quota_id [name: 'messages_quota_id_idx']
|
246
|
+
}
|
247
|
+
}
|
248
|
+
|
249
|
+
table messages_files {
|
250
|
+
file_id text [not null]
|
251
|
+
message_id text [not null]
|
252
|
+
|
253
|
+
indexes {
|
254
|
+
(file_id, message_id) [pk]
|
255
|
+
}
|
256
|
+
}
|
257
|
+
|
258
|
+
table nextauth_accounts {
|
259
|
+
access_token text
|
260
|
+
expires_at integer
|
261
|
+
id_token text
|
262
|
+
provider text [not null]
|
263
|
+
providerAccountId text [not null]
|
264
|
+
refresh_token text
|
265
|
+
scope text
|
266
|
+
session_state text
|
267
|
+
token_type text
|
268
|
+
type text [not null]
|
269
|
+
userId text [not null]
|
270
|
+
|
271
|
+
indexes {
|
272
|
+
(provider, providerAccountId) [pk]
|
273
|
+
}
|
274
|
+
}
|
275
|
+
|
276
|
+
table nextauth_authenticators {
|
277
|
+
counter integer [not null]
|
278
|
+
credentialBackedUp boolean [not null]
|
279
|
+
credentialDeviceType text [not null]
|
280
|
+
credentialID text [not null, unique]
|
281
|
+
credentialPublicKey text [not null]
|
282
|
+
providerAccountId text [not null]
|
283
|
+
transports text
|
284
|
+
userId text [not null]
|
285
|
+
|
286
|
+
indexes {
|
287
|
+
(userId, credentialID) [pk]
|
288
|
+
}
|
289
|
+
}
|
290
|
+
|
291
|
+
table nextauth_sessions {
|
292
|
+
expires timestamp [not null]
|
293
|
+
sessionToken text [pk, not null]
|
294
|
+
userId text [not null]
|
295
|
+
}
|
296
|
+
|
297
|
+
table nextauth_verificationtokens {
|
298
|
+
expires timestamp [not null]
|
299
|
+
identifier text [not null]
|
300
|
+
token text [not null]
|
301
|
+
|
302
|
+
indexes {
|
303
|
+
(identifier, token) [pk]
|
304
|
+
}
|
305
|
+
}
|
306
|
+
|
307
|
+
table chunks {
|
308
|
+
id uuid [pk, not null, default: `gen_random_uuid()`]
|
309
|
+
text text
|
310
|
+
abstract text
|
311
|
+
metadata jsonb
|
312
|
+
index integer
|
313
|
+
type varchar
|
314
|
+
user_id text
|
315
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
316
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
317
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
318
|
+
}
|
319
|
+
|
320
|
+
table embeddings {
|
321
|
+
id uuid [pk, not null, default: `gen_random_uuid()`]
|
322
|
+
chunk_id uuid [unique]
|
323
|
+
embeddings vector(1024)
|
324
|
+
model text
|
325
|
+
user_id text
|
326
|
+
}
|
327
|
+
|
328
|
+
table unstructured_chunks {
|
329
|
+
id uuid [pk, not null, default: `gen_random_uuid()`]
|
330
|
+
text text
|
331
|
+
metadata jsonb
|
332
|
+
index integer
|
333
|
+
type varchar
|
334
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
335
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
336
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
337
|
+
parent_id varchar
|
338
|
+
composite_id uuid
|
339
|
+
user_id text
|
340
|
+
file_id varchar
|
341
|
+
}
|
342
|
+
|
343
|
+
table rag_eval_dataset_records {
|
344
|
+
id integer [pk, not null]
|
345
|
+
dataset_id integer [not null]
|
346
|
+
ideal text
|
347
|
+
question text
|
348
|
+
reference_files text[]
|
349
|
+
metadata jsonb
|
350
|
+
user_id text
|
351
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
352
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
353
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
354
|
+
}
|
355
|
+
|
356
|
+
table rag_eval_datasets {
|
357
|
+
id integer [pk, not null]
|
358
|
+
description text
|
359
|
+
name text [not null]
|
360
|
+
knowledge_base_id text
|
361
|
+
user_id text
|
362
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
363
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
364
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
365
|
+
}
|
366
|
+
|
367
|
+
table rag_eval_evaluations {
|
368
|
+
id integer [pk, not null]
|
369
|
+
name text [not null]
|
370
|
+
description text
|
371
|
+
eval_records_url text
|
372
|
+
status text
|
373
|
+
error jsonb
|
374
|
+
dataset_id integer [not null]
|
375
|
+
knowledge_base_id text
|
376
|
+
language_model text
|
377
|
+
embedding_model text
|
378
|
+
user_id text
|
379
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
380
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
381
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
382
|
+
}
|
383
|
+
|
384
|
+
table rag_eval_evaluation_records {
|
385
|
+
id integer [pk, not null]
|
386
|
+
question text [not null]
|
387
|
+
answer text
|
388
|
+
context text[]
|
389
|
+
ideal text
|
390
|
+
status text
|
391
|
+
error jsonb
|
392
|
+
language_model text
|
393
|
+
embedding_model text
|
394
|
+
question_embedding_id uuid
|
395
|
+
duration integer
|
396
|
+
dataset_record_id integer [not null]
|
397
|
+
evaluation_id integer [not null]
|
398
|
+
user_id text
|
399
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
400
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
401
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
402
|
+
}
|
403
|
+
|
404
|
+
table agents_to_sessions {
|
405
|
+
agent_id text [not null]
|
406
|
+
session_id text [not null]
|
407
|
+
|
408
|
+
indexes {
|
409
|
+
(agent_id, session_id) [pk]
|
410
|
+
}
|
411
|
+
}
|
412
|
+
|
413
|
+
table file_chunks {
|
414
|
+
file_id varchar
|
415
|
+
chunk_id uuid
|
416
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
417
|
+
|
418
|
+
indexes {
|
419
|
+
(file_id, chunk_id) [pk]
|
420
|
+
}
|
421
|
+
}
|
422
|
+
|
423
|
+
table files_to_sessions {
|
424
|
+
file_id text [not null]
|
425
|
+
session_id text [not null]
|
426
|
+
|
427
|
+
indexes {
|
428
|
+
(file_id, session_id) [pk]
|
429
|
+
}
|
430
|
+
}
|
431
|
+
|
432
|
+
table session_groups {
|
433
|
+
id text [pk, not null]
|
434
|
+
name text [not null]
|
435
|
+
sort integer
|
436
|
+
user_id text [not null]
|
437
|
+
client_id text
|
438
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
439
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
440
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
441
|
+
|
442
|
+
indexes {
|
443
|
+
(client_id, user_id) [name: 'session_group_client_id_user_unique', unique]
|
444
|
+
}
|
445
|
+
}
|
446
|
+
|
447
|
+
table sessions {
|
448
|
+
id text [pk, not null]
|
449
|
+
slug varchar(100) [not null]
|
450
|
+
title text
|
451
|
+
description text
|
452
|
+
avatar text
|
453
|
+
background_color text
|
454
|
+
type text [default: 'agent']
|
455
|
+
user_id text [not null]
|
456
|
+
group_id text
|
457
|
+
client_id text
|
458
|
+
pinned boolean [default: false]
|
459
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
460
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
461
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
462
|
+
|
463
|
+
indexes {
|
464
|
+
(slug, user_id) [name: 'slug_user_id_unique', unique]
|
465
|
+
(client_id, user_id) [name: 'sessions_client_id_user_id_unique', unique]
|
466
|
+
}
|
467
|
+
}
|
468
|
+
|
469
|
+
table threads {
|
470
|
+
id text [pk, not null]
|
471
|
+
title text
|
472
|
+
type text [not null]
|
473
|
+
status text [default: 'active']
|
474
|
+
topic_id text [not null]
|
475
|
+
source_message_id text [not null]
|
476
|
+
parent_thread_id text
|
477
|
+
user_id text [not null]
|
478
|
+
last_active_at "timestamp with time zone" [default: `now()`]
|
479
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
480
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
481
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
482
|
+
}
|
483
|
+
|
484
|
+
table topics {
|
485
|
+
id text [pk, not null]
|
486
|
+
title text
|
487
|
+
favorite boolean [default: false]
|
488
|
+
session_id text
|
489
|
+
user_id text [not null]
|
490
|
+
client_id text
|
491
|
+
history_summary text
|
492
|
+
metadata jsonb
|
493
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
494
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
495
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
496
|
+
|
497
|
+
indexes {
|
498
|
+
(client_id, user_id) [name: 'topic_client_id_user_id_unique', unique]
|
499
|
+
}
|
500
|
+
}
|
501
|
+
|
502
|
+
table user_installed_plugins {
|
503
|
+
user_id text [not null]
|
504
|
+
identifier text [not null]
|
505
|
+
type text [not null]
|
506
|
+
manifest jsonb
|
507
|
+
settings jsonb
|
508
|
+
custom_params jsonb
|
509
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
510
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
511
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
512
|
+
|
513
|
+
indexes {
|
514
|
+
(user_id, identifier) [pk]
|
515
|
+
}
|
516
|
+
}
|
517
|
+
|
518
|
+
table user_settings {
|
519
|
+
id text [pk, not null]
|
520
|
+
tts jsonb
|
521
|
+
key_vaults text
|
522
|
+
general jsonb
|
523
|
+
language_model jsonb
|
524
|
+
system_agent jsonb
|
525
|
+
default_agent jsonb
|
526
|
+
tool jsonb
|
527
|
+
}
|
528
|
+
|
529
|
+
table users {
|
530
|
+
id text [pk, not null]
|
531
|
+
username text [unique]
|
532
|
+
email text
|
533
|
+
avatar text
|
534
|
+
phone text
|
535
|
+
first_name text
|
536
|
+
last_name text
|
537
|
+
full_name text
|
538
|
+
is_onboarded boolean [default: false]
|
539
|
+
clerk_created_at "timestamp with time zone"
|
540
|
+
email_verified_at "timestamp with time zone"
|
541
|
+
preference jsonb
|
542
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
543
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
544
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
545
|
+
}
|
546
|
+
|
547
|
+
ref: agents_knowledge_bases.knowledge_base_id - knowledge_bases.id
|
548
|
+
|
549
|
+
ref: agents_knowledge_bases.agent_id > agents.id
|
550
|
+
|
551
|
+
ref: agents_to_sessions.session_id > sessions.id
|
552
|
+
|
553
|
+
ref: agents_to_sessions.agent_id > agents.id
|
554
|
+
|
555
|
+
ref: unstructured_chunks.file_id - files.id
|
556
|
+
|
557
|
+
ref: files.embedding_task_id - async_tasks.id
|
558
|
+
|
559
|
+
ref: messages.session_id - sessions.id
|
560
|
+
|
561
|
+
ref: messages.parent_id - messages.id
|
562
|
+
|
563
|
+
ref: messages.topic_id - topics.id
|
564
|
+
|
565
|
+
ref: threads.source_message_id - messages.id
|
566
|
+
|
567
|
+
ref: sessions.group_id - session_groups.id
|
568
|
+
|
569
|
+
ref: topics.session_id - sessions.id
|
package/locales/ar/models.json
CHANGED
@@ -833,6 +833,9 @@
|
|
833
833
|
"gemini-2.0-flash-001": {
|
834
834
|
"description": "Gemini 2.0 Flash يقدم ميزات وتحسينات من الجيل التالي، بما في ذلك سرعة فائقة، واستخدام أدوات أصلية، وتوليد متعدد الوسائط، ونافذة سياق تصل إلى 1M توكن."
|
835
835
|
},
|
836
|
+
"gemini-2.0-flash-exp": {
|
837
|
+
"description": "نموذج جمنيس 2.0 فلاش، تم تحسينه لتحقيق أهداف مثل الكفاءة من حيث التكلفة وانخفاض الكمون."
|
838
|
+
},
|
836
839
|
"gemini-2.0-flash-lite": {
|
837
840
|
"description": "نموذج جمنّي 2.0 فلاش هو نسخة معدلة، تم تحسينها لتحقيق الكفاءة من حيث التكلفة والحد من التأخير."
|
838
841
|
},
|
@@ -833,6 +833,9 @@
|
|
833
833
|
"gemini-2.0-flash-001": {
|
834
834
|
"description": "Gemini 2.0 Flash предлага следващо поколение функции и подобрения, включително изключителна скорост, нативна употреба на инструменти, многомодално генериране и контекстен прозорец от 1M токена."
|
835
835
|
},
|
836
|
+
"gemini-2.0-flash-exp": {
|
837
|
+
"description": "Gemini 2.0 Flash моделна вариация, оптимизирана за икономичност и ниска латентност."
|
838
|
+
},
|
836
839
|
"gemini-2.0-flash-lite": {
|
837
840
|
"description": "Gemini 2.0 Flash е вариант на модела, оптимизиран за икономичност и ниска латентност."
|
838
841
|
},
|
@@ -833,6 +833,9 @@
|
|
833
833
|
"gemini-2.0-flash-001": {
|
834
834
|
"description": "Gemini 2.0 Flash bietet nächste Generation Funktionen und Verbesserungen, einschließlich außergewöhnlicher Geschwindigkeit, nativer Werkzeugnutzung, multimodaler Generierung und einem Kontextfenster von 1M Tokens."
|
835
835
|
},
|
836
|
+
"gemini-2.0-flash-exp": {
|
837
|
+
"description": "Gemini 2.0 Flash-Modellvariante, die auf Kosteneffizienz und niedrige Latenz optimiert ist."
|
838
|
+
},
|
836
839
|
"gemini-2.0-flash-lite": {
|
837
840
|
"description": "Gemini 2.0 Flash ist eine Modellvariante, die auf Kosteneffizienz und niedrige Latenz optimiert ist."
|
838
841
|
},
|
@@ -833,6 +833,9 @@
|
|
833
833
|
"gemini-2.0-flash-001": {
|
834
834
|
"description": "Gemini 2.0 Flash offers next-generation features and improvements, including exceptional speed, native tool usage, multimodal generation, and a 1M token context window."
|
835
835
|
},
|
836
|
+
"gemini-2.0-flash-exp": {
|
837
|
+
"description": "Gemini 2.0 Flash model variant optimized for cost-effectiveness and low latency."
|
838
|
+
},
|
836
839
|
"gemini-2.0-flash-lite": {
|
837
840
|
"description": "Gemini 2.0 Flash is a variant of the model optimized for cost-effectiveness and low latency."
|
838
841
|
},
|
@@ -833,6 +833,9 @@
|
|
833
833
|
"gemini-2.0-flash-001": {
|
834
834
|
"description": "Gemini 2.0 Flash ofrece funciones y mejoras de próxima generación, incluyendo velocidad excepcional, uso de herramientas nativas, generación multimodal y una ventana de contexto de 1M tokens."
|
835
835
|
},
|
836
|
+
"gemini-2.0-flash-exp": {
|
837
|
+
"description": "Variante del modelo Gemini 2.0 Flash, optimizada para objetivos como la rentabilidad y la baja latencia."
|
838
|
+
},
|
836
839
|
"gemini-2.0-flash-lite": {
|
837
840
|
"description": "Variante del modelo Gemini 2.0 Flash, optimizada para objetivos como la rentabilidad y la baja latencia."
|
838
841
|
},
|
@@ -833,6 +833,9 @@
|
|
833
833
|
"gemini-2.0-flash-001": {
|
834
834
|
"description": "Gemini 2.0 Flash ویژگیها و بهبودهای نسل بعدی را ارائه میدهد، از جمله سرعت عالی، استفاده از ابزارهای بومی، تولید چندرسانهای و پنجره متن 1M توکن."
|
835
835
|
},
|
836
|
+
"gemini-2.0-flash-exp": {
|
837
|
+
"description": "مدل متغیر Gemini 2.0 Flash که برای بهینهسازی هزینه و تأخیر کم طراحی شده است."
|
838
|
+
},
|
836
839
|
"gemini-2.0-flash-lite": {
|
837
840
|
"description": "مدل متغیر Gemini 2.0 Flash برای بهینهسازی هزینه و تأخیر کم طراحی شده است."
|
838
841
|
},
|