sillytavern 1.12.1 → 1.12.3

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 (211) hide show
  1. package/.dockerignore +4 -0
  2. package/.editorconfig +1 -1
  3. package/CONTRIBUTING.md +32 -0
  4. package/config.yaml +2 -0
  5. package/default/config.yaml +2 -0
  6. package/default/content/index.json +18 -2
  7. package/default/content/presets/context/{DreamGen Role-Play V1.json → DreamGen Role-Play V1 ChatML.json } +1 -1
  8. package/default/content/presets/context/DreamGen Role-Play V1 Llama3.json +12 -0
  9. package/default/content/presets/instruct/{DreamGen Role-Play V1.json → DreamGen Role-Play V1 ChatML.json } +1 -1
  10. package/default/content/presets/instruct/DreamGen Role-Play V1 Llama3.json +18 -0
  11. package/default/content/themes/Cappuccino.json +1 -1
  12. package/default/content/themes/Celestial Macaron.json +37 -0
  13. package/default/content/themes/Dark V 1.0.json +37 -0
  14. package/jsconfig.json +6 -1
  15. package/package.json +2 -2
  16. package/public/css/animations.css +122 -0
  17. package/public/css/extensions-panel.css +5 -109
  18. package/public/css/loader.css +1 -1
  19. package/public/css/logprobs.css +1 -1
  20. package/public/css/popup-safari-fix.css +6 -0
  21. package/public/css/popup.css +184 -0
  22. package/public/css/select2-overrides.css +17 -5
  23. package/public/css/st-tailwind.css +13 -1
  24. package/public/css/tags.css +21 -2
  25. package/public/img/01ai.svg +59 -0
  26. package/public/img/featherless.svg +39 -0
  27. package/public/img/huggingface.svg +40 -0
  28. package/public/img/manual.svg +6 -0
  29. package/public/index.html +238 -231
  30. package/public/jsconfig.json +1 -0
  31. package/public/locales/ar-sa.json +9 -9
  32. package/public/locales/de-de.json +9 -9
  33. package/public/locales/es-es.json +9 -9
  34. package/public/locales/fr-fr.json +9 -9
  35. package/public/locales/is-is.json +9 -9
  36. package/public/locales/it-it.json +9 -9
  37. package/public/locales/ja-jp.json +9 -9
  38. package/public/locales/ko-kr.json +9 -9
  39. package/public/locales/nl-nl.json +9 -9
  40. package/public/locales/pt-pt.json +9 -9
  41. package/public/locales/ru-ru.json +1361 -1171
  42. package/public/locales/uk-ua.json +9 -9
  43. package/public/locales/vi-vn.json +9 -9
  44. package/public/locales/zh-cn.json +612 -264
  45. package/public/locales/zh-tw.json +9 -9
  46. package/public/login.html +1 -0
  47. package/public/script.js +457 -309
  48. package/public/scripts/PromptManager.js +21 -0
  49. package/public/scripts/RossAscends-mods.js +28 -20
  50. package/public/scripts/authors-note.js +4 -0
  51. package/public/scripts/autocomplete/AutoComplete.js +17 -8
  52. package/public/scripts/autocomplete/AutoCompleteNameResult.js +2 -2
  53. package/public/scripts/autocomplete/AutoCompleteOption.js +9 -1
  54. package/public/scripts/autocomplete/AutoCompleteSecondaryNameResult.js +1 -0
  55. package/public/scripts/backgrounds.js +6 -3
  56. package/public/scripts/bookmarks.js +3 -2
  57. package/public/scripts/bulk-edit.js +5 -0
  58. package/public/scripts/chats.js +126 -91
  59. package/public/scripts/constants.js +2 -0
  60. package/public/scripts/dragdrop.js +107 -0
  61. package/public/scripts/dynamic-styles.js +162 -0
  62. package/public/scripts/extensions/assets/index.js +1 -1
  63. package/public/scripts/extensions/assets/window.html +3 -3
  64. package/public/scripts/extensions/attachments/attach-button.html +4 -0
  65. package/public/scripts/extensions/attachments/index.js +68 -9
  66. package/public/scripts/extensions/attachments/{buttons.html → manage-button.html} +1 -4
  67. package/public/scripts/extensions/attachments/manager.html +12 -4
  68. package/public/scripts/extensions/caption/index.js +115 -17
  69. package/public/scripts/extensions/caption/settings.html +41 -25
  70. package/public/scripts/extensions/expressions/index.js +53 -20
  71. package/public/scripts/extensions/expressions/settings.html +25 -25
  72. package/public/scripts/extensions/gallery/index.js +28 -41
  73. package/public/scripts/extensions/memory/index.js +12 -7
  74. package/public/scripts/extensions/memory/settings.html +2 -2
  75. package/public/scripts/extensions/quick-reply/html/qrEditor.html +27 -23
  76. package/public/scripts/extensions/quick-reply/html/settings.html +9 -9
  77. package/public/scripts/extensions/quick-reply/index.js +1 -1
  78. package/public/scripts/extensions/quick-reply/src/QuickReply.js +17 -4
  79. package/public/scripts/extensions/quick-reply/src/QuickReplySet.js +1 -0
  80. package/public/scripts/extensions/quick-reply/src/SlashCommandHandler.js +261 -79
  81. package/public/scripts/extensions/quick-reply/src/ui/SettingsUi.js +1 -1
  82. package/public/scripts/extensions/quick-reply/style.css +82 -51
  83. package/public/scripts/extensions/quick-reply/style.less +513 -385
  84. package/public/scripts/extensions/regex/dropdown.html +3 -3
  85. package/public/scripts/extensions/regex/engine.js +1 -1
  86. package/public/scripts/extensions/regex/index.js +41 -8
  87. package/public/scripts/extensions/shared.js +17 -0
  88. package/public/scripts/extensions/stable-diffusion/index.js +190 -61
  89. package/public/scripts/extensions/stable-diffusion/settings.html +196 -84
  90. package/public/scripts/extensions/stable-diffusion/style.css +16 -21
  91. package/public/scripts/extensions/token-counter/index.js +6 -5
  92. package/public/scripts/extensions/translate/buttons.html +8 -0
  93. package/public/scripts/extensions/translate/deleteConfirmation.html +1 -0
  94. package/public/scripts/extensions/translate/index.html +38 -0
  95. package/public/scripts/extensions/translate/index.js +48 -57
  96. package/public/scripts/extensions/tts/azure.js +5 -4
  97. package/public/scripts/extensions/tts/coqui.js +2 -2
  98. package/public/scripts/extensions/tts/edge.js +1 -1
  99. package/public/scripts/extensions/tts/elevenlabs.js +8 -8
  100. package/public/scripts/extensions/tts/index.js +165 -101
  101. package/public/scripts/extensions/tts/novel.js +4 -3
  102. package/public/scripts/extensions/tts/sbvits2.js +344 -0
  103. package/public/scripts/extensions/tts/settings.html +83 -0
  104. package/public/scripts/extensions/tts/speecht5.js +1 -1
  105. package/public/scripts/extensions/tts/style.css +8 -40
  106. package/public/scripts/extensions/tts/vits.js +404 -0
  107. package/public/scripts/extensions/vectors/index.js +89 -7
  108. package/public/scripts/extensions/vectors/settings.html +90 -70
  109. package/public/scripts/extensions.js +45 -21
  110. package/public/scripts/group-chats.js +81 -25
  111. package/public/scripts/i18n.js +96 -17
  112. package/public/scripts/keyboard.js +247 -0
  113. package/public/scripts/loader.js +47 -15
  114. package/public/scripts/macros.js +139 -6
  115. package/public/scripts/openai.js +121 -42
  116. package/public/scripts/personas.js +45 -9
  117. package/public/scripts/popup.js +563 -155
  118. package/public/scripts/power-user.js +159 -85
  119. package/public/scripts/preset-manager.js +18 -9
  120. package/public/scripts/scrapers.js +22 -4
  121. package/public/scripts/secrets.js +6 -0
  122. package/public/scripts/slash-commands/SlashCommand.js +7 -2
  123. package/public/scripts/slash-commands/SlashCommandArgument.js +39 -30
  124. package/public/scripts/slash-commands/SlashCommandAutoCompleteNameResult.js +13 -8
  125. package/public/scripts/slash-commands/SlashCommandClosure.js +22 -2
  126. package/public/scripts/slash-commands/SlashCommandCommonEnumsProvider.js +232 -0
  127. package/public/scripts/slash-commands/SlashCommandEnumAutoCompleteOption.js +3 -3
  128. package/public/scripts/slash-commands/SlashCommandEnumValue.js +55 -1
  129. package/public/scripts/slash-commands/SlashCommandParser.js +12 -7
  130. package/public/scripts/slash-commands/SlashCommandScope.js +1 -1
  131. package/public/scripts/slash-commands.js +1328 -852
  132. package/public/scripts/sse-stream.js +1 -1
  133. package/public/scripts/tags.js +472 -195
  134. package/public/scripts/templates/charTagImport.html +22 -0
  135. package/public/scripts/templates/customEndpointAdditionalParameters.html +15 -0
  136. package/public/scripts/templates/debug.html +26 -24
  137. package/public/scripts/templates/duplicateConfirm.html +5 -0
  138. package/public/scripts/templates/forbidMedia.html +24 -0
  139. package/public/scripts/templates/formatting.html +23 -22
  140. package/public/scripts/templates/help.html +6 -6
  141. package/public/scripts/templates/hotkeys.html +11 -11
  142. package/public/scripts/templates/itemizationChat.html +3 -0
  143. package/public/scripts/templates/itemizationText.html +3 -0
  144. package/public/scripts/templates/macros.html +79 -77
  145. package/public/scripts/templates/themeDelete.html +3 -0
  146. package/public/scripts/templates/themeImportWarning.html +3 -0
  147. package/public/scripts/templates/wandButton.html +1 -0
  148. package/public/scripts/templates/wandMenu.html +16 -0
  149. package/public/scripts/templates/welcome.html +2 -2
  150. package/public/scripts/textgen-models.js +39 -0
  151. package/public/scripts/textgen-settings.js +61 -11
  152. package/public/scripts/tokenizers.js +4 -0
  153. package/public/scripts/user.js +4 -4
  154. package/public/scripts/utils.js +100 -10
  155. package/public/scripts/variables.js +499 -204
  156. package/public/scripts/world-info.js +881 -130
  157. package/public/style.css +305 -201
  158. package/public/webfonts/NotoSansMono/noto-sans-mono-v30-100.woff2 +0 -0
  159. package/public/webfonts/NotoSansMono/noto-sans-mono-v30-200.woff2 +0 -0
  160. package/public/webfonts/NotoSansMono/noto-sans-mono-v30-300.woff2 +0 -0
  161. package/public/webfonts/NotoSansMono/noto-sans-mono-v30-500.woff2 +0 -0
  162. package/public/webfonts/NotoSansMono/noto-sans-mono-v30-600.woff2 +0 -0
  163. package/public/webfonts/NotoSansMono/noto-sans-mono-v30-700.woff2 +0 -0
  164. package/public/webfonts/NotoSansMono/noto-sans-mono-v30-800.woff2 +0 -0
  165. package/public/webfonts/NotoSansMono/noto-sans-mono-v30-900.woff2 +0 -0
  166. package/public/webfonts/NotoSansMono/noto-sans-mono-v30-regular.woff2 +0 -0
  167. package/public/webfonts/NotoSansMono/stylesheet.css +89 -0
  168. package/server.js +12 -7
  169. package/src/additional-headers.js +28 -0
  170. package/src/constants.js +64 -2
  171. package/src/endpoints/anthropic.js +2 -1
  172. package/src/endpoints/avatars.js +2 -2
  173. package/src/endpoints/backends/chat-completions.js +11 -1
  174. package/src/endpoints/backends/text-completions.js +25 -7
  175. package/src/endpoints/backgrounds.js +1 -2
  176. package/src/endpoints/characters.js +80 -18
  177. package/src/endpoints/chats.js +6 -4
  178. package/src/endpoints/content-manager.js +1 -1
  179. package/src/endpoints/extensions.js +2 -2
  180. package/src/endpoints/novelai.js +11 -0
  181. package/src/endpoints/openai.js +8 -3
  182. package/src/endpoints/{serpapi.js → search.js} +53 -1
  183. package/src/endpoints/secrets.js +3 -0
  184. package/src/endpoints/settings.js +57 -6
  185. package/src/endpoints/sprites.js +2 -3
  186. package/src/endpoints/translate.js +49 -1
  187. package/src/endpoints/vectors.js +33 -0
  188. package/src/endpoints/worldinfo.js +1 -2
  189. package/src/util.js +10 -2
  190. package/src/vectors/vllm-vectors.js +63 -0
  191. package/.github/ISSUE_TEMPLATE/bug-report.yml +0 -90
  192. package/.github/ISSUE_TEMPLATE/feature-request.yml +0 -91
  193. package/.github/close-label.yml +0 -2
  194. package/.github/issue-auto-comments.yml +0 -62
  195. package/.github/labeler.yml +0 -18
  196. package/.github/readme-ja_jp.md +0 -314
  197. package/.github/readme-ru_ru.md +0 -359
  198. package/.github/readme-zh_cn.md +0 -306
  199. package/.github/readme.md +0 -396
  200. package/.github/workflows/add-comment-from-tag.yml +0 -28
  201. package/.github/workflows/check-merge-conflicts.yml +0 -17
  202. package/.github/workflows/close-stale-issues.yml +0 -82
  203. package/.github/workflows/docker-publish.yml +0 -94
  204. package/.github/workflows/get-pr-size.yml +0 -39
  205. package/.github/workflows/labeler.yml +0 -19
  206. package/.github/workflows/manage-pending-labels-closed.yml +0 -17
  207. package/.github/workflows/manage-pending-labels.yml +0 -42
  208. package/.github/workflows/npm-publish.yml +0 -32
  209. package/.github/workflows/update-i18n.yaml +0 -33
  210. package/.vscode/extensions.json +0 -11
  211. package/data/.gitkeep +0 -0
