PraisonAI 2.0.12__cp311-cp311-macosx_15_0_arm64.whl → 2.2.16__cp311-cp311-macosx_15_0_arm64.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 PraisonAI might be problematic. Click here for more details.

Files changed (40) hide show
  1. praisonai/README.md +5 -0
  2. praisonai/agents_generator.py +83 -44
  3. praisonai/api/call.py +3 -3
  4. praisonai/auto.py +1 -1
  5. praisonai/cli.py +151 -16
  6. praisonai/deploy.py +1 -1
  7. praisonai/inbuilt_tools/__init__.py +1 -1
  8. praisonai/public/praison-ai-agents-architecture-dark.png +0 -0
  9. praisonai/public/praison-ai-agents-architecture.png +0 -0
  10. praisonai/setup/setup_conda_env.sh +55 -22
  11. praisonai/train.py +442 -156
  12. praisonai/train_vision.py +306 -0
  13. praisonai/ui/agents.py +822 -0
  14. praisonai/ui/callbacks.py +57 -0
  15. praisonai/ui/code.py +4 -2
  16. praisonai/ui/colab.py +474 -0
  17. praisonai/ui/colab_chainlit.py +81 -0
  18. praisonai/ui/config/chainlit.md +1 -1
  19. praisonai/ui/realtime.py +65 -10
  20. praisonai/ui/sql_alchemy.py +6 -5
  21. praisonai/ui/tools.md +133 -0
  22. praisonai/upload_vision.py +140 -0
  23. praisonai-2.2.16.dist-info/METADATA +103 -0
  24. {praisonai-2.0.12.dist-info → praisonai-2.2.16.dist-info}/RECORD +26 -29
  25. {praisonai-2.0.12.dist-info → praisonai-2.2.16.dist-info}/WHEEL +1 -1
  26. praisonai/ui/config/.chainlit/config.toml +0 -120
  27. praisonai/ui/config/.chainlit/translations/bn.json +0 -231
  28. praisonai/ui/config/.chainlit/translations/en-US.json +0 -229
  29. praisonai/ui/config/.chainlit/translations/gu.json +0 -231
  30. praisonai/ui/config/.chainlit/translations/he-IL.json +0 -231
  31. praisonai/ui/config/.chainlit/translations/hi.json +0 -231
  32. praisonai/ui/config/.chainlit/translations/kn.json +0 -231
  33. praisonai/ui/config/.chainlit/translations/ml.json +0 -231
  34. praisonai/ui/config/.chainlit/translations/mr.json +0 -231
  35. praisonai/ui/config/.chainlit/translations/ta.json +0 -231
  36. praisonai/ui/config/.chainlit/translations/te.json +0 -231
  37. praisonai/ui/config/.chainlit/translations/zh-CN.json +0 -229
  38. praisonai-2.0.12.dist-info/LICENSE +0 -20
  39. praisonai-2.0.12.dist-info/METADATA +0 -498
  40. {praisonai-2.0.12.dist-info → praisonai-2.2.16.dist-info}/entry_points.txt +0 -0
