chainlit 1.1.404__py3-none-any.whl → 1.2.0rc0__py3-none-any.whl

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.

Potentially problematic release.


This version of chainlit might be problematic. Click here for more details.

Files changed (63) hide show
  1. chainlit/__init__.py +63 -305
  2. chainlit/_utils.py +8 -0
  3. chainlit/assistant.py +16 -0
  4. chainlit/assistant_settings.py +35 -0
  5. chainlit/callbacks.py +340 -0
  6. chainlit/cli/__init__.py +1 -1
  7. chainlit/config.py +58 -28
  8. chainlit/copilot/dist/index.js +512 -631
  9. chainlit/data/__init__.py +6 -521
  10. chainlit/data/base.py +121 -0
  11. chainlit/data/dynamodb.py +5 -8
  12. chainlit/data/literalai.py +395 -0
  13. chainlit/data/sql_alchemy.py +11 -9
  14. chainlit/data/storage_clients.py +69 -15
  15. chainlit/data/utils.py +29 -0
  16. chainlit/element.py +1 -1
  17. chainlit/emitter.py +7 -0
  18. chainlit/frontend/dist/assets/{DailyMotion-e665b444.js → DailyMotion-aa368b7e.js} +1 -1
  19. chainlit/frontend/dist/assets/{Facebook-5207db92.js → Facebook-0335db46.js} +1 -1
  20. chainlit/frontend/dist/assets/{FilePlayer-86937d6e.js → FilePlayer-8d04256c.js} +1 -1
  21. chainlit/frontend/dist/assets/{Kaltura-c96622c1.js → Kaltura-67c9dd31.js} +1 -1
  22. chainlit/frontend/dist/assets/{Mixcloud-57ae3e32.js → Mixcloud-6bbaccf5.js} +1 -1
  23. chainlit/frontend/dist/assets/{Mux-20373920.js → Mux-c2bcb757.js} +1 -1
  24. chainlit/frontend/dist/assets/{Preview-c68c0613.js → Preview-210f3955.js} +1 -1
  25. chainlit/frontend/dist/assets/{SoundCloud-8a9e3eae.js → SoundCloud-a0276b84.js} +1 -1
  26. chainlit/frontend/dist/assets/{Streamable-1ed099af.js → Streamable-a007323d.js} +1 -1
  27. chainlit/frontend/dist/assets/{Twitch-6820039f.js → Twitch-e6a88aa3.js} +1 -1
  28. chainlit/frontend/dist/assets/{Vidyard-d39ab91d.js → Vidyard-dfb88a35.js} +1 -1
  29. chainlit/frontend/dist/assets/{Vimeo-017cd9a7.js → Vimeo-3baa13d9.js} +1 -1
  30. chainlit/frontend/dist/assets/{Wistia-a509d9f2.js → Wistia-e52f7bef.js} +1 -1
  31. chainlit/frontend/dist/assets/{YouTube-42dfd82f.js → YouTube-1715f22b.js} +1 -1
  32. chainlit/frontend/dist/assets/index-bfdd8585.js +729 -0
  33. chainlit/frontend/dist/assets/react-plotly-55648373.js +3484 -0
  34. chainlit/frontend/dist/index.html +1 -1
  35. chainlit/input_widget.py +22 -0
  36. chainlit/langchain/callbacks.py +6 -1
  37. chainlit/llama_index/callbacks.py +20 -4
  38. chainlit/markdown.py +15 -9
  39. chainlit/message.py +0 -1
  40. chainlit/server.py +113 -37
  41. chainlit/session.py +27 -4
  42. chainlit/socket.py +50 -1
  43. chainlit/translations/bn.json +231 -0
  44. chainlit/translations/en-US.json +6 -0
  45. chainlit/translations/fr-FR.json +236 -0
  46. chainlit/translations/gu.json +231 -0
  47. chainlit/translations/he-IL.json +231 -0
  48. chainlit/translations/hi.json +231 -0
  49. chainlit/translations/kn.json +231 -0
  50. chainlit/translations/ml.json +231 -0
  51. chainlit/translations/mr.json +231 -0
  52. chainlit/translations/ta.json +231 -0
  53. chainlit/translations/te.json +231 -0
  54. chainlit/types.py +1 -1
  55. chainlit/user_session.py +4 -0
  56. chainlit/utils.py +1 -1
  57. {chainlit-1.1.404.dist-info → chainlit-1.2.0rc0.dist-info}/METADATA +10 -10
  58. chainlit-1.2.0rc0.dist-info/RECORD +99 -0
  59. chainlit/frontend/dist/assets/index-30df9b2b.js +0 -730
  60. chainlit/frontend/dist/assets/react-plotly-5bb34118.js +0 -3602
  61. chainlit-1.1.404.dist-info/RECORD +0 -82
  62. {chainlit-1.1.404.dist-info → chainlit-1.2.0rc0.dist-info}/WHEEL +0 -0
  63. {chainlit-1.1.404.dist-info → chainlit-1.2.0rc0.dist-info}/entry_points.txt +0 -0