package/.dockerignore CHANGED
@@ -1,4 +1,6 @@
1
1
  .git
2
+ .github
3
+ .vscode
2
4
  node_modules
3
5
  npm-debug.log
4
6
  readme*
@@ -8,3 +10,5 @@ Start.bat
8
10
  cloudflared.exe
9
11
  access.log
10
12
  /data
13
+ /cache
14
+ .DS_Store
package/.editorconfig CHANGED
@@ -5,7 +5,7 @@ end_of_line = lf
5
5
  insert_final_newline = true
6
6
  trim_trailing_whitespace = true
7
7
 
8
- [*.{js, conf, json}]
8
+ [*.{js, conf, json, css, less, html}]
9
9
  charset = utf-8
10
10
  indent_style = space
11
11
  indent_size = 4
@@ -0,0 +1,32 @@
1
+ # How to contribute to SillyTavern
2
+
3
+ ## Setting up the dev environment
4
+
5
+ 1. Required software: git and node.
6
+ 2. Recommended editor: Visual Studio Code.
7
+ 3. You can also use GitHub Codespaces which sets up everything for you.
8
+
9
+ ## Getting the code ready
10
+
11
+ 1. Register a GitHub account.
12
+ 2. Fork this repository under your account.
13
+ 3. Clone the fork onto your machine.
14
+ 4. Open the cloned repository in the code editor.
15
+ 5. Create a git branch (recommended).
16
+ 6. Make your changes and test them locally.
17
+ 7. Commit the changes and push the branch to the remote repo.
18
+ 8. Go to GitHub, and open a pull request, targeting the upstream branch.
19
+
20
+ ## Contribution guidelines
21
+
22
+ 1. Our standards are pretty low, but make sure the code is not too ugly:
23
+ - Run VS Code's autoformat when you're done.
24
+ - Check with ESLint by running `npm run lint`, then fix the errors.
25
+ - Use common sense and follow existing naming conventions.
26
+ 2. Create pull requests for the staging branch, 99% of contributions should go there. That way people could test your code before the next stable release.
27
+ 3. You can still send a pull request for release in the following scenarios:
28
+ - Updating README.
29
+ - Updating GitHub Actions.
30
+ - Hotfixing a critical bug.
31
+ 4. Project maintainers will test and can change your code before merging.
32
+ 5. Mind the license. Your contributions will be licensed under the GNU Affero General Public License. If you don't know what that implies, consult your lawyer.
package/config.yaml CHANGED
@@ -48,6 +48,8 @@ allowKeysExposure: false
48
48
  skipContentCheck: false
