PraisonAI 1.0.8__tar.gz → 1.0.10__tar.gz

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 (80) hide show
  1. {praisonai-1.0.8 → praisonai-1.0.10}/PKG-INFO +14 -14
  2. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/cli.py +9 -11
  3. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/deploy.py +1 -1
  4. praisonai-1.0.10/praisonai/ui/config/.chainlit/config.toml +120 -0
  5. praisonai-1.0.10/praisonai/ui/config/.chainlit/translations/bn.json +231 -0
  6. praisonai-1.0.10/praisonai/ui/config/.chainlit/translations/en-US.json +229 -0
  7. praisonai-1.0.10/praisonai/ui/config/.chainlit/translations/gu.json +231 -0
  8. praisonai-1.0.10/praisonai/ui/config/.chainlit/translations/he-IL.json +231 -0
  9. praisonai-1.0.10/praisonai/ui/config/.chainlit/translations/hi.json +231 -0
  10. praisonai-1.0.10/praisonai/ui/config/.chainlit/translations/kn.json +231 -0
  11. praisonai-1.0.10/praisonai/ui/config/.chainlit/translations/ml.json +231 -0
  12. praisonai-1.0.10/praisonai/ui/config/.chainlit/translations/mr.json +231 -0
  13. praisonai-1.0.10/praisonai/ui/config/.chainlit/translations/ta.json +231 -0
  14. praisonai-1.0.10/praisonai/ui/config/.chainlit/translations/te.json +231 -0
  15. praisonai-1.0.10/praisonai/ui/config/.chainlit/translations/zh-CN.json +229 -0
  16. praisonai-1.0.10/praisonai/ui/config/chainlit.md +1 -0
  17. praisonai-1.0.10/praisonai/ui/config/translations/bn.json +231 -0
  18. praisonai-1.0.10/praisonai/ui/config/translations/en-US.json +229 -0
  19. praisonai-1.0.10/praisonai/ui/config/translations/gu.json +231 -0
  20. praisonai-1.0.10/praisonai/ui/config/translations/he-IL.json +231 -0
  21. praisonai-1.0.10/praisonai/ui/config/translations/hi.json +231 -0
  22. praisonai-1.0.10/praisonai/ui/config/translations/kn.json +231 -0
  23. praisonai-1.0.10/praisonai/ui/config/translations/ml.json +231 -0
  24. praisonai-1.0.10/praisonai/ui/config/translations/mr.json +231 -0
  25. praisonai-1.0.10/praisonai/ui/config/translations/ta.json +231 -0
  26. praisonai-1.0.10/praisonai/ui/config/translations/te.json +231 -0
  27. praisonai-1.0.10/praisonai/ui/config/translations/zh-CN.json +229 -0
  28. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/ui/db.py +51 -2
  29. praisonai-1.0.10/praisonai/ui/public/praison.css +3 -0
  30. {praisonai-1.0.8 → praisonai-1.0.10}/pyproject.toml +2 -2
  31. {praisonai-1.0.8 → praisonai-1.0.10}/LICENSE +0 -0
  32. {praisonai-1.0.8 → praisonai-1.0.10}/README.md +13 -13
  33. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/__init__.py +0 -0
  34. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/__main__.py +0 -0
  35. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/agents_generator.py +0 -0
  36. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/api/call.py +0 -0
  37. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/auto.py +0 -0
  38. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/chainlit_ui.py +0 -0
  39. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/inbuilt_tools/__init__.py +0 -0
  40. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/inbuilt_tools/autogen_tools.py +0 -0
  41. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/inc/__init__.py +0 -0
  42. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/inc/config.py +0 -0
  43. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/inc/models.py +0 -0
  44. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/public/android-chrome-192x192.png +0 -0
  45. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/public/android-chrome-512x512.png +0 -0
  46. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/public/apple-touch-icon.png +0 -0
  47. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/public/fantasy.svg +0 -0
  48. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/public/favicon-16x16.png +0 -0
  49. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/public/favicon-32x32.png +0 -0
  50. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/public/favicon.ico +0 -0
  51. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/public/game.svg +0 -0
  52. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/public/logo_dark.png +0 -0
  53. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/public/logo_light.png +0 -0
  54. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/public/movie.svg +0 -0
  55. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/public/thriller.svg +0 -0
  56. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/setup/__init__.py +0 -0
  57. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/setup/build.py +0 -0
  58. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/setup/config.yaml +0 -0
  59. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/setup/post_install.py +0 -0
  60. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/setup/setup_conda_env.py +0 -0
  61. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/setup/setup_conda_env.sh +0 -0
  62. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/setup.py +0 -0
  63. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/test.py +0 -0
  64. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/train.py +0 -0
  65. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/ui/README.md +0 -0
  66. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/ui/chat.py +0 -0
  67. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/ui/code.py +0 -0
  68. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/ui/context.py +0 -0
  69. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/ui/public/fantasy.svg +0 -0
  70. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/ui/public/game.svg +0 -0
  71. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/ui/public/logo_dark.png +0 -0
  72. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/ui/public/logo_light.png +0 -0
  73. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/ui/public/movie.svg +0 -0
  74. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/ui/public/thriller.svg +0 -0
  75. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/ui/realtime.py +0 -0
  76. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/ui/realtimeclient/__init__.py +0 -0
  77. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/ui/realtimeclient/realtimedocs.txt +0 -0
  78. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/ui/realtimeclient/tools.py +0 -0
  79. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/ui/sql_alchemy.py +0 -0
  80. {praisonai-1.0.8 → praisonai-1.0.10}/praisonai/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PraisonAI