chainlit/socket.py CHANGED
@@ -6,6 +6,7 @@ from typing import Any, Dict, Literal
6
6
  from urllib.parse import unquote
7
7
 
8
8
  from chainlit.action import Action
9
+ from chainlit.assistant import Assistant
9
10
  from chainlit.auth import get_current_user, require_login
10
11
  from chainlit.chat_context import chat_context
11
12
  from chainlit.config import config
@@ -392,7 +393,7 @@ async def call_action(sid, action):
392
393
  except Exception as e:
393
394
  logger.exception(e)
394
395
  await context.emitter.send_action_response(
395
- id=action.id, status=False, response="An error occured"
396
+ id=action.id, status=False, response="An error occurred"
396
397
  )
397
398
 
398
399
 
@@ -406,3 +407,51 @@ async def change_settings(sid, settings: Dict[str, Any]):
406
407
 
407
408
  if config.code.on_settings_update:
408
409
  await config.code.on_settings_update(settings)
410
+
411
+
412
+ @sio.on("on_create_assistant")
413
+ async def on_create_assistant(sid, options):
414
+ context = init_ws_context(sid)
415
+ logger.info(f"Received request to create assistant {options['settings_values']}")
416
+ if not options["settings_values"].get("id"):
417
+ options["settings_values"]["id"] = str(uuid.uuid4())
418
+ if not options["settings_values"].get("created_by"):
419
+ options["settings_values"]["created_by"] = context.session.user.identifier
420
+ logger.info(
421
+ f"Added id: {options['settings_values']['id']} and created_by: {options['settings_values']['created_by']} to the assistant options"
422
+ )
423
+ if config.code.on_create_assistant:
424
+ new_assistant = Assistant(
425
+ input_widgets=options["input_widgets"],
426
+ settings_values=options["settings_values"],
427
+ )
428
+ await config.code.on_create_assistant(context.session.user, new_assistant)
429
+ return new_assistant.to_dict()
430
+ logger.info("Assistant creation process completed")
431
+
432
+
433
+ @sio.on("on_list_assistants")
434
+ async def on_list_assistants(sid):
435
+ context = init_ws_context(sid)
436
+ if config.code.on_list_assistants:
437
+ assistants = await config.code.on_list_assistants(context.session.user)
438
+ return [assistant.to_dict() for assistant in assistants]
439
+
440
+
441
+ @sio.on("select_assistant")
442
+ async def select_assistant(sid, selected_assistant: Dict):
443
+ session = WebsocketSession.require(sid)
444
+
445
+ new_assistant = Assistant(
446
+ input_widgets=selected_assistant.get("input_widgets", []),
447
+ settings_values=selected_assistant.get("settings_values", {}),
448
+ )
449
+
450
+ session.selected_assistant = new_assistant
451
+
452
+ user_identifier = session.user.identifier if session.user else "Anonymous user"
453
+ logger.info(
454
+ f"{user_identifier} selected assistant {new_assistant.settings_values.get('name', 'Unknown')} for session with id {session.id}"
455
+ )
456
+
457
+ return new_assistant.to_dict()
@@ -0,0 +1,231 @@
1
+ {
2
+ "components": {
3
+ "atoms": {
4
+ "buttons": {
5
+ "userButton": {
6
+ "menu": {
7
+ "settings": "সেটিংস",
8
+ "settingsKey": "S",
9
+ "APIKeys": "এপিআই কী",
10
+ "logout": "লগআউট"
11
+ }
12
+ }
13
+ }
14
+ },
15
+ "molecules": {
16
+ "newChatButton": {
17
+ "newChat": "নতুন আড্ডা"
18
+ },
19
+ "tasklist": {
20
+ "TaskList": {
21
+ "title": "🗒️ কার্য তালিকা",
22
+ "loading": "লোড।।।",
23
+ "error": "একটি ত্রুটি সংঘটিত হয়েছে"
24
+ }
25
+ },
26
+ "attachments": {
27
+ "cancelUpload": "আপলোড বাতিল করুন",
28
+ "removeAttachment": "সংযুক্তি সরান"
29
+ },
30
+ "newChatDialog": {
31
+ "createNewChat": "নতুন চ্যাট তৈরি করবেন?",
32
+ "clearChat": "এটি বর্তমান বার্তাগুলি সাফ করবে এবং একটি নতুন চ্যাট শুরু করবে।",
33
+ "cancel": "বাতিল",
34
+ "confirm": "নিশ্চিত"
35
+ },
36
+ "settingsModal": {
37
+ "settings": "সেটিংস",
38
+ "expandMessages": "বার্তাগুলি প্রসারিত করুন",
39
+ "hideChainOfThought": "চিন্তার শৃঙ্খল লুকান",
40
+ "darkMode": "ডার্ক মোড"
41
+ },
42
+ "detailsButton": {
43
+ "using": "ব্যবহার",
44
+ "running": "চলমান",
45
+ "took_one": "{{count}} পদক্ষেপ নিয়েছে",
46
+ "took_other": "{{count}}টি পদক্ষেপ নিয়েছে"
47
+ },
48
+ "auth": {
49
+ "authLogin": {
50
+ "title": "অ্যাপটি অ্যাক্সেস করতে লগইন করুন।",
51
+ "form": {
52
+ "email": "ই-মেইল ঠিকানা",
53
+ "password": "পাসওয়ার্ড",
54
+ "noAccount": "কোনও অ্যাকাউন্ট নেই?",
55
+ "alreadyHaveAccount": "ইতিমধ্যে একটি অ্যাকাউন্ট আছে?",
56
+ "signup": "সাইন আপ করো",
57
+ "signin": "সাইন ইন করো",
58
+ "or": "বা",
59
+ "continue": "অবিরত",
60
+ "forgotPassword": "পাসওয়ার্ড ভুলে গেছেন?",
61
+ "passwordMustContain": "আপনার পাসওয়ার্ডে অবশ্যই থাকতে হবে:",
62
+ "emailRequired": "ইমেল একটি প্রয়োজনীয় ক্ষেত্র",
63
+ "passwordRequired": "পাসওয়ার্ড একটি আবশ্যক ক্ষেত্র"
64
+ },
65
+ "error": {
66
+ "default": "সাইন ইন করতে অক্ষম।",
67
+ "signin": "একটি ভিন্ন অ্যাকাউন্ট দিয়ে সাইন ইন করার চেষ্টা করুন।",
68
+ "oauthsignin": "একটি ভিন্ন অ্যাকাউন্ট দিয়ে সাইন ইন করার চেষ্টা করুন।",
69
+ "redirect_uri_mismatch": "পুনঃনির্দেশিত URI OAUTH অ্যাপ কনফিগারেশনের সাথে মিলছে না।",
70
+ "oauthcallbackerror": "একটি ভিন্ন অ্যাকাউন্ট দিয়ে সাইন ইন করার চেষ্টা করুন।",
71
+ "oauthcreateaccount": "একটি ভিন্ন অ্যাকাউন্ট দিয়ে সাইন ইন করার চেষ্টা করুন।",
72
+ "emailcreateaccount": "একটি ভিন্ন অ্যাকাউন্ট দিয়ে সাইন ইন করার চেষ্টা করুন।",
73
+ "callback": "একটি ভিন্ন অ্যাকাউন্ট দিয়ে সাইন ইন করার চেষ্টা করুন।",
74
+ "oauthaccountnotlinked": "আপনার পরিচয় নিশ্চিত করতে, আপনি মূলত যে অ্যাকাউন্টটি ব্যবহার করেছেন সেই একই অ্যাকাউন্ট দিয়ে সাইন ইন করুন।",
75
+ "emailsignin": "ই-মেইলটি প্রেরণ করা যায়নি।",
76
+ "emailverify": "অনুগ্রহ করে আপনার ইমেলটি যাচাই করুন, একটি নতুন ইমেল প্রেরণ করা হয়েছে।",
77
+ "credentialssignin": "সাইন ইন ব্যর্থ হয়েছে। আপনার প্রদত্ত বিবরণগুলি সঠিক কিনা তা পরীক্ষা করুন।",
78
+ "sessionrequired": "এই পৃষ্ঠাটি অ্যাক্সেস করতে দয়া করে সাইন ইন করুন।"
79
+ }
80
+ },
81
+ "authVerifyEmail": {
82
+ "almostThere": "আপনি প্রায় সেখানে পৌঁছেছেন! আমরা একটি ইমেইল পাঠিয়েছি ",
83
+ "verifyEmailLink": "আপনার সাইনআপ সম্পূর্ণ করতে দয়া করে সেই ইমেলের লিঙ্কটিতে ক্লিক করুন।",
84
+ "didNotReceive": "ইমেইল খুঁজে পাচ্ছেন না?",
85
+ "resendEmail": "ইমেইল পুনরায় পাঠান",
86
+ "goBack": "ফিরে যাও",
87
+ "emailSent": "ইমেল সফলভাবে পাঠানো হয়েছে।",
88
+ "verifyEmail": "আপনার ইমেল ঠিকানা যাচাই করুন"
89
+ },
90
+ "providerButton": {
91
+ "continue": "{{provider}} দিয়ে চালিয়ে যান",
92
+ "signup": "{{provider}} দিয়ে সাইন আপ করুন"
93
+ },
94
+ "authResetPassword": {
95
+ "newPasswordRequired": "নতুন পাসওয়ার্ড একটি আবশ্যক ক্ষেত্র",
96
+ "passwordsMustMatch": "পাসওয়ার্ড অবশ্যই মিলতে হবে",
97
+ "confirmPasswordRequired": "পাসওয়ার্ড নিশ্চিত করা একটি আবশ্যক ক্ষেত্র",
98
+ "newPassword": "নতুন পাসওয়ার্ড",
99
+ "confirmPassword": "পাসওয়ার্ড নিশ্চিত করুন",
100
+ "resetPassword": "পাসওয়ার্ড রিসেট করুন"
101
+ },
102
+ "authForgotPassword": {
103
+ "email": "ই-মেইল ঠিকানা",
104
+ "emailRequired": "ইমেল একটি প্রয়োজনীয় ক্ষেত্র",
105
+ "emailSent": "আপনার পাসওয়ার্ডটি পুনরায় সেট করার নির্দেশাবলীর জন্য দয়া করে ইমেল ঠিকানা {{email}} পরীক্ষা করুন।",
106
+ "enterEmail": "আপনার ইমেল ঠিকানা লিখুন এবং আমরা আপনাকে আপনার পাসওয়ার্ড পুনরায় সেট করতে নির্দেশাবলী পাঠাব।",
107
+ "resendEmail": "ইমেইল পুনরায় পাঠান",
108
+ "continue": "অবিরত",
109
+ "goBack": "ফিরে যাও"
110
+ }
111
+ }
112
+ },
113
+ "organisms": {
114
+ "chat": {
115
+ "history": {
116
+ "index": {
117
+ "showHistory": "ইতিহাস দেখান",
118
+ "lastInputs": "সর্বশেষ ইনপুট",
119
+ "noInputs": "এত ফাঁকা...",
120
+ "loading": "লোড।।।"
121
+ }
122
+ },
123
+ "inputBox": {
124
+ "input": {
125
+ "placeholder": "এখানে আপনার বার্তা টাইপ করুন..."
126
+ },
127
+ "speechButton": {
128
+ "start": "রেকর্ডিং শুরু করুন",
129
+ "stop": "রেকর্ডিং বন্ধ করুন"
130
+ },
131
+ "SubmitButton": {
132
+ "sendMessage": "বার্তা প্রেরণ করুন",
133
+ "stopTask": "স্টপ টাস্ক"
134
+ },
135
+ "UploadButton": {
136
+ "attachFiles": "ফাইল সংযুক্ত করুন"
137
+ },
138
+ "waterMark": {
139
+ "text": "সঙ্গে নির্মিত"
140
+ }
141
+ },
142
+ "Messages": {
143
+ "index": {
144
+ "running": "চলমান",
145
+ "executedSuccessfully": "সফলভাবে সম্পাদিত হয়েছে",
146
+ "failed": "ব্যর্থ",
147
+ "feedbackUpdated": "ফিডব্যাক আপডেট হয়েছে",
148
+ "updating": "আধুনিকীকরণ"
149
+ }
150
+ },
151
+ "dropScreen": {
152
+ "dropYourFilesHere": "আপনার ফাইলগুলি এখানে ফেলে দিন"
153
+ },
154
+ "index": {
155
+ "failedToUpload": "আপলোড করতে ব্যর্থ হয়েছে",
156
+ "cancelledUploadOf": "এর আপলোড বাতিল",
157
+ "couldNotReachServer": "সার্ভারে পৌঁছানো যায়নি",
158
+ "continuingChat": "পূর্ববর্তী চ্যাট অবিরত রাখা"
159
+ },
160
+ "settings": {
161
+ "settingsPanel": "সেটিংস প্যানেল",
162
+ "reset": "রিসেট",
163
+ "cancel": "বাতিল",
164
+ "confirm": "নিশ্চিত"
165
+ }
166
+ },
167
+ "threadHistory": {
168
+ "sidebar": {
169
+ "filters": {
170
+ "FeedbackSelect": {
171
+ "feedbackAll": "প্রতিক্রিয়া: সব",
172
+ "feedbackPositive": "প্রতিক্রিয়া: ইতিবাচক",
173
+ "feedbackNegative": "প্রতিক্রিয়া: নেতিবাচক"
174
+ },
175
+ "SearchBar": {
176
+ "search": "সন্ধান"
177
+ }
178
+ },
179
+ "DeleteThreadButton": {
180
+ "confirmMessage": "এটি থ্রেডের পাশাপাশি এর বার্তা এবং উপাদানগুলিও মুছে ফেলবে।",
181
+ "cancel": "বাতিল",
182
+ "confirm": "নিশ্চিত",
183
+ "deletingChat": "চ্যাট মোছা হচ্ছে",
184
+ "chatDeleted": "চ্যাট মোছা হয়েছে"
185
+ },
186
+ "index": {
187
+ "pastChats": "অতীত চ্যাট"
188
+ },
189
+ "ThreadList": {
190
+ "empty": "খালি।।।",
191
+ "today": "আজ",
192
+ "yesterday": "গতকাল",
193
+ "previous7days": "Previous 7 দিন",
194
+ "previous30days": "পূর্ববর্তী 30 দিন"
195
+ },
196
+ "TriggerButton": {
197
+ "closeSidebar": "সাইডবার বন্ধ করুন",
198
+ "openSidebar": "সাইডবার খুলুন"
199
+ }
200
+ },
201
+ "Thread": {
202
+ "backToChat": "চ্যাটে ফিরে যান",
203
+ "chatCreatedOn": "এই চ্যাটটি তৈরি করা হয়েছিল"
204
+ }
205
+ },
206
+ "header": {
207
+ "chat": "আলাপ",
208
+ "readme": "রিডমি"
209
+ }
210
+ }
211
+ },
212
+ "hooks": {
213
+ "useLLMProviders": {
214
+ "failedToFetchProviders": "সরবরাহকারীদের আনতে ব্যর্থ:"
215
+ }
216
+ },
217
+ "pages": {
218
+ "Design": {},
219
+ "Env": {
220
+ "savedSuccessfully": "সফলভাবে সংরক্ষণ করা হয়েছে",
221
+ "requiredApiKeys": "আবশ্যক API কী",
222
+ "requiredApiKeysInfo": "এই অ্যাপটি ব্যবহার করতে, নিম্নলিখিত API কীগুলির প্রয়োজন। কীগুলি আপনার ডিভাইসের স্থানীয় স্টোরেজে সঞ্চিত রয়েছে।"
223
+ },
224
+ "Page": {
225
+ "notPartOfProject": "আপনি এই প্রকল্পের অংশ নন।"
226
+ },
227
+ "ResumeButton": {
228
+ "resumeChat": "চ্যাট পুনরায় শুরু করুন"
229
+ }
230
+ }
231
+ }
@@ -16,6 +16,9 @@
16
16
  "newChatButton": {
17
17
  "newChat": "New Chat"
18
18
  },