49
49
  # Disable automatic chats backup
50
50
  disableChatBackup: false
51
+ # Number of backups to keep for each chat and settings file
52
+ numberOfBackups: 50
51
53
  # Allowed hosts for card downloads
52
54
  whitelistImportDomains:
53
55
  - localhost
@@ -48,6 +48,8 @@ allowKeysExposure: false
48
48
  skipContentCheck: false
49
49
  # Disable automatic chats backup
50
50
  disableChatBackup: false
51
+ # Number of backups to keep for each chat and settings file
52
+ numberOfBackups: 50
51
53
  # Allowed hosts for card downloads
52
54
  whitelistImportDomains:
53
55
  - localhost
@@ -11,6 +11,14 @@
11
11
  "filename": "themes/Cappuccino.json",
12
12
  "type": "theme"
13
13
  },
14
+ {
15
+ "filename": "themes/Celestial Macaron.json",
16
+ "type": "theme"
17
+ },
18
+ {
19
+ "filename": "themes/Dark V 1.0.json",
20
+ "type": "theme"
21
+ },
14
22
  {
15
23
  "filename": "backgrounds/__transparent.png",
16
24
  "type": "background"
@@ -476,7 +484,11 @@
476
484
  "type": "context"
477
485
  },
478
486
  {
479
- "filename": "presets/context/DreamGen Role-Play V1.json",
487
+ "filename": "presets/context/DreamGen Role-Play V1 ChatML.json",
488
+ "type": "context"
489
+ },
490
+ {
491
+ "filename": "presets/context/DreamGen Role-Play V1 Llama3.json",
480
492
  "type": "context"
481
493
  },
