Commit Graph

441 Commits

Author SHA1 Message Date
50h100a
497ca714a9 Tweak chroma memory retrieval so one big memory doesn't shut out smaller memories that might fit.
Fixed some log lines.
2023-07-09 04:31:34 -04:00
Cohee
0c7c9cad16 Merge pull request #671 from bdashore3/dev
Regex: Make MD formatting granular
2023-07-08 21:14:14 +03:00
kingbri
3c3eed0996 Regex: Change how MD formatting works
Previously, there was a checkbox to select placement as MD display.
This was counterintuitive since some users believed MD display
enclosed the other placement options.

Now, add a universal switch to finely tune what parts of a chat should
be excluded with MD formatting. For example a regex with the option
enabled with AI output selected will only format replies from the
character.

This is an improvement since users can now choose what parts of a
chat to format rather than sticking with a global display specifier.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-07-08 14:10:15 -04:00
Cohee
474a9cb99e Add parameter randomizer plugin 2023-07-08 20:24:15 +03:00
50h100a
5983e50d21 Query from *in context* messages, not every single message since the dawn of time... 2023-07-07 19:43:27 -04:00
Cohee
00e7d3c270 Merge branch 'main' into dev 2023-07-07 23:50:10 +03:00
Blueprint Coding
6a3282cbc4 Update silerotts.js - Fixed Caching issue in some browsers
Added this line to disable caching of file so new files are always played instead of browser cached versions.
2023-07-07 13:44:01 -06:00
Cohee
078947b73e Merge pull request #661 from 50h100a/color-coded-extension-states
Extension Manager visual update
2023-07-07 22:34:33 +03:00
50h100a
fca365de6c Removed parenthetical from "Author's Note".
Didn't seem to be accurate any more, anyway?
2023-07-07 14:42:13 -04:00
50h100a
f3d8f4a7da Merge branch 'dev' of https://github.com/SillyTavern/SillyTavern into smartcontext-improvements 2023-07-07 13:03:00 -04:00
Cohee
57ee954ad5 Animate VN mode expression changes 2023-07-07 19:09:53 +03:00
RossAscends
0d5cdcd0b1 HR betwn WI Entries; fading for solo sprites 2023-07-07 23:12:31 +09:00
Cohee
bd74ea12ea Reformat plugin code 2023-07-07 12:37:07 +03:00
Cohee
3162cf0e29 Merge pull request #653 from BlipRanger/feature/chroma-wi
Chroma Newline Chunking Option
2023-07-07 12:35:48 +03:00
Cohee
1bd9b8c1bf Fix variable usage 2023-07-07 12:34:28 +03:00
50h100a
e5e275a827 'Smart Context' updates and fixes.
Added alternative strategy.
Logic fix to reliably load memories.
Option to query using entire current chatlog.
2023-07-07 03:22:27 -04:00
BlipRanger
f854609512 Option to split on newlines 2023-07-07 00:23:28 -04:00
BlipRanger
e595f83590 Merge branch 'dev' of https://github.com/BlipRanger/SillyTavern into feature/chroma-wi 2023-07-06 23:58:30 -04:00
kingbri
82624ff55b Regex: fix multiple script bug
Multiple scripts were not running due to improper variable assingment.
For efficiency's sake, do not do a string comparison before returning
and instead do another variable assignment in the parent function.

Doing this reduces the length of regex hooks in the parent calls,
but also removes the need for unnecessary O(n) complexity of comparing
two string variables.

If there are errors, it would be advisable to add string comparison
and revert back to the old logic in parent function calls.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-07-06 22:32:40 -04:00
Cohee
87f436fe44 Merge pull request #641 from BlipRanger/dev 2023-07-06 08:26:08 +03:00
kingbri
fb69397ac1 Regex: Add overlay replacement strategy
As opposed to making the match variable include the entire regex
match, overlay the replacement string over the regex match and splice
out whatever's already in the replacement string from the regex match.

This new strategy helps save time when editing messages since match
prefix and suffix phrases have a lower chance of being repeated on
every edit. The overlay strategy also preserves uniqueness if the user
decides to change something in the edited text.

However, overlay can cause issues especially with punctiation,
so the strategy isn't chosen by default when creating a new regex.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-07-06 00:49:26 -04:00
kingbri
3168ee536e Regex: Add an about section in editor
Adds a small helpful message in the editor and a link to regexr
for learning regex interactively.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-07-06 00:43:32 -04:00
kingbri
8212206d50 Regex: Fix markdown format bugs
If a regex cannot be parsed, silently return out and don't run the
script. May be a good idea to display a toast message saying the
script didn't run.

Also only reload the chat if a chat is actually loaded.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-07-06 00:43:32 -04:00
BlipRanger
c9db2f7c9c More descriptive error handling. 2023-07-05 23:33:32 -04:00
Cohee
af6d9d48e0 Merge pull request #630 from bdashore3/dev
Add regex engine and other fixes
2023-07-05 17:30:17 +03:00
Cohee
5c39327450 Display Claude tokenizer in the UI if Claude model is used 2023-07-05 14:49:45 +03:00
kingbri
afdab4c5b6 Regex: Add character name override
Sendas uses a different character's name for messages, so allow
the use of a character name override in the regex match function.
This overrides substituteParams to use a different value.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-07-05 01:35:52 -04:00
kingbri
b8f86d55da Regex: Add substitution to regex and undefined checks
Sometimes a user may want to substitute variables in the regex
itself rather than just matching those variables. This can be
optionally enabled in the editor.

