vtai 0.1.0__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.
Files changed (92) hide show
  1. vtai-0.1.0/.chainlit/config.toml +79 -0
  2. vtai-0.1.0/.chainlit/translations/bn.json +214 -0
  3. vtai-0.1.0/.chainlit/translations/en-US.json +214 -0
  4. vtai-0.1.0/.chainlit/translations/gu.json +214 -0
  5. vtai-0.1.0/.chainlit/translations/he-IL.json +214 -0
  6. vtai-0.1.0/.chainlit/translations/hi.json +214 -0
  7. vtai-0.1.0/.chainlit/translations/ja.json +214 -0
  8. vtai-0.1.0/.chainlit/translations/kn.json +214 -0
  9. vtai-0.1.0/.chainlit/translations/ml.json +214 -0
  10. vtai-0.1.0/.chainlit/translations/mr.json +214 -0
  11. vtai-0.1.0/.chainlit/translations/nl.json +214 -0
  12. vtai-0.1.0/.chainlit/translations/ta.json +214 -0
  13. vtai-0.1.0/.chainlit/translations/te.json +214 -0
  14. vtai-0.1.0/.chainlit/translations/zh-CN.json +214 -0
  15. vtai-0.1.0/.env.example +10 -0
  16. vtai-0.1.0/.github/FUNDING.yml +15 -0
  17. vtai-0.1.0/.github/workflows/pylint.yml +23 -0
  18. vtai-0.1.0/.gitignore +182 -0
  19. vtai-0.1.0/.python-version +1 -0
  20. vtai-0.1.0/.vscode/settings.json +5 -0
  21. vtai-0.1.0/LICENSE +21 -0
  22. vtai-0.1.0/MANIFEST.in +6 -0
  23. vtai-0.1.0/PKG-INFO +333 -0
  24. vtai-0.1.0/README.md +302 -0
  25. vtai-0.1.0/TODO +37 -0
  26. vtai-0.1.0/chainlit.md +0 -0
  27. vtai-0.1.0/diagram.png +0 -0
  28. vtai-0.1.0/public/avatars/logo_dark.png +0 -0
  29. vtai-0.1.0/public/custom.css +3 -0
  30. vtai-0.1.0/public/favicon.ico +0 -0
  31. vtai-0.1.0/public/logo_dark.png +0 -0
  32. vtai-0.1.0/public/logo_light.png +0 -0
  33. vtai-0.1.0/public/screenshot.jpg +0 -0
  34. vtai-0.1.0/pyproject.toml +136 -0
  35. vtai-0.1.0/requirements.txt +21 -0
  36. vtai-0.1.0/src/app.py +522 -0
  37. vtai-0.1.0/src/router/trainer.py +68 -0
  38. vtai-0.1.0/vtai/.chainlit/config.toml +113 -0
  39. vtai-0.1.0/vtai/.chainlit/translations/bn.json +214 -0
  40. vtai-0.1.0/vtai/.chainlit/translations/en-US.json +214 -0
  41. vtai-0.1.0/vtai/.chainlit/translations/gu.json +214 -0
  42. vtai-0.1.0/vtai/.chainlit/translations/he-IL.json +214 -0
  43. vtai-0.1.0/vtai/.chainlit/translations/hi.json +214 -0
  44. vtai-0.1.0/vtai/.chainlit/translations/ja.json +214 -0
  45. vtai-0.1.0/vtai/.chainlit/translations/kn.json +214 -0
  46. vtai-0.1.0/vtai/.chainlit/translations/ml.json +214 -0
  47. vtai-0.1.0/vtai/.chainlit/translations/mr.json +214 -0
  48. vtai-0.1.0/vtai/.chainlit/translations/nl.json +214 -0
  49. vtai-0.1.0/vtai/.chainlit/translations/ta.json +214 -0
  50. vtai-0.1.0/vtai/.chainlit/translations/te.json +214 -0
  51. vtai-0.1.0/vtai/.chainlit/translations/zh-CN.json +214 -0
  52. vtai-0.1.0/vtai/__init__.py +10 -0
  53. vtai-0.1.0/vtai/app.py +518 -0
  54. vtai-0.1.0/vtai/assistants/mino/__init__.py +0 -0
  55. vtai-0.1.0/vtai/assistants/mino/assistant_event_handler.py +38 -0
  56. vtai-0.1.0/vtai/assistants/mino/create_assistant.py +117 -0
  57. vtai-0.1.0/vtai/assistants/mino/mino.py +58 -0
  58. vtai-0.1.0/vtai/assistants/shared/__init__.py +0 -0
  59. vtai-0.1.0/vtai/resources/chatgpt-icon.png +0 -0
  60. vtai-0.1.0/vtai/resources/claude-ai-icon.png +0 -0
  61. vtai-0.1.0/vtai/resources/cohere.ico +0 -0
  62. vtai-0.1.0/vtai/resources/google-gemini-icon.png +0 -0
  63. vtai-0.1.0/vtai/resources/groq.ico +0 -0
  64. vtai-0.1.0/vtai/resources/huggingface.ico +0 -0
  65. vtai-0.1.0/vtai/resources/ollama.png +0 -0
  66. vtai-0.1.0/vtai/resources/openrouter.ico +0 -0
  67. vtai-0.1.0/vtai/resources/screenshot/1.jpg +0 -0
  68. vtai-0.1.0/vtai/resources/screenshot/2.jpg +0 -0
  69. vtai-0.1.0/vtai/resources/screenshot/3.jpg +0 -0
  70. vtai-0.1.0/vtai/resources/screenshot/4.png +0 -0
  71. vtai-0.1.0/vtai/resources/vt.jpg +0 -0
  72. vtai-0.1.0/vtai/router/__init__.py +0 -0
  73. vtai-0.1.0/vtai/router/constants.py +56 -0
  74. vtai-0.1.0/vtai/router/layers.json +157 -0
  75. vtai-0.1.0/vtai/router/trainer.py +197 -0
  76. vtai-0.1.0/vtai/tools/__init__.py +0 -0
  77. vtai-0.1.0/vtai/utils/__init__.py +0 -0
  78. vtai-0.1.0/vtai/utils/assistant_tools.py +154 -0
  79. vtai-0.1.0/vtai/utils/chat_profile.py +32 -0
  80. vtai-0.1.0/vtai/utils/config.py +199 -0
  81. vtai-0.1.0/vtai/utils/constants.py +42 -0
  82. vtai-0.1.0/vtai/utils/conversation_handlers.py +434 -0
  83. vtai-0.1.0/vtai/utils/dict_to_object.py +102 -0
  84. vtai-0.1.0/vtai/utils/error_handlers.py +42 -0
  85. vtai-0.1.0/vtai/utils/file_handlers.py +180 -0
  86. vtai-0.1.0/vtai/utils/llm_profile_builder.py +25 -0
  87. vtai-0.1.0/vtai/utils/llm_settings_config.py +296 -0
  88. vtai-0.1.0/vtai/utils/media_processors.py +292 -0
  89. vtai-0.1.0/vtai/utils/settings_builder.py +101 -0
  90. vtai-0.1.0/vtai/utils/url_extractor.py +41 -0
  91. vtai-0.1.0/vtai/utils/user_session_helper.py +84 -0
  92. vtai-0.1.0/vtai_runner.py +5 -0