482
494
  {
@@ -556,7 +568,11 @@
556
568
  "type": "instruct"
557
569
  },
558
570
  {
559
- "filename": "presets/instruct/DreamGen Role-Play V1.json",
571
+ "filename": "presets/instruct/DreamGen Role-Play V1 ChatML.json",
572
+ "type": "instruct"
573
+ },
574
+ {
575
+ "filename": "presets/instruct/DreamGen Role-Play V1 Llama3.json",
560
576
  "type": "instruct"
561
577
  },
562
578
  {
@@ -8,5 +8,5 @@
8
8
  "trim_sentences": true,
9
9
  "include_newline": false,
10
10
  "single_line": false,
11
- "name": "DreamGen Role-Play V1"
11
+ "name": "DreamGen Role-Play V1 ChatML"
12
12
  }
@@ -0,0 +1,12 @@
1
+ {
2
+ "story_string": "<|start_header_id|>system<|end_header_id|>\n\n{{#if system}}{{system}}\n\n\n{{/if}}## Overall plot description:\n\n{{#if scenario}}{{scenario}}{{else}}Conversation between {{char}} and {{user}}.{{/if}}{{#if wiBefore}}\n\n{{wiBefore}}{{/if}}\n\n\n## Characters:\n\n### {{char}}\n\n{{#if description}}{{description}}\n\n{{/if}}{{#if personality}}{{personality}}\n\n{{/if}}### {{user}}\n\n{{#if persona}}{{persona}}{{else}}{{user}} is the protagonist of the role-play.{{/if}}{{#if wiAfter}}\n\n{{wiAfter}}{{/if}}{{#if mesExamples}}\n\n{{mesExamples}}{{/if}}",
3
+ "example_separator": "<|eot_id|>\n<|start_header_id|>user<|end_header_id|>\n\nWrite an example narrative / conversation that is not part of the main story.",
4
+ "chat_start": "<|eot_id|>\n<|start_header_id|>user<|end_header_id|>\n\nStart the role-play between {{char}} and {{user}}.",
5
+ "use_stop_strings": false,
6
+ "allow_jailbreak": false,
7
+ "always_force_name2": false,
8
+ "trim_sentences": true,
9
+ "include_newline": false,
10
+ "single_line": false,
11
+ "name": "DreamGen Role-Play V1 Llama3"
12
+ }
@@ -20,5 +20,5 @@
20
20
  "user_alignment_message": "",