3
- Version: 1.0.8
3
+ Version: 1.0.10
4
4
  Summary: PraisonAI application combines AutoGen and CrewAI or similar frameworks into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customization, and efficient human-agent collaboration.
5
5
  Author: Mervin Praison
6
6
  Requires-Python: >=3.10,<3.13
@@ -121,19 +121,6 @@ Praison AI, leveraging both AutoGen and CrewAI or any other agent framework, rep
121
121
  pip install praisonai
122
122
  ```
123
123
 
124
- ### Using uv (Fast Python Package Installer)
125
- ```bash
126
- # Install uv if you haven't already
127
- pip install uv
128
-
129
- # Install from requirements
130
- uv pip install -r pyproject.toml
131
-
132
- # Install with extras
133
- uv pip install -r pyproject.toml --extra code
134
- uv pip install -r pyproject.toml --extra "crewai,autogen"
135
- ```
136
-
137
124
  ### Framework-specific Installation
138
125
  ```bash
139
126
  # Install with CrewAI support
@@ -455,6 +442,19 @@ if __name__ == "__main__":
455
442
 
456
443
  This configuration ensures that your development dependencies are correctly categorized and installed as needed.
457
444
 
445
+ ### Using uv (Fast Python Package Installer)
446
+ ```bash
447
+ # Install uv if you haven't already
448
+ pip install uv
449
+
450
+ # Install from requirements
451
+ uv pip install -r pyproject.toml
452
+
453
+ # Install with extras
454
+ uv pip install -r pyproject.toml --extra code
455
+ uv pip install -r pyproject.toml --extra "crewai,autogen"
456
+ ```
457
+
458
458
  ## Contributing
459
459
 
460
460
  - Fork on GitHub: Use the "Fork" button on the repository page.
@@ -26,9 +26,16 @@ CREWAI_AVAILABLE = False
26
26
  AUTOGEN_AVAILABLE = False
27
27
 
28
28
  try:
29
- # Set CHAINLIT_APP_ROOT only if it doesn't exist
29
+ # Create necessary directories and set CHAINLIT_APP_ROOT
30
30
  if "CHAINLIT_APP_ROOT" not in os.environ:
31
- os.environ["CHAINLIT_APP_ROOT"] = os.path.join(os.path.expanduser("~"), ".praison")
31
+ chainlit_root = os.path.join(os.path.expanduser("~"), ".praison")
32
+ os.environ["CHAINLIT_APP_ROOT"] = chainlit_root
33
+ else:
34
+ chainlit_root = os.environ["CHAINLIT_APP_ROOT"]
35
+
36
+ os.makedirs(chainlit_root, exist_ok=True)
37
+ os.makedirs(os.path.join(chainlit_root, ".files"), exist_ok=True)
38
+
32
39
  from chainlit.cli import chainlit_run
33
40
  CHAINLIT_AVAILABLE = True
34
41
  except ImportError:
@@ -393,15 +400,6 @@ class PraisonAI:
393
400
  root_path = os.path.join(os.path.expanduser("~"), ".praison")
394
401
  if "CHAINLIT_APP_ROOT" not in os.environ:
395
402
  os.environ["CHAINLIT_APP_ROOT"] = root_path
396
- public_folder = os.path.join(os.path.dirname(praisonai.__file__), 'public')
397
- if not os.path.exists(os.path.join(root_path, "public")):
398
- if os.path.exists(public_folder):
399
- shutil.copytree(public_folder, os.path.join(root_path, "public"), dirs_exist_ok=True)
400
- logging.info("Public folder copied successfully!")
401
- else:
402
- logging.info("Public folder not found in the package.")
403
- else:
404
- logging.info("Public folder already exists.")
405
403
  chat_ui_path = os.path.join(os.path.dirname(praisonai.__file__), 'ui', 'chat.py')
406
404
  chainlit_run([chat_ui_path])
407
405
  else:
@@ -56,7 +56,7 @@ class CloudDeployer:
56
56
  file.write("FROM python:3.11-slim\n")
57
57
  file.write("WORKDIR /app\n")
58
58
  file.write("COPY . .\n")
59
- file.write("RUN pip install flask praisonai==1.0.8 gunicorn markdown\n")
59
+ file.write("RUN pip install flask praisonai==1.0.10 gunicorn markdown\n")
60
60
  file.write("EXPOSE 8080\n")
61
61
  file.write('CMD ["gunicorn", "-b", "0.0.0.0:8080", "api:app"]\n')
62
62
 
@@ -0,0 +1,120 @@
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@1.0.10/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"
@@ -0,0 +1,231 @@
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
+ }