19
+ "newAssistantButton": {
20
+ "newAssistant": "New Assistant"
21
+ },
19
22
  "tasklist": {
20
23
  "TaskList": {
21
24
  "title": "🗒️ Task List",
@@ -109,6 +112,9 @@
109
112
  }
110
113
  },
111
114
  "organisms": {
115
+ "assistantCreationModal": {
116
+ "title": "Create new assistant"
117
+ },
112
118
  "chat": {
113
119
  "history": {
114
120
  "index": {
@@ -0,0 +1,236 @@
1
+ {
2
+ "components": {
3
+ "atoms": {
4
+ "buttons": {
5
+ "userButton": {
6
+ "menu": {
7
+ "settings": "Paramètres",
8
+ "settingsKey": "P",
9
+ "APIKeys": "Clés API",
10
+ "logout": "Déconnexion"
11
+ }
12
+ }
13
+ }
14
+ },
15
+ "molecules": {
16
+ "newChatButton": {
17
+ "newChat": "Nouveau Chat"
18
+ },
19
+ "newAssistantButton": {
20
+ "newAssistant": "Nouveau Chatbot"
21
+ },
22
+ "tasklist": {
23
+ "TaskList": {
24
+ "title": "🗒️ Liste des Tâches",
25
+ "loading": "Chargement...",
26
+ "error": "Une erreur s'est produite"
27
+ }
28
+ },
29
+ "attachments": {
30
+ "cancelUpload": "Annuler le téléchargement",
31
+ "removeAttachment": "Supprimer la pièce jointe"
32
+ },
33
+ "newChatDialog": {
34
+ "createNewChat": "Créer un nouveau chat ?",
35
+ "clearChat": "Cela effacera les messages actuels et commencera un nouveau chat.",
36
+ "cancel": "Annuler",
37
+ "confirm": "Confirmer"
38
+ },
39
+ "settingsModal": {
40
+ "settings": "Paramètres",
41
+ "expandMessages": "Développer les Messages",
42
+ "hideChainOfThought": "Masquer la Chaîne de Pensée",
43
+ "darkMode": "Mode Sombre"
44
+ },
45
+ "detailsButton": {
46
+ "using": "Utilisation",
47
+ "used": "Utilisé"
48
+ },
49
+ "auth": {
50
+ "authLogin": {
51
+ "title": "Connectez-vous pour accéder à l'application.",
52
+ "form": {
53
+ "email": "Adresse e-mail",
54
+ "password": "Mot de passe",
55
+ "noAccount": "Vous n'avez pas de compte ?",
56
+ "alreadyHaveAccount": "Vous avez déjà un compte ?",
57
+ "signup": "S'inscrire",
58
+ "signin": "Se connecter",
59
+ "or": "OU",
60
+ "continue": "Continuer",
61
+ "forgotPassword": "Mot de passe oublié ?",
62
+ "passwordMustContain": "Votre mot de passe doit contenir :",
63
+ "emailRequired": "l'email est un champ obligatoire",
64
+ "passwordRequired": "le mot de passe est un champ obligatoire"
65
+ },
66
+ "error": {
67
+ "default": "Impossible de se connecter.",
68
+ "signin": "Essayez de vous connecter avec un autre compte.",
69
+ "oauthsignin": "Essayez de vous connecter avec un autre compte.",
70
+ "redirect_uri_mismatch": "L'URI de redirection ne correspond pas à la configuration de l'application oauth.",
71
+ "oauthcallbackerror": "Essayez de vous connecter avec un autre compte.",
72
+ "oauthcreateaccount": "Essayez de vous connecter avec un autre compte.",
73
+ "emailcreateaccount": "Essayez de vous connecter avec un autre compte.",
74
+ "callback": "Essayez de vous connecter avec un autre compte.",
75
+ "oauthaccountnotlinked": "Pour confirmer votre identité, connectez-vous avec le même compte que celui utilisé à l'origine.",
76
+ "emailsignin": "L'e-mail n'a pas pu être envoyé.",
77
+ "emailverify": "Veuillez vérifier votre e-mail, un nouvel e-mail a été envoyé.",
78
+ "credentialssignin": "Échec de la connexion. Vérifiez que les informations fournies sont correctes.",
79
+ "sessionrequired": "Veuillez vous connecter pour accéder à cette page."
80
+ }
81
+ },
82
+ "authVerifyEmail": {
83
+ "almostThere": "Vous y êtes presque ! Nous avons envoyé un e-mail à ",
84
+ "verifyEmailLink": "Veuillez cliquer sur le lien dans cet e-mail pour terminer votre inscription.",
85
+ "didNotReceive": "Vous ne trouvez pas l'e-mail ?",
86
+ "resendEmail": "Renvoyer l'e-mail",
87
+ "goBack": "Retour",
88
+ "emailSent": "E-mail envoyé avec succès.",
89
+ "verifyEmail": "Vérifiez votre adresse e-mail"
90
+ },
91
+ "providerButton": {
92
+ "continue": "Continuer avec {{provider}}",
93
+ "signup": "S'inscrire avec {{provider}}"
94
+ },
95
+ "authResetPassword": {
96
+ "newPasswordRequired": "Le nouveau mot de passe est un champ obligatoire",
97
+ "passwordsMustMatch": "Les mots de passe doivent correspondre",
98
+ "confirmPasswordRequired": "La confirmation du mot de passe est un champ obligatoire",
99
+ "newPassword": "Nouveau mot de passe",
100
+ "confirmPassword": "Confirmer le mot de passe",
101
+ "resetPassword": "Réinitialiser le mot de passe"
102
+ },
103
+ "authForgotPassword": {
104
+ "email": "Adresse e-mail",
105
+ "emailRequired": "l'email est un champ obligatoire",
106
+ "emailSent": "Veuillez vérifier l'adresse e-mail {{email}} pour les instructions de réinitialisation de votre mot de passe.",
107
+ "enterEmail": "Entrez votre adresse e-mail et nous vous enverrons des instructions pour réinitialiser votre mot de passe.",
108
+ "resendEmail": "Renvoyer l'e-mail",
109
+ "continue": "Continuer",
110
+ "goBack": "Retour"
111
+ }
112
+ }
113
+ },
114
+ "organisms": {
115
+ "assistantCreationModal": {
116
+ "title": "Créer un nouveau chatbot"
117
+ },
118
+ "chat": {
119
+ "history": {
120
+ "index": {
121
+ "showHistory": "Afficher l'historique",
122
+ "lastInputs": "Dernières Entrées",
123
+ "noInputs": "Si vide...",
124
+ "loading": "Chargement..."
125
+ }
126
+ },
127
+ "inputBox": {
128
+ "input": {
129
+ "placeholder": "Tapez votre message ici..."
130
+ },
131
+ "speechButton": {
132
+ "start": "Commencer l'enregistrement",
133
+ "stop": "Arrêter l'enregistrement"
134
+ },
135
+ "SubmitButton": {
136
+ "sendMessage": "Envoyer le message",
137
+ "stopTask": "Arrêter la Tâche"
138
+ },
139
+ "UploadButton": {
140
+ "attachFiles": "Joindre des fichiers"
141
+ },
142
+ "waterMark": {
143
+ "text": "Construit avec"
144
+ }
145
+ },
146
+ "Messages": {
147
+ "index": {
148
+ "running": "En cours",
149
+ "executedSuccessfully": "exécuté avec succès",
150
+ "failed": "échoué",
151
+ "feedbackUpdated": "Retour mis à jour",
152
+ "updating": "Mise à jour"
153
+ }
154
+ },
155
+ "dropScreen": {
156
+ "dropYourFilesHere": "Déposez vos fichiers ici"
157
+ },
158
+ "index": {
159
+ "failedToUpload": "Échec du téléchargement",
160
+ "cancelledUploadOf": "Téléchargement annulé de",
161
+ "couldNotReachServer": "Impossible de joindre le serveur",
162
+ "continuingChat": "Continuer le chat précédent"
163
+ },
164
+ "settings": {
165
+ "settingsPanel": "Panneau de paramètres",
166
+ "reset": "Réinitialiser",
167
+ "cancel": "Annuler",
168
+ "confirm": "Confirmer"
169
+ }
170
+ },
171
+ "threadHistory": {
172
+ "sidebar": {
173
+ "filters": {
174
+ "FeedbackSelect": {
175
+ "feedbackAll": "Retour : Tout",
176
+ "feedbackPositive": "Retour : Positif",
177
+ "feedbackNegative": "Retour : Négatif"
178
+ },
179
+ "SearchBar": {
180
+ "search": "Rechercher"
181
+ }
182
+ },
183
+ "DeleteThreadButton": {
184
+ "confirmMessage": "Cela supprimera le fil ainsi que ses messages et éléments.",
185
+ "cancel": "Annuler",
186
+ "confirm": "Confirmer",
187
+ "deletingChat": "Suppression du chat",
188
+ "chatDeleted": "Chat supprimé"
189
+ },
190
+ "index": {
191
+ "pastChats": "Chats Passés"
192
+ },
193
+ "ThreadList": {
194
+ "empty": "Vide...",
195
+ "today": "Aujourd'hui",
196
+ "yesterday": "Hier",
197
+ "previous7days": "7 derniers jours",
198
+ "previous30days": "30 derniers jours"
199
+ },
200
+ "TriggerButton": {
201
+ "closeSidebar": "Fermer la barre latérale",
202
+ "openSidebar": "Ouvrir la barre latérale"
203
+ }
204
+ },
205
+ "Thread": {
206
+ "backToChat": "Retour au chat",
207
+ "chatCreatedOn": "Ce chat a été créé le"
208
+ }
209
+ },
210
+ "header": {
211
+ "chat": "Chat",
212
+ "readme": "Lisez-moi"
213
+ }
214
+ }
215
+ },
216
+ "hooks": {
217
+ "useLLMProviders": {
218
+ "failedToFetchProviders": "Échec de la récupération des fournisseurs :"
219
+ }
220
+ },
221
+ "pages": {
222
+ "Design": {},
223
+ "Env": {
224
+ "savedSuccessfully": "Enregistré avec succès",
225
+ "requiredApiKeys": "Clés API Requises",
226
+ "requiredApiKeysInfo": "Pour utiliser cette application, les clés API suivantes sont requises. Les clés sont stockées dans le stockage local de votre appareil."
227
+ },
228
+ "Page": {
229
+ "notPartOfProject": "Vous ne faites pas partie de ce projet."
230
+ },
231
+ "ResumeButton": {
232
+ "resumeChat": "Reprendre le Chat"
233
+ }
234
+ }
235
+ }
236
+