21
21
  "system_same_as_user": true,
22
22
  "last_system_sequence": "",
23
- "name": "DreamGen Role-Play V1"
23
+ "name": "DreamGen Role-Play V1 ChatML"
24
24
  }
@@ -0,0 +1,18 @@
1
+ {
2
+ "system_prompt": "You are an intelligent, skilled, versatile writer.\n\nYour task is to write a role-play based on the information below.",
3
+ "input_sequence": "<|eot_id|>\n<|start_header_id|>writer character: {{user}}<|end_header_id|>\n\n",
4
+ "output_sequence": "<|eot_id|>\n<|start_header_id|>writer character: {{char}}<|end_header_id|>\n\n",
5
+ "first_output_sequence": "",
6
+ "last_output_sequence": "",
7
+ "system_sequence_prefix": "",
8
+ "system_sequence_suffix": "",
9
+ "stop_sequence": "",
10
+ "separator_sequence": "",
11
+ "wrap": false,
12
+ "macro": true,
13
+ "names": false,
14
+ "names_force_groups": false,
15
+ "activation_regex": "",
16
+ "skip_examples": false,
17
+ "name": "DreamGen Role-Play V1 Llama3"
18
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "Cappuccino",
3
3
  "blur_strength": 3,
4
- "main_text_color": "rgba(255, 255, 255, 1)",
4
+ "main_text_color": "rgba(235, 235, 235, 1)",
5
5
  "italics_text_color": "rgba(230, 210, 190, 1)",
6
6
  "underline_text_color": "rgba(205, 180, 160, 1)",
7
7
  "quote_text_color": "rgba(165, 140, 115, 1)",
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "Celestial Macaron",
3
+ "blur_strength": 10,
4
+ "main_text_color": "rgba(229, 175, 162, 1)",
5
+ "italics_text_color": "rgba(146, 147, 161, 1)",
6
+ "underline_text_color": "rgba(157, 215, 198, 1)",
7
+ "quote_text_color": "rgba(197, 202, 206, 1)",
8
+ "blur_tint_color": "rgba(23, 36, 55, 0.9)",
9
+ "chat_tint_color": "rgba(18, 26, 40, 0.9)",
10
+ "user_mes_blur_tint_color": "rgba(51, 67, 90, 0.7)",
11
+ "bot_mes_blur_tint_color": "rgba(23, 36, 55, 0.75)",
12
+ "shadow_color": "rgba(0, 0, 0, 0.3)",
13
+ "shadow_width": 1,
14
+ "border_color": "rgba(60, 74, 110, 0.93)",
15
+ "font_scale": 1,
16
+ "fast_ui_mode": false,
17
+ "waifuMode": false,
18
+ "avatar_style": 0,
19
+ "chat_display": 1,
20
+ "noShadows": true,
21
+ "chat_width": 58,
22
+ "timer_enabled": true,
23
+ "timestamps_enabled": true,
24
+ "timestamp_model_icon": false,
25
+ "mesIDDisplay_enabled": true,
26
+ "hideChatAvatars_enabled": false,
27
+ "message_token_count_enabled": true,
28
+ "expand_message_actions": true,
29
+ "enableZenSliders": false,
30
+ "enableLabMode": false,
31
+ "hotswap_enabled": true,
32
+ "custom_css": "",
33
+ "bogus_folders": true,
34
+ "zoomed_avatar_magnification": false,
35
+ "reduced_motion": false,
36
+ "compact_input_area": true
37
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "Dark V 1.0",
3
+ "blur_strength": 13,
4
+ "main_text_color": "rgba(207, 207, 197, 1)",
5
+ "italics_text_color": "rgba(145, 145, 145, 1)",
6
+ "underline_text_color": "rgba(145, 145, 145, 1)",
7
+ "quote_text_color": "rgba(198, 193, 151, 1)",
8
+ "blur_tint_color": "rgba(29, 33, 40, 0.9)",
9
+ "chat_tint_color": "rgba(29, 33, 40, 0.9)",
10
+ "user_mes_blur_tint_color": "rgba(29, 33, 40, 0.9)",
11
+ "bot_mes_blur_tint_color": "rgba(29, 33, 40, 0.9)",
12
+ "shadow_color": "rgba(0, 0, 0, 0.9)",
13
+ "shadow_width": 2,
14
+ "border_color": "rgba(0, 0, 0, 1)",
15
+ "font_scale": 1,
16
+ "fast_ui_mode": false,
17
+ "waifuMode": false,
18
+ "avatar_style": 0,
19
+ "chat_display": 0,
20
+ "noShadows": false,
21
+ "chat_width": 55,
22
+ "timer_enabled": false,
23
+ "timestamps_enabled": false,
24
+ "timestamp_model_icon": false,
25
+ "mesIDDisplay_enabled": false,
26
+ "hideChatAvatars_enabled": false,
27
+ "message_token_count_enabled": false,
28
+ "expand_message_actions": false,
29
+ "enableZenSliders": false,
30
+ "enableLabMode": false,
31
+ "hotswap_enabled": true,
32
+ "custom_css": "",
33
+ "bogus_folders": true,
34
+ "zoomed_avatar_magnification": true,
35
+ "reduced_motion": true,
36
+ "compact_input_area": false
37
+ }
package/jsconfig.json CHANGED
@@ -15,6 +15,11 @@
15
15
  "**/node_modules/*",