@@ -0,0 +1,79 @@
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 - important for cookie-based authentication in 2.0.0
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
+ # Show the prompt playground
22
+ prompt_playground = true
23
+
24
+ # 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)
25
+ unsafe_allow_html = false
26
+
27
+ # Process and display mathematical expressions. This can clash with "$" characters in messages.
28
+ latex = true
29
+
30
+ # Authorize users to upload files with messages
31
+ [features.multi_modal]
32
+ accept = ["*/*"]
33
+ enabled = true
34
+ max_files = 5
35
+ max_size_mb = 25
36
+
37
+ # Allows user to use speech to text
38
+ [features.speech_to_text]
39
+ enabled = true
40
+ # See all languages here https://github.com/JamesBrill/react-speech-recognition/blob/HEAD/docs/API.md#language-string
41
+ language = "en-US"
42
+
43
+ [UI]
44
+ # Name of the app and chatbot.
45
+ name = "VT.ai"
46
+
47
+ # Show the readme while the thread is empty.
48
+ show_readme_as_default = false
49
+
50
+ # Description of the app and chatbot. This is used for HTML tags.
51
+ description = "VT.ai - Minimal multimodal AI chat app with dynamic conversation routing "
52
+
53
+ # Large size content are by default collapsed for a cleaner ui
54
+ default_collapse_content = true
55
+
56
+ # The default value for the expand messages settings.
57
+ default_expand_messages = false
58
+
59
+ # Hide the chain of thought details from the user in the UI.
60
+ hide_cot = false
61
+
62
+ # Link to your github repo. This will add a github button in the UI's header.
63
+ github = "https://github.com/vinhnx/"
64
+
65
+ # Specify a CSS file that can be used to customize the user interface.
66
+ # The CSS file can be served from the public directory or via an external link.
67
+ # custom_css = "/public/custom.css"
68
+
69
+ # Specify a Javascript file that can be used to customize the user interface.
70
+ # The Javascript file can be served from the public directory.
71
+ # custom_js = "/public/test.js"
72
+
73
+ # Specify a custom build directory for the frontend.
74
+ # This can be used to customize the frontend code.
75
+ # Be careful: If this is a relative path, it should not start with a slash.
76
+ # custom_build = "./public/build"
77
+
78
+ [meta]
79
+ generated_by = "2.0.0"
@@ -0,0 +1,214 @@
1
+ {
2
+ "common": {
3
+ "actions": {
4
+ "cancel": "\u09ac\u09be\u09a4\u09bf\u09b2 \u0995\u09b0\u09c1\u09a8",
5
+ "confirm": "\u09a8\u09bf\u09b6\u09cd\u099a\u09bf\u09a4 \u0995\u09b0\u09c1\u09a8",
6
+ "continue": "\u099a\u09be\u09b2\u09bf\u09af\u09bc\u09c7 \u09af\u09be\u09a8",
7
+ "goBack": "\u09aa\u09bf\u099b\u09a8\u09c7 \u09af\u09be\u09a8",
8
+ "reset": "\u09b0\u09bf\u09b8\u09c7\u099f \u0995\u09b0\u09c1\u09a8",
9
+ "submit": "\u099c\u09ae\u09be \u09a6\u09bf\u09a8"
10
+ },
11
+ "status": {
12
+ "loading": "\u09b2\u09cb\u09a1 \u09b9\u099a\u09cd\u099b\u09c7...",
13
+ "error": {
14
+ "default": "\u098f\u0995\u099f\u09bf \u09a4\u09cd\u09b0\u09c1\u099f\u09bf \u0998\u099f\u09c7\u099b\u09c7",
15
+ "serverConnection": "\u09b8\u09be\u09b0\u09cd\u09ad\u09be\u09b0\u09c7\u09b0 \u09b8\u09be\u09a5\u09c7 \u09b8\u0982\u09af\u09cb\u0997 \u0995\u09b0\u09be \u09af\u09be\u099a\u09cd\u099b\u09c7 \u09a8\u09be"
16
+ }
17
+ }
18
+ },
19
+ "auth": {
20
+ "login": {
21
+ "title": "\u0985\u09cd\u09af\u09be\u09aa\u09cd\u09b2\u09bf\u0995\u09c7\u09b6\u09a8 \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09a4\u09c7 \u09b2\u0997\u0987\u09a8 \u0995\u09b0\u09c1\u09a8",
22
+ "form": {
23
+ "email": {
24
+ "label": "\u0987\u09ae\u09c7\u0987\u09b2 \u09a0\u09bf\u0995\u09be\u09a8\u09be",
25
+ "required": "\u0987\u09ae\u09c7\u0987\u09b2 \u098f\u0995\u099f\u09bf \u0986\u09ac\u09b6\u09cd\u09af\u0995 \u0995\u09cd\u09b7\u09c7\u09a4\u09cd\u09b0"
26
+ },
27
+ "password": {
28
+ "label": "\u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1",
29
+ "required": "\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"
30
+ },
31
+ "actions": {
32
+ "signin": "\u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09c1\u09a8"
33
+ },
34
+ "alternativeText": {
35
+ "or": "\u0985\u09a5\u09ac\u09be"
36
+ }
37
+ },
38
+ "errors": {
39
+ "default": "\u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09be \u09b8\u09ae\u09cd\u09ad\u09ac \u09b9\u099a\u09cd\u099b\u09c7 \u09a8\u09be",
40
+ "signin": "\u0985\u09a8\u09cd\u09af \u098f\u0995\u099f\u09bf \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",
41
+ "oauthSignin": "\u0985\u09a8\u09cd\u09af \u098f\u0995\u099f\u09bf \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",
42
+ "redirectUriMismatch": "\u09b0\u09bf\u09a1\u09be\u0987\u09b0\u09c7\u0995\u09cd\u099f URI \u0993\u0986\u09a5 \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",
43
+ "oauthCallback": "\u0985\u09a8\u09cd\u09af \u098f\u0995\u099f\u09bf \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",
44
+ "oauthCreateAccount": "\u0985\u09a8\u09cd\u09af \u098f\u0995\u099f\u09bf \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",
45
+ "emailCreateAccount": "\u0985\u09a8\u09cd\u09af \u098f\u0995\u099f\u09bf \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",
46
+ "callback": "\u0985\u09a8\u09cd\u09af \u098f\u0995\u099f\u09bf \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",
47
+ "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 \u09af\u09c7 \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f\u099f\u09bf \u09ae\u09c2\u09b2\u09a4 \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09c7\u099b\u09bf\u09b2\u09c7\u09a8 \u09b8\u09c7\u099f\u09bf \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09c1\u09a8",
48
+ "emailSignin": "\u0987\u09ae\u09c7\u0987\u09b2 \u09aa\u09be\u09a0\u09be\u09a8\u09cb \u09af\u09be\u09af\u09bc\u09a8\u09bf",
49
+ "emailVerify": "\u0985\u09a8\u09c1\u0997\u09cd\u09b0\u09b9 \u0995\u09b0\u09c7 \u0986\u09aa\u09a8\u09be\u09b0 \u0987\u09ae\u09c7\u0987\u09b2 \u09af\u09be\u099a\u09be\u0987 \u0995\u09b0\u09c1\u09a8, \u098f\u0995\u099f\u09bf \u09a8\u09a4\u09c1\u09a8 \u0987\u09ae\u09c7\u0987\u09b2 \u09aa\u09be\u09a0\u09be\u09a8\u09cb \u09b9\u09af\u09bc\u09c7\u099b\u09c7",
50
+ "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 \u09a6\u09c7\u0993\u09af\u09bc\u09be \u09a4\u09a5\u09cd\u09af \u09b8\u09a0\u09bf\u0995 \u0995\u09bf\u09a8\u09be \u09af\u09be\u099a\u09be\u0987 \u0995\u09b0\u09c1\u09a8",
51
+ "sessionRequired": "\u098f\u0987 \u09aa\u09c3\u09b7\u09cd\u09a0\u09be \u09a6\u09c7\u0996\u09a4\u09c7 \u0985\u09a8\u09c1\u0997\u09cd\u09b0\u09b9 \u0995\u09b0\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09c1\u09a8"
52
+ }
53
+ },
54
+ "provider": {
55
+ "continue": "{{provider}} \u09a6\u09bf\u09af\u09bc\u09c7 \u099a\u09be\u09b2\u09bf\u09af\u09bc\u09c7 \u09af\u09be\u09a8"
56
+ }
57
+ },
58
+ "chat": {
59
+ "input": {
60
+ "placeholder": "\u0986\u09aa\u09a8\u09be\u09b0 \u09ac\u09be\u09b0\u09cd\u09a4\u09be \u098f\u0996\u09be\u09a8\u09c7 \u099f\u09be\u0987\u09aa \u0995\u09b0\u09c1\u09a8...",
61
+ "actions": {
62
+ "send": "\u09ac\u09be\u09b0\u09cd\u09a4\u09be \u09aa\u09be\u09a0\u09be\u09a8",
63
+ "stop": "\u0995\u09be\u099c \u09ac\u09a8\u09cd\u09a7 \u0995\u09b0\u09c1\u09a8",
64
+ "attachFiles": "\u09ab\u09be\u0987\u09b2 \u09b8\u0982\u09af\u09c1\u0995\u09cd\u09a4 \u0995\u09b0\u09c1\u09a8"
65
+ }
66
+ },
67
+ "speech": {
68
+ "start": "\u09b0\u09c7\u0995\u09b0\u09cd\u09a1\u09bf\u0982 \u09b6\u09c1\u09b0\u09c1 \u0995\u09b0\u09c1\u09a8",
69
+ "stop": "\u09b0\u09c7\u0995\u09b0\u09cd\u09a1\u09bf\u0982 \u09ac\u09a8\u09cd\u09a7 \u0995\u09b0\u09c1\u09a8",
70
+ "connecting": "\u09b8\u0982\u09af\u09cb\u0997 \u0995\u09b0\u09be \u09b9\u099a\u09cd\u099b\u09c7"
71
+ },
72
+ "fileUpload": {
73
+ "dragDrop": "\u098f\u0996\u09be\u09a8\u09c7 \u09ab\u09be\u0987\u09b2 \u099f\u09c7\u09a8\u09c7 \u0986\u09a8\u09c1\u09a8",
74
+ "browse": "\u09ab\u09be\u0987\u09b2 \u09ac\u09cd\u09b0\u09be\u0989\u099c \u0995\u09b0\u09c1\u09a8",
75
+ "sizeLimit": "\u09b8\u09c0\u09ae\u09be:",
76
+ "errors": {
77
+ "failed": "\u0986\u09aa\u09b2\u09cb\u09a1 \u09ac\u09cd\u09af\u09b0\u09cd\u09a5 \u09b9\u09af\u09bc\u09c7\u099b\u09c7",
78
+ "cancelled": "\u0986\u09aa\u09b2\u09cb\u09a1 \u09ac\u09be\u09a4\u09bf\u09b2 \u0995\u09b0\u09be \u09b9\u09af\u09bc\u09c7\u099b\u09c7"
79
+ }
80
+ },
81
+ "messages": {
82
+ "status": {
83
+ "using": "\u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u099b\u09c7",
84
+ "used": "\u09ac\u09cd\u09af\u09ac\u09b9\u09c3\u09a4"
85
+ },
86
+ "actions": {
87
+ "copy": {
88
+ "button": "\u0995\u09cd\u09b2\u09bf\u09aa\u09ac\u09cb\u09b0\u09cd\u09a1\u09c7 \u0995\u09aa\u09bf \u0995\u09b0\u09c1\u09a8",
89
+ "success": "\u0995\u09aa\u09bf \u0995\u09b0\u09be \u09b9\u09af\u09bc\u09c7\u099b\u09c7!"
90
+ }
91
+ },
92
+ "feedback": {
93
+ "positive": "\u09b8\u09b9\u09be\u09af\u09bc\u0995",
94
+ "negative": "\u09b8\u09b9\u09be\u09af\u09bc\u0995 \u09a8\u09af\u09bc",
95
+ "edit": "\u09aa\u09cd\u09b0\u09a4\u09bf\u0995\u09cd\u09b0\u09bf\u09af\u09bc\u09be \u09b8\u09ae\u09cd\u09aa\u09be\u09a6\u09a8\u09be \u0995\u09b0\u09c1\u09a8",
96
+ "dialog": {
97
+ "title": "\u09ae\u09a8\u09cd\u09a4\u09ac\u09cd\u09af \u09af\u09cb\u0997 \u0995\u09b0\u09c1\u09a8",
98
+ "submit": "\u09aa\u09cd\u09b0\u09a4\u09bf\u0995\u09cd\u09b0\u09bf\u09af\u09bc\u09be \u099c\u09ae\u09be \u09a6\u09bf\u09a8"
99
+ },
100
+ "status": {
101
+ "updating": "\u09b9\u09be\u09b2\u09a8\u09be\u0997\u09be\u09a6 \u0995\u09b0\u09be \u09b9\u099a\u09cd\u099b\u09c7",
102
+ "updated": "\u09aa\u09cd\u09b0\u09a4\u09bf\u0995\u09cd\u09b0\u09bf\u09af\u09bc\u09be \u09b9\u09be\u09b2\u09a8\u09be\u0997\u09be\u09a6 \u0995\u09b0\u09be \u09b9\u09af\u09bc\u09c7\u099b\u09c7"
103
+ }
104
+ }
105
+ },
106
+ "history": {
107
+ "title": "\u09b8\u09b0\u09cd\u09ac\u09b6\u09c7\u09b7 \u0987\u09a8\u09aa\u09c1\u099f",
108
+ "empty": "\u0995\u09cb\u09a8\u09cb \u09a4\u09a5\u09cd\u09af \u09a8\u09c7\u0987...",
109
+ "show": "\u0987\u09a4\u09bf\u09b9\u09be\u09b8 \u09a6\u09c7\u0996\u09c1\u09a8"
110
+ },
111
+ "settings": {
112
+ "title": "\u09b8\u09c7\u099f\u09bf\u0982\u09b8 \u09aa\u09cd\u09af\u09be\u09a8\u09c7\u09b2"
113
+ },
114
+ "watermark": "\u09a6\u09cd\u09ac\u09be\u09b0\u09be \u09a8\u09bf\u09b0\u09cd\u09ae\u09bf\u09a4"
115
+ },
116
+ "threadHistory": {
117
+ "sidebar": {
118
+ "title": "\u09aa\u09c2\u09b0\u09cd\u09ac\u09ac\u09b0\u09cd\u09a4\u09c0 \u099a\u09cd\u09af\u09be\u099f",
119
+ "filters": {
120
+ "search": "\u0985\u09a8\u09c1\u09b8\u09a8\u09cd\u09a7\u09be\u09a8",
121
+ "placeholder": "Search conversations..."
122
+ },
123
+ "timeframes": {
124
+ "today": "\u0986\u099c",
125
+ "yesterday": "\u0997\u09a4\u0995\u09be\u09b2",
126
+ "previous7days": "\u0997\u09a4 \u09ed \u09a6\u09bf\u09a8",
127
+ "previous30days": "\u0997\u09a4 \u09e9\u09e6 \u09a6\u09bf\u09a8"
128
+ },
129
+ "empty": "\u0995\u09cb\u09a8\u09cb \u09a5\u09cd\u09b0\u09c7\u09a1 \u09aa\u09be\u0993\u09af\u09bc\u09be \u09af\u09be\u09af\u09bc\u09a8\u09bf",
130
+ "actions": {
131
+ "close": "\u09b8\u09be\u0987\u09a1\u09ac\u09be\u09b0 \u09ac\u09a8\u09cd\u09a7 \u0995\u09b0\u09c1\u09a8",
132
+ "open": "\u09b8\u09be\u0987\u09a1\u09ac\u09be\u09b0 \u0996\u09c1\u09b2\u09c1\u09a8"
133
+ }
134
+ },
135
+ "thread": {
136
+ "untitled": "\u09b6\u09bf\u09b0\u09cb\u09a8\u09be\u09ae\u09b9\u09c0\u09a8 \u0986\u09b2\u09cb\u099a\u09a8\u09be",
137
+ "menu": {
138
+ "rename": "Rename",
139
+ "delete": "Delete"
140
+ },
141
+ "actions": {
142
+ "delete": {
143
+ "title": "\u09ae\u09c1\u099b\u09c7 \u09ab\u09c7\u09b2\u09be \u09a8\u09bf\u09b6\u09cd\u099a\u09bf\u09a4 \u0995\u09b0\u09c1\u09a8",
144
+ "description": "\u098f\u099f\u09bf \u09a5\u09cd\u09b0\u09c7\u09a1 \u098f\u09ac\u0982 \u098f\u09b0 \u09ac\u09be\u09b0\u09cd\u09a4\u09be \u0993 \u0989\u09aa\u09be\u09a6\u09be\u09a8\u0997\u09c1\u09b2\u09bf \u09ae\u09c1\u099b\u09c7 \u09ab\u09c7\u09b2\u09ac\u09c7\u0964 \u098f\u0987 \u0995\u09be\u099c\u099f\u09bf \u09aa\u09c2\u09b0\u09cd\u09ac\u09be\u09ac\u09b8\u09cd\u09a5\u09be\u09af\u09bc \u09ab\u09c7\u09b0\u09be\u09a8\u09cb \u09af\u09be\u09ac\u09c7 \u09a8\u09be",
145
+ "success": "\u099a\u09cd\u09af\u09be\u099f \u09ae\u09c1\u099b\u09c7 \u09ab\u09c7\u09b2\u09be \u09b9\u09af\u09bc\u09c7\u099b\u09c7",
146
+ "inProgress": "\u099a\u09cd\u09af\u09be\u099f \u09ae\u09c1\u099b\u09c7 \u09ab\u09c7\u09b2\u09be \u09b9\u099a\u09cd\u099b\u09c7"
147
+ },
148
+ "rename": {
149
+ "title": "\u09a5\u09cd\u09b0\u09c7\u09a1\u09c7\u09b0 \u09a8\u09be\u09ae \u09aa\u09b0\u09bf\u09ac\u09b0\u09cd\u09a4\u09a8 \u0995\u09b0\u09c1\u09a8",
150
+ "description": "\u098f\u0987 \u09a5\u09cd\u09b0\u09c7\u09a1\u09c7\u09b0 \u099c\u09a8\u09cd\u09af \u098f\u0995\u099f\u09bf \u09a8\u09a4\u09c1\u09a8 \u09a8\u09be\u09ae \u09a6\u09bf\u09a8",
151
+ "form": {
152
+ "name": {
153
+ "label": "\u09a8\u09be\u09ae",
154
+ "placeholder": "\u09a8\u09a4\u09c1\u09a8 \u09a8\u09be\u09ae \u09b2\u09bf\u0996\u09c1\u09a8"
155
+ }
156
+ },
157
+ "success": "\u09a5\u09cd\u09b0\u09c7\u09a1\u09c7\u09b0 \u09a8\u09be\u09ae \u09aa\u09b0\u09bf\u09ac\u09b0\u09cd\u09a4\u09a8 \u0995\u09b0\u09be \u09b9\u09af\u09bc\u09c7\u099b\u09c7!",
158
+ "inProgress": "\u09a5\u09cd\u09b0\u09c7\u09a1\u09c7\u09b0 \u09a8\u09be\u09ae \u09aa\u09b0\u09bf\u09ac\u09b0\u09cd\u09a4\u09a8 \u0995\u09b0\u09be \u09b9\u099a\u09cd\u099b\u09c7"
159
+ }
160
+ }
161
+ }
162
+ },
163
+ "navigation": {
164
+ "header": {
165
+ "chat": "\u099a\u09cd\u09af\u09be\u099f",
166
+ "readme": "\u09b0\u09bf\u09a1\u09ae\u09bf",
167
+ "theme": {
168
+ "light": "Light Theme",
169
+ "dark": "Dark Theme",
170
+ "system": "Follow System"
171
+ }
172
+ },
173
+ "newChat": {
174
+ "button": "\u09a8\u09a4\u09c1\u09a8 \u099a\u09cd\u09af\u09be\u099f",
175
+ "dialog": {
176
+ "title": "\u09a8\u09a4\u09c1\u09a8 \u099a\u09cd\u09af\u09be\u099f \u09a4\u09c8\u09b0\u09bf \u0995\u09b0\u09c1\u09a8",
177
+ "description": "\u098f\u099f\u09bf \u0986\u09aa\u09a8\u09be\u09b0 \u09ac\u09b0\u09cd\u09a4\u09ae\u09be\u09a8 \u099a\u09cd\u09af\u09be\u099f \u0987\u09a4\u09bf\u09b9\u09be\u09b8 \u09ae\u09c1\u099b\u09c7 \u09ab\u09c7\u09b2\u09ac\u09c7\u0964 \u0986\u09aa\u09a8\u09bf \u0995\u09bf \u099a\u09be\u09b2\u09bf\u09af\u09bc\u09c7 \u09af\u09c7\u09a4\u09c7 \u099a\u09be\u09a8?",
178
+ "tooltip": "\u09a8\u09a4\u09c1\u09a8 \u099a\u09cd\u09af\u09be\u099f"
179
+ }
180
+ },
181
+ "user": {
182
+ "menu": {
183
+ "settings": "\u09b8\u09c7\u099f\u09bf\u0982\u09b8",
184
+ "settingsKey": "S",
185
+ "apiKeys": "\u098f\u09aa\u09bf\u0986\u0987 \u0995\u09c0",
186
+ "logout": "\u09b2\u0997\u0986\u0989\u099f"
187
+ }
188
+ }
189
+ },
190
+ "apiKeys": {
191
+ "title": "\u09aa\u09cd\u09b0\u09af\u09bc\u09cb\u099c\u09a8\u09c0\u09af\u09bc \u098f\u09aa\u09bf\u0986\u0987 \u0995\u09c0",
192
+ "description": "\u098f\u0987 \u0985\u09cd\u09af\u09be\u09aa\u09cd\u09b2\u09bf\u0995\u09c7\u09b6\u09a8 \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09a4\u09c7 \u09a8\u09bf\u09ae\u09cd\u09a8\u09b2\u09bf\u0996\u09bf\u09a4 \u098f\u09aa\u09bf\u0986\u0987 \u0995\u09c0 \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 \u09b2\u09cb\u0995\u09be\u09b2 \u09b8\u09cd\u099f\u09cb\u09b0\u09c7\u099c\u09c7 \u09b8\u0982\u09b0\u0995\u09cd\u09b7\u09bf\u09a4 \u09a5\u09be\u0995\u09c7\u0964",
193
+ "success": {
194
+ "saved": "\u09b8\u09ab\u09b2\u09ad\u09be\u09ac\u09c7 \u09b8\u0982\u09b0\u0995\u09cd\u09b7\u09bf\u09a4 \u09b9\u09af\u09bc\u09c7\u099b\u09c7"
195
+ }
196
+ },
197
+ "alerts": {
198
+ "info": "Info",
199
+ "note": "Note",
200
+ "tip": "Tip",
201
+ "important": "Important",
202
+ "warning": "Warning",
203
+ "caution": "Caution",
204
+ "debug": "Debug",
205
+ "example": "Example",
206
+ "success": "Success",
207
+ "help": "Help",
208
+ "idea": "Idea",
209
+ "pending": "Pending",
210
+ "security": "Security",
211
+ "beta": "Beta",
212
+ "best-practice": "Best Practice"
213
+ }
214
+ }
@@ -0,0 +1,214 @@
1
+ {
2
+ "common": {
3
+ "actions": {
4
+ "cancel": "Cancel",
5
+ "confirm": "Confirm",
6
+ "continue": "Continue",
7
+ "goBack": "Go Back",
8
+ "reset": "Reset",
9
+ "submit": "Submit"
10
+ },
11
+ "status": {
12
+ "loading": "Loading...",
13
+ "error": {
14
+ "default": "An error occurred",
15
+ "serverConnection": "Could not reach the server"
16
+ }
17
+ }
18
+ },
19
+ "auth": {
20
+ "login": {
21
+ "title": "Login to access the app",
22
+ "form": {
23
+ "email": {
24
+ "label": "Email address",
25
+ "required": "email is a required field"
26
+ },
27
+ "password": {
28
+ "label": "Password",
29
+ "required": "password is a required field"
30
+ },
31
+ "actions": {
32
+ "signin": "Sign In"
33
+ },
34
+ "alternativeText": {
35
+ "or": "OR"
36
+ }
37
+ },
38
+ "errors": {
39
+ "default": "Unable to sign in",
40
+ "signin": "Try signing in with a different account",
41
+ "oauthSignin": "Try signing in with a different account",
42
+ "redirectUriMismatch": "The redirect URI is not matching the oauth app configuration",
43
+ "oauthCallback": "Try signing in with a different account",
44
+ "oauthCreateAccount": "Try signing in with a different account",
45
+ "emailCreateAccount": "Try signing in with a different account",
46
+ "callback": "Try signing in with a different account",
47
+ "oauthAccountNotLinked": "To confirm your identity, sign in with the same account you used originally",
48
+ "emailSignin": "The e-mail could not be sent",
49
+ "emailVerify": "Please verify your email, a new email has been sent",
50
+ "credentialsSignin": "Sign in failed. Check the details you provided are correct",
51
+ "sessionRequired": "Please sign in to access this page"
52
+ }
53
+ },
54
+ "provider": {
55
+ "continue": "Continue with {{provider}}"
56
+ }
57
+ },
58
+ "chat": {
59
+ "input": {
60
+ "placeholder": "Type your message here...",
61
+ "actions": {
62
+ "send": "Send message",
63
+ "stop": "Stop Task",
64
+ "attachFiles": "Attach files"
65
+ }
66
+ },
67
+ "speech": {
68
+ "start": "Start recording",
69
+ "stop": "Stop recording",
70
+ "connecting": "Connecting"
71
+ },
72
+ "fileUpload": {
73
+ "dragDrop": "Drag and drop files here",
74
+ "browse": "Browse Files",
75
+ "sizeLimit": "Limit:",
76
+ "errors": {
77
+ "failed": "Failed to upload",
78
+ "cancelled": "Cancelled upload of"
79
+ }
80
+ },
81
+ "messages": {
82
+ "status": {
83
+ "using": "Using",
84
+ "used": "Used"
85
+ },
86
+ "actions": {
87
+ "copy": {
88
+ "button": "Copy to clipboard",
89
+ "success": "Copied!"
90
+ }
91
+ },
92
+ "feedback": {
93
+ "positive": "Helpful",
94
+ "negative": "Not helpful",
95
+ "edit": "Edit feedback",
96
+ "dialog": {
97
+ "title": "Add a comment",
98
+ "submit": "Submit feedback"
99
+ },
100
+ "status": {
101
+ "updating": "Updating",
102
+ "updated": "Feedback updated"
103
+ }
104
+ }
105
+ },
106
+ "history": {
107
+ "title": "Last Inputs",
108
+ "empty": "Such empty...",
109
+ "show": "Show history"
110
+ },
111
+ "settings": {
112
+ "title": "Settings panel"
113
+ },
114
+ "watermark": "Built with"
115
+ },
116
+ "threadHistory": {
117
+ "sidebar": {
118
+ "title": "Past Chats",
119
+ "filters": {
120
+ "search": "Search",
121
+ "placeholder": "Search conversations..."
122
+ },
123
+ "timeframes": {
124
+ "today": "Today",
125
+ "yesterday": "Yesterday",
126
+ "previous7days": "Previous 7 days",
127
+ "previous30days": "Previous 30 days"
128
+ },
129
+ "empty": "No threads found",
130
+ "actions": {
131
+ "close": "Close sidebar",
132
+ "open": "Open sidebar"
133
+ }
134
+ },
135
+ "thread": {
136
+ "untitled": "Untitled Conversation",
137
+ "menu": {
138
+ "rename": "Rename",
139
+ "delete": "Delete"
140
+ },
141
+ "actions": {
142
+ "delete": {
143
+ "title": "Confirm deletion",
144
+ "description": "This will delete the thread as well as its messages and elements. This action cannot be undone",
145
+ "success": "Chat deleted",
146
+ "inProgress": "Deleting chat"
147
+ },
148
+ "rename": {
149
+ "title": "Rename Thread",
150
+ "description": "Enter a new name for this thread",
151
+ "form": {
152
+ "name": {
153
+ "label": "Name",
154
+ "placeholder": "Enter new name"
155
+ }
156
+ },
157
+ "success": "Thread renamed!",
158
+ "inProgress": "Renaming thread"
159
+ }
160
+ }
161
+ }
162
+ },
163
+ "navigation": {
164
+ "header": {
165
+ "chat": "Chat",
166
+ "readme": "Readme",
167
+ "theme": {
168
+ "light": "Light Theme",
169
+ "dark": "Dark Theme",
170
+ "system": "Follow System"
171
+ }
172
+ },
173
+ "newChat": {
174
+ "button": "New Chat",
175
+ "dialog": {
176
+ "title": "Create New Chat",
177
+ "description": "This will clear your current chat history. Are you sure you want to continue?",
178
+ "tooltip": "New Chat"
179
+ }
180
+ },
181
+ "user": {
182
+ "menu": {
183
+ "settings": "Settings",
184
+ "settingsKey": "S",
185
+ "apiKeys": "API Keys",
186
+ "logout": "Logout"
187
+ }
188
+ }
189
+ },
190
+ "apiKeys": {
191
+ "title": "Required API Keys",
192
+ "description": "To use this app, the following API keys are required. The keys are stored on your device's local storage.",
193
+ "success": {
194
+ "saved": "Saved successfully"
195
+ }
196
+ },
197
+ "alerts": {
198
+ "info": "Info",
199
+ "note": "Note",
200
+ "tip": "Tip",
201
+ "important": "Important",
202
+ "warning": "Warning",
203
+ "caution": "Caution",
204
+ "debug": "Debug",
205
+ "example": "Example",
206
+ "success": "Success",
207
+ "help": "Help",
208
+ "idea": "Idea",
209
+ "pending": "Pending",
210
+ "security": "Security",
211
+ "beta": "Beta",
212
+ "best-practice": "Best Practice"
213
+ }
214
+ }