In addition, try preventing crashes by checking for undefined
variables or null coalescing.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-07-05 01:30:50 -04:00
kingbri
fee801c2a4 Regex: Upgrade engine
If the extension is disabled, don't use any regex formatting. In
addition, wrap all foreach logic into its own function which
reduces the size of all regex injections.

This commit also removes the need for working around static imports
as UI is separate from the engine and is therefore imported at the
same time as other non-static extensions.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-07-05 01:30:50 -04:00
kingbri
fb02c00402 Extensions: Workaround loading static extensions
Some extensions are statically imported inside script.js, bypassing
the extension load method. The true method to solve this is using
dynamic imports and undefined checks, but implementing this is
extremely time-consuming.

For now, add the extension_first_load event which fires when
first load is about to start. This changes loading priority to
static -> offline -> online/API.

In addition, initialize the event source earlier since it's more
important than most of the other imports.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-07-05 01:30:50 -04:00
kingbri
7c0222a15b Regex: Migrate CSS styling
Universal styling has been moved to the main styles.css.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-07-05 01:30:50 -04:00
kingbri
e6eae0aad1 Regex: Fix script duplication on edit
Editing a script can bypass the unique naming system by just renaming
the script to another one. This change ensures that no two script
names can be the same by checking if the existing index and found indices
differ.

If something goes wrong, it would be better to use a filter and a
map and then check the index array length/includes. FindIndex
is used here for efficiency's sake since each array index is unique.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-07-05 01:30:50 -04:00
kingbri
0f8d07053e Regex: Don't wrap scriptTemplate elements
Fix some UI for flex element wrapping. Text overflow for a script
name is now truncated if it exceeds one line of text. Also fix
how extension settings are laid out to prevent unnecessary
flex resizing.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-07-05 01:30:50 -04:00
kingbri
ee6a6603a3 Regex: Add trimStrings option
Sometimes the matched regex string needs to be pruned before
replacement. Add a method for the user to provide strings which
globally trims a regex match before any replacement is done.

Example without trim:
input - <Manami's thoughts: This is a thought>
regex - /<([^>]*)>/g
output - <Manami's thoughts: Manami's thoughts: This is a thought>

With trim:
input - <Manami's thoughts: This is a thought>
regex - /<([^>]*)>/g
trim - ["{{char}}'s thoughts: "]
output - <Manami's thoughts: This is a thought>

Signed-off-by: kingbri <bdashore3@proton.me>
2023-07-05 01:30:50 -04:00
kingbri
ef7aa3941b Extensions: Add regex engine
Regex is a method that is commonly used to find and replace parts
of a string using a single pattern. Add support for using regex in
SillyTavern which allows users to dynamically change various aspects
of the chatting experience.

Users are able to choose where a given regex script should apply
(both invasive and non-invasive options!). Invasive options alter
chat history while non-invasive alters markdown display for the
entire chat.

A new variable called {{match}} is added in regex scripts which
substitutes in the found match from the original find regex script.

There is a lot more that can be added to this extension, but for now,
this is enough.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-07-05 01:30:49 -04:00
Cohee
9a8e036ff9 Use floor rounding on chroma auto-calc 2023-07-05 01:25:43 +03:00
Cohee
0d858bdefb #591 Fix Chroma auto-adjust rounding N query to 0 2023-07-05 01:23:11 +03:00
RossAscends
19502492c6 Merge branch 'dev' of https://github.com/Cohee1207/SillyTavern into dev 2023-07-04 23:00:13 +09:00
RossAscends
3426f80656 Impervious MovingUI 2023-07-04 23:00:10 +09:00
Cohee
856b835172 Fix migration of settings.json 2023-07-04 11:41:15 +03:00
BlipRanger
e9ce2853cc Allow split on newlines (wip) 2023-07-03 17:48:53 -04:00
Cohee
6e15f7474f Fix obliteration of quick reply slots on input 2023-07-02 23:09:32 +03:00
Cohee
2e80de230e Fix Quick reply skill issue 2023-07-02 22:18:11 +03:00
Cohee
febef5dfba Customizable number of quick reply slots 2023-07-02 21:37:14 +03:00
Cohee
63bd4cd499 Fix selecting personas with quick reply 2023-07-01 19:25:04 +03:00
Cohee
cba2feb875 #569 Use main API as summary source 2023-06-30 23:37:01 +03:00
Cohee
b9a067b79f #588 Fix System TTS promise never resolving 2023-06-29 13:00:15 +03:00
Cohee
c18008725d Fix group VN mode 2023-06-28 16:39:37 +03:00
Cohee1207
f06ca28bbf Reduce console spam on expressions 2023-06-28 15:55:53 +03:00
Cohee
10e87dd5ca [WIP/Untested] DeepL translation API 2023-06-27 20:48:09 +03:00