16
16
  "public/lib",
17
17
  "backups/*",
18
- "data/*"
18
+ "data/*",
19
+ "**/dist/*",
20
+ "dist/*",
21
+ "cache/*",
22
+ "src/tokenizers/*",
23
+ "docker/*",
19
24
  ]
20
25
  }
package/package.json CHANGED
@@ -38,7 +38,7 @@
38
38
  "vectra": "^0.2.2",
39
39
  "wavefile": "^11.0.0",
40
40
  "write-file-atomic": "^5.0.1",
41
- "ws": "^8.13.0",
41
+ "ws": "^8.17.1",
42
42
  "yaml": "^2.3.4",
43
43
  "yargs": "^17.7.1",
44
44
  "yauzl": "^2.10.0"
@@ -70,7 +70,7 @@
70
70
  "type": "git",
71
71
  "url": "https://github.com/SillyTavern/SillyTavern.git"
72
72
  },
73
- "version": "1.12.1",
73
+ "version": "1.12.3",
74
74
  "scripts": {
75
75
  "start": "node server.js",
76
76
  "start:no-csrf": "node server.js --disableCsrf",
@@ -0,0 +1,122 @@
1
+ /* Fade animations with opacity */
2
+ @keyframes fade-in {
3
+ 0% {
4
+ opacity: 0;
5
+ }
6
+
7
+ 100% {
8
+ opacity: 1;
9
+ }
10
+ }
11
+
12
+ @keyframes fade-out {
13
+ 0% {
14
+ opacity: 1;
15
+ }
16
+
17
+ 100% {
18
+ opacity: 0;
19
+ }
20
+ }
21
+
22
+ /* Pop animations with opacity and vertical scaling */
23
+ @keyframes pop-in {
24
+ 0% {
25
+ opacity: 0;
26
+ transform: scaleY(0);
27
+ }
28
+
29
+ /* Make the scaling faster on pop-in, otherwise it looks a bit weird */
30
+ 33% {
31
+ transform: scaleY(1);
32
+ }
33
+
34
+ 100% {
35
+ opacity: 1;
36
+ transform: scaleY(1);
37
+ }
38
+ }
39
+
40
+ @keyframes pop-out {
41
+ 0% {
42
+ opacity: 1;
43
+ transform: scaleY(1);
44
+ }
45
+
46
+ 100% {
47
+ opacity: 0;
48
+ transform: scaleY(0);
49
+ }
50
+ }
51
+
52
+ /* Flashing for highlighting animation */
53
+ @keyframes flash {
54
+
55
+ 20%,
56
+ 60%,
57
+ 100% {
58
+ opacity: 1;
59
+ }
60
+
61
+ 0%,
62
+ 40%,
63
+ 80% {
64
+ opacity: 0.2;
65
+ }
66
+ }
67
+
68
+ /* Pulsing highlight, slightly resizing the element */
69
+ @keyframes pulse {
70
+ from {
71
+ transform: scale(1);
72
+ filter: brightness(1.1);
73
+ }
74
+
75
+ to {
76
+ transform: scale(1.01);
77
+ filter: brightness(1.3);
78
+ }
79
+ }
80
+
81
+ /* Ellipsis animation */
82
+ @keyframes ellipsis {
83
+ 0% {
84
+ content: ""
85
+ }
86
+
87
+ 25% {
88
+ content: "."
89
+ }
90
+
91
+ 50% {
92
+ content: ".."
93
+ }
94
+
95
+ 75% {
96
+ content: "..."
97
+ }
98
+ }
99
+
100
+ /* HEINOUS */
101
+ @keyframes infinite-spinning {
102
+ from {
103
+ transform: rotate(0deg);
104
+ }
105
+
106
+ to {
107
+ transform: rotate(360deg);
108
+ }
109
+ }
110
+
111
+ /* STscript animation */
112
+ @keyframes script_progress_pulse {
113
+
114
+ 0%,
115
+ 100% {
116
+ border-top-color: var(--progColor);
117
+ }
118
+
119
+ 50% {
120
+ border-top-color: var(--progFlashColor);
121
+ }
122
+ }
@@ -36,7 +36,6 @@ label[for="extensions_autoconnect"] {
36
36
 
37
37
  .extensions_info {
38
38
  text-align: left;
39
- margin: 0 1em;
40
39
  }
41
40
 
42
41
  .extensions_info h3 {
@@ -97,114 +96,11 @@ input.extension_missing[type="checkbox"] {
97
96
  flex-direction: column;
98
97
  }
99
98
 
100
- /** LEFT COLUMN **/
101
- /* Must be always on top */
102
- #extensions_settings>#assets_ui {
103
- order: -1;
104
- }
105
-
106
- #extensions_settings>.expression_settings {
107
- order: 2;
108
- }
109
-
110
- #extensions_settings>.background_settings {
111
- order: 3;
112
- }
113
-
114
- #extensions_settings>.sd_settings {
115
- order: 4;
116
- }
117
-
118
- #extensions_settings>#tts_settings {
119
- order: 5;
120
- }
121
-
122
- #extensions_settings>#rvc_settings {
123
- order: 6;
124
- }
125
-
126
- #extensions_settings>.objective-settings {
127
- order: 7;
128
- }
129
-
130
- #extensions_settings>#speech_recognition_settings {
131
- order: 8;
132
- }
133
-
134
- #extensions_settings>#audio_settings {
135
- order: 9;
136
- }
137
-
138
- /** RIGHT COLUMN **/
139
- #extensions_settings2>.translation_settings {
140
- order: 1;
141
- }
142
-
143
- #extensions_settings2>.caption_settings {
144
- order: 2;
145
- }
146
-
147
- #extensions_settings2>.quickReplySettings {
148
- order: 3;
149
- }
150
-
151
- #extensions_settings2>.idle-settings {
152
- order: 4;
153
- }
154
-
155
- #extensions_settings2>#memory_settings {
156
- order: 5;
157
- }
158
-
159
- #extensions_settings2>.hypebot_settings {
160
- order: 6;
161
- }
162
-
163
- #extensions_settings2>.regex_settings {
164
- order: 7;
165
- }
166
-
167
- #extensions_settings2>.vectors_settings {
168
- order: 8;
169
- }
170
-
171
- #extensions_settings2>.chromadb_settings {
172
- order: 9;
173
- }
174
-
175
- #extensions_settings2>.randomizer_settings {
176
- order: 10;
177
- }
178
-
179
- /** WAND MENU **/
180
- #extensionsMenu>#ttsExtensionMenuItem {
181
- order: 1;
182
- }
183
-
184
- #extensionsMenu>#sd_gen {
185
- order: 2;
186
- }
187
-
188
- #extensionsMenu>#send_picture {
189
- order: 3;
190
- }
191
-
192
- #extensionsMenu>#token_counter {
193
- order: 4;
194
- }
195
-
196
- #extensionsMenu>#objective-task-manual-check-menu-item {
197
- order: 5;
198
- }
199
-
200
- #extensionsMenu>#roll_dice {
201
- order: 6;
202
- }
203
-
204
- #extensionsMenu>#translate_chat {
205
- order: 7;
99
+ /* Fixes order of settings for extensions */
100
+ .extension_container {
101
+ display: contents;
206
102
  }
207
103
 
208
- #extensionsMenu>#translate_input_message {
209
- order: 8;
104
+ #extensionsMenu>div.extension_container:empty {
105
+ display: none;
210
106
  }
@@ -1,4 +1,4 @@
1
- #loader, #preloader {
1
+ #preloader {
2
2
  position: fixed;
3
3
  margin: 0;
4
4
  padding: 0;
@@ -98,7 +98,7 @@
98
98
  font-weight: bold;
99
99
  }
100
100
 
101
- .logprobs_top_candidate:not([disabled]):hover, .logprobs_top_candidate:not([disabled]):focus {
101
+ .logprobs_top_candidate:not([disabled]):hover {
102
102
  background-color: rgba(0, 0, 0, 0.3);
103
103
  }
104
104
 
@@ -0,0 +1,6 @@
1
+ /* iPhone copium land */
2
+ .ios .popup .popup-body {
3
+ height: fit-content;
4
+ max-height: 90vh;
5
+ max-height: 90svh;
6
+ }