@@ -1,120 +0,0 @@
1
- [project]
2
- # Whether to enable telemetry (default: true). No personal data is collected.
3
- enable_telemetry = false
4
-
5
- # List of environment variables to be provided by each user to use the app.
6
- user_env = []
7
-
8
- # Duration (in seconds) during which the session is saved when the connection is lost
9
- session_timeout = 3600
10
-
11
- # Enable third parties caching (e.g LangChain cache)
12
- cache = false
13
-
14
- # Authorized origins
15
- allow_origins = ["*"]
16
-
17
- # Follow symlink for asset mount (see https://github.com/Chainlit/chainlit/issues/317)
18
- # follow_symlink = false
19
-
20
- [features]
21
- # Process and display HTML in messages. This can be a security risk (see https://stackoverflow.com/questions/19603097/why-is-it-dangerous-to-render-user-generated-html-or-javascript)
22
- unsafe_allow_html = false
23
-
24
- # Process and display mathematical expressions. This can clash with "$" characters in messages.
25
- latex = false
26
-
27
- # Automatically tag threads with the current chat profile (if a chat profile is used)
28
- auto_tag_thread = true
29
-
30
- # Allow users to edit their own messages
31
- edit_message = true
32
-
33
- # Authorize users to spontaneously upload files with messages
34
- [features.spontaneous_file_upload]
35
- enabled = true
36
- accept = ["*/*"]
37
- max_files = 20
38
- max_size_mb = 500
39
-
40
- [features.audio]
41
- # Threshold for audio recording
42
- min_decibels = -45
43
- # Delay for the user to start speaking in MS
44
- initial_silence_timeout = 3000
45
- # Delay for the user to continue speaking in MS. If the user stops speaking for this duration, the recording will stop.
46
- silence_timeout = 1500
47
- # Above this duration (MS), the recording will forcefully stop.
48
- max_duration = 15000
49
- # Duration of the audio chunks in MS
50
- chunk_duration = 1000
51
- # Sample rate of the audio
52
- sample_rate = 44100
53
-
54
- [UI]
55
- # Name of the assistant.
56
- name = "Assistant"
57
-
58
- # Description of the assistant. This is used for HTML tags.
59
- # description = ""
60
-
61
- # Large size content are by default collapsed for a cleaner ui
62
- default_collapse_content = true
63
-
64
- # Chain of Thought (CoT) display mode. Can be "hidden", "tool_call" or "full".
65
- cot = "full"
66
-
67
- # Link to your github repo. This will add a github button in the UI's header.
68
- # github = ""
69
-
70
- # Specify a CSS file that can be used to customize the user interface.
71
- # The CSS file can be served from the public directory or via an external link.
72
- custom_css = "https://cdn.jsdelivr.net/gh/MervinPraison/PraisonAI@2.0.0/praisonai/ui/public/praison.css"
73
-
74
- # Specify a Javascript file that can be used to customize the user interface.
75
- # The Javascript file can be served from the public directory.
76
- # custom_js = "/public/test.js"
77
-
78
- # Specify a custom font url.
79
- # custom_font = "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap"
80
-
81
- # Specify a custom meta image url.
82
- # custom_meta_image_url = "https://chainlit-cloud.s3.eu-west-3.amazonaws.com/logo/chainlit_banner.png"
83
-
84
- # Specify a custom build directory for the frontend.
85
- # This can be used to customize the frontend code.
86
- # Be careful: If this is a relative path, it should not start with a slash.
87
- # custom_build = "./public/build"
88
-
89
- [UI.theme]
90
- default = "dark"
91
- #layout = "wide"
92
- #font_family = "Inter, sans-serif"
93
- # Override default MUI light theme. (Check theme.ts)
94
- [UI.theme.light]
95
- #background = "#FAFAFA"
96
- #paper = "#FFFFFF"
97
-
98
- [UI.theme.light.primary]
99
- #main = "#F80061"
100
- #dark = "#980039"
101
- #light = "#FFE7EB"
102
- [UI.theme.light.text]
103
- #primary = "#212121"
104
- #secondary = "#616161"
105
-
106
- # Override default MUI dark theme. (Check theme.ts)
107
- [UI.theme.dark]
108
- #background = "#FAFAFA"
109
- #paper = "#FFFFFF"
110
-
111
- [UI.theme.dark.primary]
112
- #main = "#F80061"
113
- #dark = "#980039"
114
- #light = "#FFE7EB"
115
- [UI.theme.dark.text]
116
- #primary = "#EEEEEE"
117
- #secondary = "#BDBDBD"
118
-
119
- [meta]
120
- generated_by = "1.3.2"
@@ -1,231 +0,0 @@
1
- {
2
- "components": {
3
- "atoms": {
4
- "buttons": {
5
- "userButton": {
6
- "menu": {
7
- "settings": "\u09b8\u09c7\u099f\u09bf\u0982\u09b8",
8
- "settingsKey": "S",
9
- "APIKeys": "\u098f\u09aa\u09bf\u0986\u0987 \u0995\u09c0",
10
- "logout": "\u09b2\u0997\u0986\u0989\u099f"
11
- }
12
- }
13
- }
14
- },
15
- "molecules": {
16
- "newChatButton": {
17
- "newChat": "\u09a8\u09a4\u09c1\u09a8 \u0986\u09a1\u09cd\u09a1\u09be"
18
- },
19
- "tasklist": {
20
- "TaskList": {
21
- "title": "\ud83d\uddd2\ufe0f \u0995\u09be\u09b0\u09cd\u09af \u09a4\u09be\u09b2\u09bf\u0995\u09be",
22
- "loading": "\u09b2\u09cb\u09a1\u0964\u0964\u0964",
23
- "error": "\u098f\u0995\u099f\u09bf \u09a4\u09cd\u09b0\u09c1\u099f\u09bf \u09b8\u0982\u0998\u099f\u09bf\u09a4 \u09b9\u09af\u09bc\u09c7\u099b\u09c7"
24
- }
25
- },
26
- "attachments": {
27
- "cancelUpload": "\u0986\u09aa\u09b2\u09cb\u09a1 \u09ac\u09be\u09a4\u09bf\u09b2 \u0995\u09b0\u09c1\u09a8",
28
- "removeAttachment": "\u09b8\u0982\u09af\u09c1\u0995\u09cd\u09a4\u09bf \u09b8\u09b0\u09be\u09a8"
29
- },
30
- "newChatDialog": {
31
- "createNewChat": "\u09a8\u09a4\u09c1\u09a8 \u099a\u09cd\u09af\u09be\u099f \u09a4\u09c8\u09b0\u09bf \u0995\u09b0\u09ac\u09c7\u09a8?",
32
- "clearChat": "\u098f\u099f\u09bf \u09ac\u09b0\u09cd\u09a4\u09ae\u09be\u09a8 \u09ac\u09be\u09b0\u09cd\u09a4\u09be\u0997\u09c1\u09b2\u09bf \u09b8\u09be\u09ab \u0995\u09b0\u09ac\u09c7 \u098f\u09ac\u0982 \u098f\u0995\u099f\u09bf \u09a8\u09a4\u09c1\u09a8 \u099a\u09cd\u09af\u09be\u099f \u09b6\u09c1\u09b0\u09c1 \u0995\u09b0\u09ac\u09c7\u0964",
33
- "cancel": "\u09ac\u09be\u09a4\u09bf\u09b2",
34
- "confirm": "\u09a8\u09bf\u09b6\u09cd\u099a\u09bf\u09a4"
35
- },
36
- "settingsModal": {
37
- "settings": "\u09b8\u09c7\u099f\u09bf\u0982\u09b8",
38
- "expandMessages": "\u09ac\u09be\u09b0\u09cd\u09a4\u09be\u0997\u09c1\u09b2\u09bf \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09bf\u09a4 \u0995\u09b0\u09c1\u09a8",
39
- "hideChainOfThought": "\u099a\u09bf\u09a8\u09cd\u09a4\u09be\u09b0 \u09b6\u09c3\u0999\u09cd\u0996\u09b2 \u09b2\u09c1\u0995\u09be\u09a8",
40
- "darkMode": "\u09a1\u09be\u09b0\u09cd\u0995 \u09ae\u09cb\u09a1"
41
- },
42
- "detailsButton": {
43
- "using": "\u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0",
44
- "running": "\u099a\u09b2\u09ae\u09be\u09a8",
45
- "took_one": "{{count}} \u09aa\u09a6\u0995\u09cd\u09b7\u09c7\u09aa \u09a8\u09bf\u09af\u09bc\u09c7\u099b\u09c7",
46
- "took_other": "{{count}}\u099f\u09bf \u09aa\u09a6\u0995\u09cd\u09b7\u09c7\u09aa \u09a8\u09bf\u09af\u09bc\u09c7\u099b\u09c7"
47
- },
48
- "auth": {
49
- "authLogin": {
50
- "title": "\u0985\u09cd\u09af\u09be\u09aa\u099f\u09bf \u0985\u09cd\u09af\u09be\u0995\u09cd\u09b8\u09c7\u09b8 \u0995\u09b0\u09a4\u09c7 \u09b2\u0997\u0987\u09a8 \u0995\u09b0\u09c1\u09a8\u0964",
51
- "form": {
52
- "email": "\u0987-\u09ae\u09c7\u0987\u09b2 \u09a0\u09bf\u0995\u09be\u09a8\u09be",
53
- "password": "\u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1",
54
- "noAccount": "\u0995\u09cb\u09a8\u0993 \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a8\u09c7\u0987?",
55
- "alreadyHaveAccount": "\u0987\u09a4\u09bf\u09ae\u09a7\u09cd\u09af\u09c7 \u098f\u0995\u099f\u09bf \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u0986\u099b\u09c7?",
56
- "signup": "\u09b8\u09be\u0987\u09a8 \u0986\u09aa \u0995\u09b0\u09cb",
57
- "signin": "\u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09cb",
58
- "or": "\u09ac\u09be",
59
- "continue": "\u0985\u09ac\u09bf\u09b0\u09a4",
60
- "forgotPassword": "\u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1 \u09ad\u09c1\u09b2\u09c7 \u0997\u09c7\u099b\u09c7\u09a8?",
61
- "passwordMustContain": "\u0986\u09aa\u09a8\u09be\u09b0 \u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1\u09c7 \u0985\u09ac\u09b6\u09cd\u09af\u0987 \u09a5\u09be\u0995\u09a4\u09c7 \u09b9\u09ac\u09c7:",
62
- "emailRequired": "\u0987\u09ae\u09c7\u09b2 \u098f\u0995\u099f\u09bf \u09aa\u09cd\u09b0\u09af\u09bc\u09cb\u099c\u09a8\u09c0\u09af\u09bc \u0995\u09cd\u09b7\u09c7\u09a4\u09cd\u09b0",
63
- "passwordRequired": "\u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1 \u098f\u0995\u099f\u09bf \u0986\u09ac\u09b6\u09cd\u09af\u0995 \u0995\u09cd\u09b7\u09c7\u09a4\u09cd\u09b0"
64
- },
65
- "error": {
66
- "default": "\u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09a4\u09c7 \u0985\u0995\u09cd\u09b7\u09ae\u0964",
67
- "signin": "\u098f\u0995\u099f\u09bf \u09ad\u09bf\u09a8\u09cd\u09a8 \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09be\u09b0 \u099a\u09c7\u09b7\u09cd\u099f\u09be \u0995\u09b0\u09c1\u09a8\u0964",
68
- "oauthsignin": "\u098f\u0995\u099f\u09bf \u09ad\u09bf\u09a8\u09cd\u09a8 \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09be\u09b0 \u099a\u09c7\u09b7\u09cd\u099f\u09be \u0995\u09b0\u09c1\u09a8\u0964",
69
- "redirect_uri_mismatch": "\u09aa\u09c1\u09a8\u0983\u09a8\u09bf\u09b0\u09cd\u09a6\u09c7\u09b6\u09bf\u09a4 URI OAUTH \u0985\u09cd\u09af\u09be\u09aa \u0995\u09a8\u09ab\u09bf\u0997\u09be\u09b0\u09c7\u09b6\u09a8\u09c7\u09b0 \u09b8\u09be\u09a5\u09c7 \u09ae\u09bf\u09b2\u099b\u09c7 \u09a8\u09be\u0964",
70
- "oauthcallbackerror": "\u098f\u0995\u099f\u09bf \u09ad\u09bf\u09a8\u09cd\u09a8 \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09be\u09b0 \u099a\u09c7\u09b7\u09cd\u099f\u09be \u0995\u09b0\u09c1\u09a8\u0964",
71
- "oauthcreateaccount": "\u098f\u0995\u099f\u09bf \u09ad\u09bf\u09a8\u09cd\u09a8 \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09be\u09b0 \u099a\u09c7\u09b7\u09cd\u099f\u09be \u0995\u09b0\u09c1\u09a8\u0964",
72
- "emailcreateaccount": "\u098f\u0995\u099f\u09bf \u09ad\u09bf\u09a8\u09cd\u09a8 \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09be\u09b0 \u099a\u09c7\u09b7\u09cd\u099f\u09be \u0995\u09b0\u09c1\u09a8\u0964",
73
- "callback": "\u098f\u0995\u099f\u09bf \u09ad\u09bf\u09a8\u09cd\u09a8 \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09be\u09b0 \u099a\u09c7\u09b7\u09cd\u099f\u09be \u0995\u09b0\u09c1\u09a8\u0964",
74
- "oauthaccountnotlinked": "\u0986\u09aa\u09a8\u09be\u09b0 \u09aa\u09b0\u09bf\u099a\u09af\u09bc \u09a8\u09bf\u09b6\u09cd\u099a\u09bf\u09a4 \u0995\u09b0\u09a4\u09c7, \u0986\u09aa\u09a8\u09bf \u09ae\u09c2\u09b2\u09a4 \u09af\u09c7 \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f\u099f\u09bf \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09c7\u099b\u09c7\u09a8 \u09b8\u09c7\u0987 \u098f\u0995\u0987 \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09c1\u09a8\u0964",
75
- "emailsignin": "\u0987-\u09ae\u09c7\u0987\u09b2\u099f\u09bf \u09aa\u09cd\u09b0\u09c7\u09b0\u09a3 \u0995\u09b0\u09be \u09af\u09be\u09af\u09bc\u09a8\u09bf\u0964",
76
- "emailverify": "\u0985\u09a8\u09c1\u0997\u09cd\u09b0\u09b9 \u0995\u09b0\u09c7 \u0986\u09aa\u09a8\u09be\u09b0 \u0987\u09ae\u09c7\u09b2\u099f\u09bf \u09af\u09be\u099a\u09be\u0987 \u0995\u09b0\u09c1\u09a8, \u098f\u0995\u099f\u09bf \u09a8\u09a4\u09c1\u09a8 \u0987\u09ae\u09c7\u09b2 \u09aa\u09cd\u09b0\u09c7\u09b0\u09a3 \u0995\u09b0\u09be \u09b9\u09af\u09bc\u09c7\u099b\u09c7\u0964",
77
- "credentialssignin": "\u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u09ac\u09cd\u09af\u09b0\u09cd\u09a5 \u09b9\u09af\u09bc\u09c7\u099b\u09c7\u0964 \u0986\u09aa\u09a8\u09be\u09b0 \u09aa\u09cd\u09b0\u09a6\u09a4\u09cd\u09a4 \u09ac\u09bf\u09ac\u09b0\u09a3\u0997\u09c1\u09b2\u09bf \u09b8\u09a0\u09bf\u0995 \u0995\u09bf\u09a8\u09be \u09a4\u09be \u09aa\u09b0\u09c0\u0995\u09cd\u09b7\u09be \u0995\u09b0\u09c1\u09a8\u0964",
78
- "sessionrequired": "\u098f\u0987 \u09aa\u09c3\u09b7\u09cd\u09a0\u09be\u099f\u09bf \u0985\u09cd\u09af\u09be\u0995\u09cd\u09b8\u09c7\u09b8 \u0995\u09b0\u09a4\u09c7 \u09a6\u09af\u09bc\u09be \u0995\u09b0\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09c1\u09a8\u0964"
79
- }
80
- },
81
- "authVerifyEmail": {
82
- "almostThere": "\u0986\u09aa\u09a8\u09bf \u09aa\u09cd\u09b0\u09be\u09af\u09bc \u09b8\u09c7\u0996\u09be\u09a8\u09c7 \u09aa\u09cc\u0981\u099b\u09c7\u099b\u09c7\u09a8! \u0986\u09ae\u09b0\u09be \u098f\u0995\u099f\u09bf \u0987\u09ae\u09c7\u0987\u09b2 \u09aa\u09be\u09a0\u09bf\u09af\u09bc\u09c7\u099b\u09bf ",
83
- "verifyEmailLink": "\u0986\u09aa\u09a8\u09be\u09b0 \u09b8\u09be\u0987\u09a8\u0986\u09aa \u09b8\u09ae\u09cd\u09aa\u09c2\u09b0\u09cd\u09a3 \u0995\u09b0\u09a4\u09c7 \u09a6\u09af\u09bc\u09be \u0995\u09b0\u09c7 \u09b8\u09c7\u0987 \u0987\u09ae\u09c7\u09b2\u09c7\u09b0 \u09b2\u09bf\u0999\u09cd\u0995\u099f\u09bf\u09a4\u09c7 \u0995\u09cd\u09b2\u09bf\u0995 \u0995\u09b0\u09c1\u09a8\u0964",
84
- "didNotReceive": "\u0987\u09ae\u09c7\u0987\u09b2 \u0996\u09c1\u0981\u099c\u09c7 \u09aa\u09be\u099a\u09cd\u099b\u09c7\u09a8 \u09a8\u09be?",
85
- "resendEmail": "\u0987\u09ae\u09c7\u0987\u09b2 \u09aa\u09c1\u09a8\u09b0\u09be\u09af\u09bc \u09aa\u09be\u09a0\u09be\u09a8",
86
- "goBack": "\u09ab\u09bf\u09b0\u09c7 \u09af\u09be\u0993",
87
- "emailSent": "\u0987\u09ae\u09c7\u09b2 \u09b8\u09ab\u09b2\u09ad\u09be\u09ac\u09c7 \u09aa\u09be\u09a0\u09be\u09a8\u09cb \u09b9\u09af\u09bc\u09c7\u099b\u09c7\u0964",
88
- "verifyEmail": "\u0986\u09aa\u09a8\u09be\u09b0 \u0987\u09ae\u09c7\u09b2 \u09a0\u09bf\u0995\u09be\u09a8\u09be \u09af\u09be\u099a\u09be\u0987 \u0995\u09b0\u09c1\u09a8"
89
- },
90
- "providerButton": {
91
- "continue": "{{provider}} \u09a6\u09bf\u09af\u09bc\u09c7 \u099a\u09be\u09b2\u09bf\u09af\u09bc\u09c7 \u09af\u09be\u09a8",
92
- "signup": "{{provider}} \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0986\u09aa \u0995\u09b0\u09c1\u09a8"
93
- },
94
- "authResetPassword": {
95
- "newPasswordRequired": "\u09a8\u09a4\u09c1\u09a8 \u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1 \u098f\u0995\u099f\u09bf \u0986\u09ac\u09b6\u09cd\u09af\u0995 \u0995\u09cd\u09b7\u09c7\u09a4\u09cd\u09b0",
96
- "passwordsMustMatch": "\u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1 \u0985\u09ac\u09b6\u09cd\u09af\u0987 \u09ae\u09bf\u09b2\u09a4\u09c7 \u09b9\u09ac\u09c7",
97
- "confirmPasswordRequired": "\u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1 \u09a8\u09bf\u09b6\u09cd\u099a\u09bf\u09a4 \u0995\u09b0\u09be \u098f\u0995\u099f\u09bf \u0986\u09ac\u09b6\u09cd\u09af\u0995 \u0995\u09cd\u09b7\u09c7\u09a4\u09cd\u09b0",
98
- "newPassword": "\u09a8\u09a4\u09c1\u09a8 \u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1",
99
- "confirmPassword": "\u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1 \u09a8\u09bf\u09b6\u09cd\u099a\u09bf\u09a4 \u0995\u09b0\u09c1\u09a8",
100
- "resetPassword": "\u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1 \u09b0\u09bf\u09b8\u09c7\u099f \u0995\u09b0\u09c1\u09a8"
101
- },
102
- "authForgotPassword": {
103
- "email": "\u0987-\u09ae\u09c7\u0987\u09b2 \u09a0\u09bf\u0995\u09be\u09a8\u09be",
104
- "emailRequired": "\u0987\u09ae\u09c7\u09b2 \u098f\u0995\u099f\u09bf \u09aa\u09cd\u09b0\u09af\u09bc\u09cb\u099c\u09a8\u09c0\u09af\u09bc \u0995\u09cd\u09b7\u09c7\u09a4\u09cd\u09b0",
105
- "emailSent": "\u0986\u09aa\u09a8\u09be\u09b0 \u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1\u099f\u09bf \u09aa\u09c1\u09a8\u09b0\u09be\u09af\u09bc \u09b8\u09c7\u099f \u0995\u09b0\u09be\u09b0 \u09a8\u09bf\u09b0\u09cd\u09a6\u09c7\u09b6\u09be\u09ac\u09b2\u09c0\u09b0 \u099c\u09a8\u09cd\u09af \u09a6\u09af\u09bc\u09be \u0995\u09b0\u09c7 \u0987\u09ae\u09c7\u09b2 \u09a0\u09bf\u0995\u09be\u09a8\u09be {{email}} \u09aa\u09b0\u09c0\u0995\u09cd\u09b7\u09be \u0995\u09b0\u09c1\u09a8\u0964",
106
- "enterEmail": "\u0986\u09aa\u09a8\u09be\u09b0 \u0987\u09ae\u09c7\u09b2 \u09a0\u09bf\u0995\u09be\u09a8\u09be \u09b2\u09bf\u0996\u09c1\u09a8 \u098f\u09ac\u0982 \u0986\u09ae\u09b0\u09be \u0986\u09aa\u09a8\u09be\u0995\u09c7 \u0986\u09aa\u09a8\u09be\u09b0 \u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1 \u09aa\u09c1\u09a8\u09b0\u09be\u09af\u09bc \u09b8\u09c7\u099f \u0995\u09b0\u09a4\u09c7 \u09a8\u09bf\u09b0\u09cd\u09a6\u09c7\u09b6\u09be\u09ac\u09b2\u09c0 \u09aa\u09be\u09a0\u09be\u09ac\u0964",
107
- "resendEmail": "\u0987\u09ae\u09c7\u0987\u09b2 \u09aa\u09c1\u09a8\u09b0\u09be\u09af\u09bc \u09aa\u09be\u09a0\u09be\u09a8",
108
- "continue": "\u0985\u09ac\u09bf\u09b0\u09a4",
109
- "goBack": "\u09ab\u09bf\u09b0\u09c7 \u09af\u09be\u0993"
110
- }
111
- }
112
- },
113
- "organisms": {
114
- "chat": {
115
- "history": {
116
- "index": {
117
- "showHistory": "\u0987\u09a4\u09bf\u09b9\u09be\u09b8 \u09a6\u09c7\u0996\u09be\u09a8",
118
- "lastInputs": "\u09b8\u09b0\u09cd\u09ac\u09b6\u09c7\u09b7 \u0987\u09a8\u09aa\u09c1\u099f",
119
- "noInputs": "\u098f\u09a4 \u09ab\u09be\u0981\u0995\u09be...",
120
- "loading": "\u09b2\u09cb\u09a1\u0964\u0964\u0964"
121
- }
122
- },
123
- "inputBox": {
124
- "input": {
125
- "placeholder": "\u098f\u0996\u09be\u09a8\u09c7 \u0986\u09aa\u09a8\u09be\u09b0 \u09ac\u09be\u09b0\u09cd\u09a4\u09be \u099f\u09be\u0987\u09aa \u0995\u09b0\u09c1\u09a8..."
126
- },
127
- "speechButton": {
128
- "start": "\u09b0\u09c7\u0995\u09b0\u09cd\u09a1\u09bf\u0982 \u09b6\u09c1\u09b0\u09c1 \u0995\u09b0\u09c1\u09a8",
129
- "stop": "\u09b0\u09c7\u0995\u09b0\u09cd\u09a1\u09bf\u0982 \u09ac\u09a8\u09cd\u09a7 \u0995\u09b0\u09c1\u09a8"
130
- },
131
- "SubmitButton": {
132
- "sendMessage": "\u09ac\u09be\u09b0\u09cd\u09a4\u09be \u09aa\u09cd\u09b0\u09c7\u09b0\u09a3 \u0995\u09b0\u09c1\u09a8",
133
- "stopTask": "\u09b8\u09cd\u099f\u09aa \u099f\u09be\u09b8\u09cd\u0995"
134
- },
135
- "UploadButton": {
136
- "attachFiles": "\u09ab\u09be\u0987\u09b2 \u09b8\u0982\u09af\u09c1\u0995\u09cd\u09a4 \u0995\u09b0\u09c1\u09a8"
137
- },
138
- "waterMark": {
139
- "text": "\u09b8\u0999\u09cd\u0997\u09c7 \u09a8\u09bf\u09b0\u09cd\u09ae\u09bf\u09a4"
140
- }
141
- },
142
- "Messages": {
143
- "index": {
144
- "running": "\u099a\u09b2\u09ae\u09be\u09a8",
145
- "executedSuccessfully": "\u09b8\u09ab\u09b2\u09ad\u09be\u09ac\u09c7 \u09b8\u09ae\u09cd\u09aa\u09be\u09a6\u09bf\u09a4 \u09b9\u09af\u09bc\u09c7\u099b\u09c7",
146
- "failed": "\u09ac\u09cd\u09af\u09b0\u09cd\u09a5",
147
- "feedbackUpdated": "\u09ab\u09bf\u09a1\u09ac\u09cd\u09af\u09be\u0995 \u0986\u09aa\u09a1\u09c7\u099f \u09b9\u09af\u09bc\u09c7\u099b\u09c7",
148
- "updating": "\u0986\u09a7\u09c1\u09a8\u09bf\u0995\u09c0\u0995\u09b0\u09a3"
149
- }
150
- },
151
- "dropScreen": {
152
- "dropYourFilesHere": "\u0986\u09aa\u09a8\u09be\u09b0 \u09ab\u09be\u0987\u09b2\u0997\u09c1\u09b2\u09bf \u098f\u0996\u09be\u09a8\u09c7 \u09ab\u09c7\u09b2\u09c7 \u09a6\u09bf\u09a8"
153
- },
154
- "index": {
155
- "failedToUpload": "\u0986\u09aa\u09b2\u09cb\u09a1 \u0995\u09b0\u09a4\u09c7 \u09ac\u09cd\u09af\u09b0\u09cd\u09a5 \u09b9\u09af\u09bc\u09c7\u099b\u09c7",
156
- "cancelledUploadOf": "\u098f\u09b0 \u0986\u09aa\u09b2\u09cb\u09a1 \u09ac\u09be\u09a4\u09bf\u09b2",
157
- "couldNotReachServer": "\u09b8\u09be\u09b0\u09cd\u09ad\u09be\u09b0\u09c7 \u09aa\u09cc\u0981\u099b\u09be\u09a8\u09cb \u09af\u09be\u09af\u09bc\u09a8\u09bf",
158
- "continuingChat": "\u09aa\u09c2\u09b0\u09cd\u09ac\u09ac\u09b0\u09cd\u09a4\u09c0 \u099a\u09cd\u09af\u09be\u099f \u0985\u09ac\u09bf\u09b0\u09a4 \u09b0\u09be\u0996\u09be"
159
- },
160
- "settings": {
161
- "settingsPanel": "\u09b8\u09c7\u099f\u09bf\u0982\u09b8 \u09aa\u09cd\u09af\u09be\u09a8\u09c7\u09b2",
162
- "reset": "\u09b0\u09bf\u09b8\u09c7\u099f",
163
- "cancel": "\u09ac\u09be\u09a4\u09bf\u09b2",
164
- "confirm": "\u09a8\u09bf\u09b6\u09cd\u099a\u09bf\u09a4"
165
- }
166
- },
167
- "threadHistory": {
168
- "sidebar": {
169
- "filters": {
170
- "FeedbackSelect": {
171
- "feedbackAll": "\u09aa\u09cd\u09b0\u09a4\u09bf\u0995\u09cd\u09b0\u09bf\u09af\u09bc\u09be: \u09b8\u09ac",
172
- "feedbackPositive": "\u09aa\u09cd\u09b0\u09a4\u09bf\u0995\u09cd\u09b0\u09bf\u09af\u09bc\u09be: \u0987\u09a4\u09bf\u09ac\u09be\u099a\u0995",
173
- "feedbackNegative": "\u09aa\u09cd\u09b0\u09a4\u09bf\u0995\u09cd\u09b0\u09bf\u09af\u09bc\u09be: \u09a8\u09c7\u09a4\u09bf\u09ac\u09be\u099a\u0995"
174
- },
175
- "SearchBar": {
176
- "search": "\u09b8\u09a8\u09cd\u09a7\u09be\u09a8"
177
- }
178
- },
179
- "DeleteThreadButton": {
180
- "confirmMessage": "\u098f\u099f\u09bf \u09a5\u09cd\u09b0\u09c7\u09a1\u09c7\u09b0 \u09aa\u09be\u09b6\u09be\u09aa\u09be\u09b6\u09bf \u098f\u09b0 \u09ac\u09be\u09b0\u09cd\u09a4\u09be \u098f\u09ac\u0982 \u0989\u09aa\u09be\u09a6\u09be\u09a8\u0997\u09c1\u09b2\u09bf\u0993 \u09ae\u09c1\u099b\u09c7 \u09ab\u09c7\u09b2\u09ac\u09c7\u0964",
181
- "cancel": "\u09ac\u09be\u09a4\u09bf\u09b2",
182
- "confirm": "\u09a8\u09bf\u09b6\u09cd\u099a\u09bf\u09a4",
183
- "deletingChat": "\u099a\u09cd\u09af\u09be\u099f \u09ae\u09cb\u099b\u09be \u09b9\u099a\u09cd\u099b\u09c7",
184
- "chatDeleted": "\u099a\u09cd\u09af\u09be\u099f \u09ae\u09cb\u099b\u09be \u09b9\u09af\u09bc\u09c7\u099b\u09c7"
185
- },
186
- "index": {
187
- "pastChats": "\u0985\u09a4\u09c0\u09a4 \u099a\u09cd\u09af\u09be\u099f"
188
- },
189
- "ThreadList": {
190
- "empty": "\u0996\u09be\u09b2\u09bf\u0964\u0964\u0964",
191
- "today": "\u0986\u099c",
192
- "yesterday": "\u0997\u09a4\u0995\u09be\u09b2",
193
- "previous7days": "Previous 7 \u09a6\u09bf\u09a8",
194
- "previous30days": "\u09aa\u09c2\u09b0\u09cd\u09ac\u09ac\u09b0\u09cd\u09a4\u09c0 30 \u09a6\u09bf\u09a8"
195
- },
196
- "TriggerButton": {
197
- "closeSidebar": "\u09b8\u09be\u0987\u09a1\u09ac\u09be\u09b0 \u09ac\u09a8\u09cd\u09a7 \u0995\u09b0\u09c1\u09a8",
198
- "openSidebar": "\u09b8\u09be\u0987\u09a1\u09ac\u09be\u09b0 \u0996\u09c1\u09b2\u09c1\u09a8"
199
- }
200
- },
201
- "Thread": {
202
- "backToChat": "\u099a\u09cd\u09af\u09be\u099f\u09c7 \u09ab\u09bf\u09b0\u09c7 \u09af\u09be\u09a8",
203
- "chatCreatedOn": "\u098f\u0987 \u099a\u09cd\u09af\u09be\u099f\u099f\u09bf \u09a4\u09c8\u09b0\u09bf \u0995\u09b0\u09be \u09b9\u09af\u09bc\u09c7\u099b\u09bf\u09b2"
204
- }
205
- },
206
- "header": {
207
- "chat": "\u0986\u09b2\u09be\u09aa",
208
- "readme": "\u09b0\u09bf\u09a1\u09ae\u09bf"
209
- }
210
- }
211
- },
212
- "hooks": {
213
- "useLLMProviders": {
214
- "failedToFetchProviders": "\u09b8\u09b0\u09ac\u09b0\u09be\u09b9\u0995\u09be\u09b0\u09c0\u09a6\u09c7\u09b0 \u0986\u09a8\u09a4\u09c7 \u09ac\u09cd\u09af\u09b0\u09cd\u09a5:"
215
- }
216
- },
217
- "pages": {
218
- "Design": {},
219
- "Env": {
220
- "savedSuccessfully": "\u09b8\u09ab\u09b2\u09ad\u09be\u09ac\u09c7 \u09b8\u0982\u09b0\u0995\u09cd\u09b7\u09a3 \u0995\u09b0\u09be \u09b9\u09af\u09bc\u09c7\u099b\u09c7",
221
- "requiredApiKeys": "\u0986\u09ac\u09b6\u09cd\u09af\u0995 API \u0995\u09c0",
222
- "requiredApiKeysInfo": "\u098f\u0987 \u0985\u09cd\u09af\u09be\u09aa\u099f\u09bf \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09a4\u09c7, \u09a8\u09bf\u09ae\u09cd\u09a8\u09b2\u09bf\u0996\u09bf\u09a4 API \u0995\u09c0\u0997\u09c1\u09b2\u09bf\u09b0 \u09aa\u09cd\u09b0\u09af\u09bc\u09cb\u099c\u09a8\u0964 \u0995\u09c0\u0997\u09c1\u09b2\u09bf \u0986\u09aa\u09a8\u09be\u09b0 \u09a1\u09bf\u09ad\u09be\u0987\u09b8\u09c7\u09b0 \u09b8\u09cd\u09a5\u09be\u09a8\u09c0\u09af\u09bc \u09b8\u09cd\u099f\u09cb\u09b0\u09c7\u099c\u09c7 \u09b8\u099e\u09cd\u099a\u09bf\u09a4 \u09b0\u09af\u09bc\u09c7\u099b\u09c7\u0964"
223
- },
224
- "Page": {
225
- "notPartOfProject": "\u0986\u09aa\u09a8\u09bf \u098f\u0987 \u09aa\u09cd\u09b0\u0995\u09b2\u09cd\u09aa\u09c7\u09b0 \u0985\u0982\u09b6 \u09a8\u09a8\u0964"
226
- },
227
- "ResumeButton": {
228
- "resumeChat": "\u099a\u09cd\u09af\u09be\u099f \u09aa\u09c1\u09a8\u09b0\u09be\u09af\u09bc \u09b6\u09c1\u09b0\u09c1 \u0995\u09b0\u09c1\u09a8"
229
- }
230
- }
231
- }
@@ -1,229 +0,0 @@
1
- {
2
- "components": {
3
- "atoms": {
4
- "buttons": {
5
- "userButton": {
6
- "menu": {
7
- "settings": "Settings",
8
- "settingsKey": "S",
9
- "APIKeys": "API Keys",
10
- "logout": "Logout"
11
- }
12
- }
13
- }
14
- },
15
- "molecules": {
16
- "newChatButton": {
17
- "newChat": "New Chat"
18
- },
19
- "tasklist": {
20
- "TaskList": {
21
- "title": "\ud83d\uddd2\ufe0f Task List",
22
- "loading": "Loading...",
23
- "error": "An error occurred"
24
- }
25
- },
26
- "attachments": {
27
- "cancelUpload": "Cancel upload",
28
- "removeAttachment": "Remove attachment"
29
- },
30
- "newChatDialog": {
31
- "createNewChat": "Create new chat?",
32
- "clearChat": "This will clear the current messages and start a new chat.",
33
- "cancel": "Cancel",
34
- "confirm": "Confirm"
35
- },
36
- "settingsModal": {
37
- "settings": "Settings",
38
- "expandMessages": "Expand Messages",
39
- "hideChainOfThought": "Hide Chain of Thought",
40
- "darkMode": "Dark Mode"
41
- },
42
- "detailsButton": {
43
- "using": "Using",
44
- "used": "Used"
45
- },
46
- "auth": {
47
- "authLogin": {
48
- "title": "Login to access the app.",
49
- "form": {
50
- "email": "Email address",
51
- "password": "Password",
52
- "noAccount": "Don't have an account?",
53
- "alreadyHaveAccount": "Already have an account?",
54
- "signup": "Sign Up",
55
- "signin": "Sign In",
56
- "or": "OR",
57
- "continue": "Continue",
58
- "forgotPassword": "Forgot password?",
59
- "passwordMustContain": "Your password must contain:",
60
- "emailRequired": "email is a required field",
61
- "passwordRequired": "password is a required field"
62
- },
63
- "error": {
64
- "default": "Unable to sign in.",
65
- "signin": "Try signing in with a different account.",
66
- "oauthsignin": "Try signing in with a different account.",
67
- "redirect_uri_mismatch": "The redirect URI is not matching the oauth app configuration.",
68
- "oauthcallbackerror": "Try signing in with a different account.",
69
- "oauthcreateaccount": "Try signing in with a different account.",
70
- "emailcreateaccount": "Try signing in with a different account.",
71
- "callback": "Try signing in with a different account.",
72
- "oauthaccountnotlinked": "To confirm your identity, sign in with the same account you used originally.",
73
- "emailsignin": "The e-mail could not be sent.",
74
- "emailverify": "Please verify your email, a new email has been sent.",
75
- "credentialssignin": "Sign in failed. Check the details you provided are correct.",
76
- "sessionrequired": "Please sign in to access this page."
77
- }
78
- },
79
- "authVerifyEmail": {
80
- "almostThere": "You're almost there! We've sent an email to ",
81
- "verifyEmailLink": "Please click on the link in that email to complete your signup.",
82
- "didNotReceive": "Can't find the email?",
83
- "resendEmail": "Resend email",
84
- "goBack": "Go Back",
85
- "emailSent": "Email sent successfully.",
86
- "verifyEmail": "Verify your email address"
87
- },
88
- "providerButton": {
89
- "continue": "Continue with {{provider}}",
90
- "signup": "Sign up with {{provider}}"
91
- },
92
- "authResetPassword": {
93
- "newPasswordRequired": "New password is a required field",
94
- "passwordsMustMatch": "Passwords must match",
95
- "confirmPasswordRequired": "Confirm password is a required field",
96
- "newPassword": "New password",
97
- "confirmPassword": "Confirm password",
98
- "resetPassword": "Reset Password"
99
- },
100
- "authForgotPassword": {
101
- "email": "Email address",
102
- "emailRequired": "email is a required field",
103
- "emailSent": "Please check the email address {{email}} for instructions to reset your password.",
104
- "enterEmail": "Enter your email address and we will send you instructions to reset your password.",
105
- "resendEmail": "Resend email",
106
- "continue": "Continue",
107
- "goBack": "Go Back"
108
- }
109
- }
110
- },
111
- "organisms": {
112
- "chat": {
113
- "history": {
114
- "index": {
115
- "showHistory": "Show history",
116
- "lastInputs": "Last Inputs",
117
- "noInputs": "Such empty...",
118
- "loading": "Loading..."
119
- }
120
- },
121
- "inputBox": {
122
- "input": {
123
- "placeholder": "Type your message here..."
124
- },
125
- "speechButton": {
126
- "start": "Start recording",
127
- "stop": "Stop recording"
128
- },
129
- "SubmitButton": {
130
- "sendMessage": "Send message",
131
- "stopTask": "Stop Task"
132
- },
133
- "UploadButton": {
134
- "attachFiles": "Attach files"
135
- },
136
- "waterMark": {
137
- "text": "Built with"
138
- }
139
- },
140
- "Messages": {
141
- "index": {
142
- "running": "Running",
143
- "executedSuccessfully": "executed successfully",
144
- "failed": "failed",
145
- "feedbackUpdated": "Feedback updated",
146
- "updating": "Updating"
147
- }
148
- },
149
- "dropScreen": {
150
- "dropYourFilesHere": "Drop your files here"
151
- },
152
- "index": {
153
- "failedToUpload": "Failed to upload",
154
- "cancelledUploadOf": "Cancelled upload of",
155
- "couldNotReachServer": "Could not reach the server",
156
- "continuingChat": "Continuing previous chat"
157
- },
158
- "settings": {
159
- "settingsPanel": "Settings panel",
160
- "reset": "Reset",
161
- "cancel": "Cancel",
162
- "confirm": "Confirm"
163
- }
164
- },
165
- "threadHistory": {
166
- "sidebar": {
167
- "filters": {
168
- "FeedbackSelect": {
169
- "feedbackAll": "Feedback: All",
170
- "feedbackPositive": "Feedback: Positive",
171
- "feedbackNegative": "Feedback: Negative"
172
- },
173
- "SearchBar": {
174
- "search": "Search"
175
- }
176
- },
177
- "DeleteThreadButton": {
178
- "confirmMessage": "This will delete the thread as well as it's messages and elements.",
179
- "cancel": "Cancel",
180
- "confirm": "Confirm",
181
- "deletingChat": "Deleting chat",
182
- "chatDeleted": "Chat deleted"
183
- },
184
- "index": {
185
- "pastChats": "Past Chats"
186
- },
187
- "ThreadList": {
188
- "empty": "Empty...",
189
- "today": "Today",
190
- "yesterday": "Yesterday",
191
- "previous7days": "Previous 7 days",
192
- "previous30days": "Previous 30 days"
193
- },
194
- "TriggerButton": {
195
- "closeSidebar": "Close sidebar",
196
- "openSidebar": "Open sidebar"
197
- }
198
- },
199
- "Thread": {
200
- "backToChat": "Go back to chat",
201
- "chatCreatedOn": "This chat was created on"
202
- }
203
- },
204
- "header": {
205
- "chat": "Chat",
206
- "readme": "Readme"
207
- }
208
- }
209
- },
210
- "hooks": {
211
- "useLLMProviders": {
212
- "failedToFetchProviders": "Failed to fetch providers:"
213
- }
214
- },
215
- "pages": {
216
- "Design": {},
217
- "Env": {
218
- "savedSuccessfully": "Saved successfully",
219
- "requiredApiKeys": "Required API Keys",
220
- "requiredApiKeysInfo": "To use this app, the following API keys are required. The keys are stored on your device's local storage."
221
- },
222
- "Page": {
223
- "notPartOfProject": "You are not part of this project."
224
- },
225
- "ResumeButton": {
226
- "resumeChat": "Resume Chat"
227
- }
228
- }
229
- }