Commit Graph

1028 Commits

Author SHA1 Message Date
Cohee e2e7d5870a Export a function for renaming an active chat 2024-05-14 21:15:01 +03:00
Yokayo 118d2c5bcf Remove unneeded comment 2024-05-13 19:22:48 +07:00
Yokayo 6023eac4bb Onboarding lang switch; more localizable strings; enhance ru-ru translation 2024-05-13 19:20:28 +07:00
Cohee 5b7bfbaa98 Merge branch 'staging' into default-content 2024-05-12 23:48:49 +03:00
Len 1d75b98393
STscript Parser Rewrite (#1965)
* set isForced to true on input

* make floating auto-complete follow horizontal scrolling

* add callable closure vars

* changes to /let and /var for callable closures

* fix error message

* fix scope for closure arguments

* if should return the pipe result from closures

* use /run to call closures and no arguments on immediate closures

* throw exception from QRs window-function if no match

* when to show autocomplete vs info only

* autocomplete positioning

* autocomplete styling

* add theming to autocomplete (theme, dark, light)

* improve autocomplete show/hide logic and editor selection

* use blur tint color instead of chat tint color and use blur setting

* cleanup and docs

* use scope macros for QR args

* add enter to select autocomplete

* fix no executor found

* cleanup and comment

* fix alias list in help string

* fallback to empty string piped value if null or undefined

* fix typo

* blur textarea on ctrl+enter execute (and refocus after)

* stop executeSlashCommand if parser throws

* move /let and /var callbacks into functions

* switch textarea to monospace when value starts with slash

* add double pipe a pipe breaker

* fix /? slash

* remove some logging

* add "/:name" as shorthand for "/run name" after all

* move shit around

* fix error message

* use testRunShorthandEnd

* use parseQuotedValue and parseValue to determine name for "/:"

QR labels and set names can include spaces

* add some adjustments to make autocomplete work properly

some hint in there about "/:" would still be nice

* add autocomplete style  selector

* only strip quotes from subcommand if they are at both ends

* fix JSDoc

* escaping

* allow open quotes on dry run

* throwing shit at the wall for /: autocomplete

* escapes only for symbols

* clean up autocomplete

* improve performance

* fix scope macros

* remove unescaping of pipes

* fix macros in scope copy

* fix "/? slash"

* don't run parser for getNameAt if text has not changed

* fix options filter

* re-enable blur listener

* restore selection on non-replace select

* fix for escaping first character of value

* add support for {{pipe}} and {{var::}} closures

* add index support to var macro

* add scoped var macro to macro help

* more escape fixes

* reduce autocomplete render debounce

* cleanup

* restore old escape handling and parser flag for strict escaping

* fix "no match" autocomplete message

* add dummy commands for comments and parser flag

* fix type annotations

* somewhat safer macro replacements

* fix autocomplete select on blank / "no match"

* fix cutting off handled part in substitution

* add parser flag REPLACE_GETVAR

Replaces all {{getvar::}} and {{getglobalvar::}} macros with {{var::}}.
Inserts a series of command executors before the command with the macros that:
- save {{pipe}} to a var
- call /getvar or /getglobalvar to get the variable used in the macro
- call /let to save the retrieved variable
- return the saved {{pipe}} value

This helps to avoid double-substitutions when the var values contain text that could be interpreted as macros.

* remove old parser

* fix send on enter when no match

* deal with pipes in quoted values (loose escaping)

* add default parser flags to user settings

* allow quoted values in unnamed argument

* set parser flag without explicit state to "on"

* add click hint on parser error toast

* dirty more detailed cmd defs

* remove name from unnamed arg

* move autocomplete into class and floating with details

* replace jQuery's trigger('input') on #send_textarea with native events because jQuery does not dispatch the native event

* fix ctrl+space

* fix arrow navigation

* add comments

* fix pointer block

* add static fromProps

* fix up dummy commands

* migrate all commands to addCommandObject

* remove commented comment command

* fix alias in details

* add range as argument type

* switch to addCommandObject

* switch to addCommandObject

* fix height

* fix floating details position on left

* re-enable blur event

* use auto width for full details on floating autocomplete

* auto-size floating full details

* fix typo

* re-enable blur listener

* don't prevent enter when selected item is fully typed out

* add autocomplete details tooltips

* add language to slash command examples

* move makeItem into option and command and fix click select

* use autocomplete parts in /? slash

* fix alias formatting

* add language to slash command examples

* fix details position on initial input history

* small screen styles

* replace registerSlashCommand with detailed declarations

* put name on first line

* add missing returns

* fix missing comma

* fix alias display in autocomplete list

* remove args from help string

* move parser settings to its own section

* jsdoc

* hljs stscript lang

* add hljs to autocomplete help examples

* add missing import

* apply autocomplete colors to stscript codeblocks (hljs)

* add fromProps

* cache autocomplete elements

* towards generic autocomplete

* remove unused imports

* fix blanks

* add return types

* re-enable blur

* fix blank check

* Caption messages by id

* add aborting command execution

* fix return type

* fix chat input font reset

* add slash command progress indicator

* add missing return

* mark registerSlashCommand deprecated

* why??

* separate abort logic for commands

* remove parsing of quoted values from unnamed arg

* add adjustable autocomplete width

* revert stop button pulse

* add progress and pause/abort to QR editor

* add resize event on autocomplete width change

* add key= argument to all get vars

* refactoring

* introduce NamedArgumentAsignment

* add TODOs

* refactoring

* record start and end of named arg assignment

* refactoring

* prevent duplicate calls to show

* refactoring

* remove macro ac

* add secondary autocomplete and enum descriptions

* add syntax highlighting to QR editor

* add enum descriptions to /while

* add /let key=... to scope variable names

* add unnamed argument assignment class and unnamed argument splitting

* fix QR editor style

* remove dash before autocomplete help text

* add autocomplete for unnamed enums

* fix remaining dom after holding backslash

* fix for unnamed enums

* fix autocomplete for /parser-flag

* add parser-flag enum help

* fix type annotations

* fix autocomplete result for /:

* add colored autocomplete type icons

* collapse second line autocomplete help if empty

* mark optional named args in autocomplete

* fix when what

* remove duplicate debug buttons

* dispatch input on autocomplete select

* prevent grow from editor syntax layer

* add auto-adjust qr editor caret color

* remove text-shadow from autocomplete

* join value strings in /let and /var

* add /abort syntax highlight

* fix attempting secondary result when there is none

* rename settings headers and split autocomplete / stscript

* add parser flag tooltips

* add tooltips to chat width stops

* fix typo

* return clone of help item

* fix enum string

* don't make optional notice for autocomplete arguments smaller

* avoid scrollbar in chat input

* add rudimentary macro autocomplete

* strip macro from helptext

* finally remove closure delimiters around root

* cleanup

* fix index stuff for removed closure delimiters

* fix type hint

* add child commands to progress indicator

* include sub-separator in macro autocomplete

* remove all mentions of interruptsGeneration and purge

* remove unused imports

* fix syntax highlight with newline at end of input

* cleanup select pointer events

* coalesce onProgress call

* add regex to STscript syntax highlighting

* fix closure end

* fix autocomplete type icon alignment

* adjustments for small screens

* fix removing wrong element

* add missing "at=" arg to /sys, /comment, /sendas

* add font scale setting for autocomplete

* add target=_blank for parser flag links

* fix for searching enums

* remove REGEXP_MODE from hljs
just causes trouble

* fix autocomplete in closures

* fix typo

* fix type hint

* Get rid of scroll bar on load

* Add type hint for /send name argument. Fix 'at' types

* Add 'negative' arg hint to /sd command

* reenable blur event

* Allow /summarize to process any text

* Compact layout of script toggles

* Expand CSS by default

* fix double ranger indicator and adjust to narrow container

* make custom css input fill available vertical space

* reduce scroll lag

* use default cursor on scrollbar

* Clean-up module loading in index.html

* fix tab indent with hljs

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2024-05-12 22:15:05 +03:00
Cohee 0ba600bb2b Code clean-up 2024-05-12 17:53:38 +03:00
Cohee 9ed6ee2161 Sample Character browser to onboarding 2024-05-12 16:43:09 +03:00
steve02081504 45a080016e move to env 2024-05-12 09:01:30 +08:00
steve02081504 78cf6e9086 Merge branch 'staging' into pr/2204 2024-05-12 08:51:47 +08:00
Cohee 91945ec77e Fix misleading JSDoc 2024-05-12 00:22:36 +03:00
Cohee 7b472f13af Require a ping call before generation 2024-05-12 00:18:56 +03:00
Cohee 6a4ee68113 Message delete highlight color follows theme settings 2024-05-11 17:17:42 +03:00
steve green f421139402
Create char-data.js for type hint (#2209)
* Create char-data.js for type hint

code from 7df0d1e06d/src/charData.mjs

* add hint

* fixes

* `class` -> JSdoc typedef by AI

* use `import`

* `v2DataWorldInfo`

* Rename book typedef

* Fix type errors

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2024-05-11 12:05:13 +03:00
Cohee e17a18ad5d #2210 Replace line breaks with <br> in unknown elements 2024-05-10 15:59:01 +03:00
steve02081504 7a2f6fb63f `{{char_version_url_encoded}}` and macro replace in `creator_notes_spoiler` 2024-05-10 07:24:05 +08:00
Cohee 9db2f1cb91 #2203 Fix copy not working in hidden messages 2024-05-09 16:07:13 +03:00
Cohee f37e444791
Merge pull request #2194 from LenAnderson/remove-hljs-innerText
don't replace codeblock textContent with innerText in hljs
2024-05-08 18:13:02 +03:00
LenAnderson 1ae08f49c5 don't replace codeblock textContent with innerText in hljs 2024-05-08 11:03:05 -04:00
Cohee 883da48762 Prefer const variables 2024-05-08 15:10:53 +03:00
Cohee 49d0d9f557 Fix return type on empty WI 2024-05-08 15:04:17 +03:00
kingbri 01aacb9280 World Info: Add example messages insertion point
Allow insertion above and below mesExamples (also known as the
"examples of dialogue") box.

Signed-off-by: kingbri <bdashore3@proton.me>
2024-05-07 21:55:26 -04:00
kingbri 96506947cb Messages + Instruct: Fix /send with name= if name is empty
If name is empty, don't try appending it to the message. This applies
for both instruct and non-instruct modes.

Signed-off-by: kingbri <bdashore3@proton.me>
2024-05-05 20:35:03 -04:00
Cohee afc3071576 Add name argument for /send.
Tech debt: move to new STscript branch
2024-05-06 01:18:59 +03:00
Cohee 181b5aff97 Add Groq as chat completion source 2024-05-05 18:53:12 +03:00
Cohee ef5499c8dc Remove disable attribute from send_textarea. It never worked. 2024-05-05 14:27:20 +03:00
Cohee 292ecf580e #2182 Add quiet prompts to WI buffer 2024-05-05 14:23:54 +03:00
Cohee de1ca9af74 Add type casts 2024-05-05 13:51:16 +03:00
Cohee 5197809d6b Add global variables to TypeScript definitions. Fix some errors 2024-05-04 20:44:41 +03:00
Gabraham 4e99c3e4cb Disabled forced 4 spaces indented sublists for markdown formatting
- For #2176
2024-05-03 13:15:38 -04:00
Cohee b69c5bcd17
Merge pull request #2177 from sasha0552/vllm-support
vLLM support
2024-05-03 20:03:05 +03:00
RossAscends 5ab1e74c5f WIP Debug Menu button to copy API setup to clipboard. 2024-05-03 16:35:32 +09:00
sasha0552 2bd239fe81
Initial vLLM support 2024-05-02 22:40:40 +00:00
Cohee 2f85e50c6f
Merge pull request #2171 from 24adamcho/generic-card-download
Character card import from generic sources (specifically Discord, Catbox.moe)
2024-05-01 19:58:17 +03:00
Cohee eb4cae4e6d Add WL to config. Code clean-up. 2024-05-01 19:52:34 +03:00
Cohee e4e6882f12 Fix scroll to bottom on chat open 2024-05-01 14:56:55 +03:00
Cohee 620cd6dfc2 Move persona functions from script. Clean-up exports 2024-05-01 14:03:24 +03:00
Cohee bddfd5763b Fix persona filter rule 2024-05-01 12:49:53 +03:00
Adam 5c552a3d53 added examples for catbox/discord import links 2024-04-29 23:44:15 -05:00
Wolfsblvt b4aa7831e7 Scored search sorting for char list 2024-04-30 04:30:39 +02:00
Wolfsblvt d1cdd60883 Scored search sorting for personas 2024-04-30 02:27:44 +02:00
Wolfsblvt a850352eab Scored search sorting for world info 2024-04-30 01:39:47 +02:00
Cohee 87219f897e Check that char.list has any filters before applying hidden block. 2024-04-28 21:33:37 +03:00
Cohee 73cf58826f Pause autoplay on external media removal 2024-04-28 20:11:58 +03:00
Cohee be4637a3a0 Handle <br> in message texts with Showdown instead of manually 2024-04-28 20:00:22 +03:00
Cohee 6ac6c7cfda #2159 Move debounce constants to a separate module 2024-04-28 19:47:53 +03:00
Cohee 94e9b8f4b1 Merge branch 'staging' of https://github.com/SillyTavern/SillyTavern into staging 2024-04-28 19:29:12 +03:00
Cohee d51b155e52 Add ability for extensions to intercept edited message text 2024-04-28 18:39:32 +03:00
Matěj Račinský 754cdc4d58 refactor: prompt itemization split to multiple functions 2024-04-28 14:09:10 +02:00
Wolfsblvt 61e2877c4b Debounce Character and Persona search 2024-04-28 06:27:55 +02:00
Wolfsblvt d7ade487b8 Refactor common enum for debounce timeouts 2024-04-28 06:21:47 +02:00
Cohee f632888b4c Move scripts init at the end of HTML page 2024-04-27 23:44:08 +03:00
Cohee f479901c87
Merge pull request #2152 from Wolfsblvt/auto-sort-tags-option
Option to auto-sort tags (+UI improvements)
2024-04-27 17:45:23 +03:00
Cohee c95956766e Don't need a hack since you're not awaiting the popup 2024-04-27 17:33:52 +03:00
Wolfsblvt 2e562d187a Option to auto-sort tags (+UI improvements)
- Toggle to auto-sort tags alphabetically
- Init auto-sort based on current sorted state, if not chosen before
- Tag management redraw list if changes happen
- Tag management highlight renamed rows on auto-sort if they get automatically reordered
- Manual drag&drop of tags disables auto-sort option
- Small fixes to popup tag management pop drawing
- Utility function to flash highlight via CSS
2024-04-27 10:26:01 +02:00
Cohee f4ba1f68ef
Merge pull request #2136 from BlueprintCoding/release
Added import function for AICharacterCards.com cards
2024-04-26 22:42:04 +03:00
valadaptive dbcc75471f Refactor CFG prompt gen in getCombinedPrompt
We don't need to create the cfgPrompt variable unless useCfgPrompt is
true, so move it inside the if-block.
2024-04-25 09:09:30 -04:00
valadaptive 2a0497ca9e Only generate negative prompt for textgen API
The original comment mentions that we need to get the negative prompt
first since it "has the unmodified mesSend array", but we've cloned the
mesSend array since forever, so I don't think mutation is an issue
anymore.
2024-04-25 09:09:30 -04:00
valadaptive 2d0767306e Remove unnecessary cfgPrompt null-chains
We already check if cfgPrompt exists.
2024-04-25 09:09:30 -04:00
valadaptive 8ca83bb255 Extract CFG check 2024-04-25 09:09:30 -04:00
valadaptive 80a6406062 Don't reassign thisPromptBits
Instead, just use additionalPromptStuff where thisPromptBits was used
after the assignment.
2024-04-25 09:09:30 -04:00
valadaptive ff9345a843 Make generate_data preparation a switch-case
We switch based on main_api. In the future, I'd like to move the
openai-specific token count stuff outside the switch case and extract
the generate_data preparation into its own function that we can pass
main_api into.
2024-04-25 09:09:30 -04:00
valadaptive fe663c4f04 Move auto_adjust_response_length logic
This if-block only applies to Kobold Horde, so move it inside the Kobold
and Horde-specific case in the else-if chain.
2024-04-25 09:09:30 -04:00
Blueprint Coding 305afb3713 Added import function for AICharacterCards.com cards
Added ability to import cards directly from aicharactercards.com via it's api like Chub and Janny.
Video of it in action: https://streamable.com/gbfdtw

Just pass the last two slash vars from the url (the author and card title) from a page. EX: aicharcards/the-game-master to:
https://aicharactercards.com/wp-json/pngapi/v1/image/

In this example: https://aicharactercards.com/wp-json/pngapi/v1/image/aicharcards/the-game-master
2024-04-24 18:04:17 -06:00
Cohee 4370db6bdc Implement World Info activation using Vector Storage 2024-04-23 03:09:52 +03:00
Cohee 6d1933c8f3 Escape name regex in message formatting function 2024-04-22 17:35:42 +03:00
Cohee ef5d505de3 Merge branch 'staging' into neo-server 2024-04-21 18:28:56 +03:00
Cohee dac89a87b7 Fix new characters highlight 2024-04-21 14:20:24 +03:00
Cohee 70c4e82b89 Merge branch 'staging' into neo-server 2024-04-20 21:10:43 +03:00
Cohee 3a5886f53a Change generation type from regenerate to normal if the non-streaming generation fails to produce any text 2024-04-20 20:20:51 +03:00
Cohee b3bbec83b6 Merge branch 'staging' into neo-server 2024-04-20 02:56:05 +03:00
Cohee 33ea3344ff Insert messages to chat load with splice 2024-04-20 02:44:19 +03:00
Cohee 2a2a63c52c Add Perplexity as Chat Completion source 2024-04-20 00:09:38 +03:00
Cohee 09d43403b2 Merge branch 'staging' into neo-server 2024-04-19 15:07:38 +03:00
Cohee 794786da43 Remove unnecessary delays in the prompt builder.
This is no longer needed since the async token counter won't block the UI thread during the request preparation.
2024-04-19 02:08:18 +03:00
Cohee 2eafa2a212 Clean-up vectors upon deleting a file from Data Bank 2024-04-18 23:07:16 +03:00
Cohee 16785ae005 Merge branch 'staging' into neo-server 2024-04-18 22:57:27 +03:00
RossAscends 75afe29f28 don't force amt_gen to model max on mancer model swap 2024-04-18 11:10:17 +09:00
Cohee 59bb04f1b3 Implement generic interface for adding Data Bank scrapers 2024-04-18 00:14:41 +03:00
Cohee 88637adfe2 Merge branch 'staging' into neo-server 2024-04-17 19:39:57 +03:00
Cohee 242d57c14b Add Data Bank manager 2024-04-16 02:14:34 +03:00
Kristan Schlikow d4d23f8234
Only close on left click 2024-04-15 20:38:59 +02:00
Kristan Schlikow 2fcbefc9f5
Fix right click closing the zoomed avatar image 2024-04-15 20:35:38 +02:00
Cohee 2b12d3f8e8 Merge branch 'staging' into neo-server 2024-04-15 01:23:36 +03:00
Cohee f7eb57082a
Merge pull request #2090 from Dakraid/feature/zoomed-avatar-tweaks
Adjust style and add magnification to zoomed avatar
2024-04-15 00:44:27 +03:00
Cohee 022c180b62 Lint and clean-up 2024-04-15 00:39:15 +03:00
Cohee 0263be8c1f Merge branch 'staging' into neo-server 2024-04-15 00:26:52 +03:00
Cohee 4a553e1fc8 Merge branch 'release' into staging 2024-04-15 00:26:43 +03:00
Cohee 789bb0da59 Fix extensions update loop 2024-04-15 00:24:15 +03:00
Kristan Schlikow 54eec3e215
Separate handling for closing for mobile and desktop
Clicking on the image only closes on desktop now, while on mobile the close button has to be pressed as touch is used for the magnification
2024-04-14 22:17:38 +02:00
Cohee f19d6ac0ff Merge branch 'staging' of https://github.com/SillyTavern/SillyTavern into staging 2024-04-14 21:28:28 +03:00
Cohee 20b950b120 Do not return null bias if empty string occurred. 2024-04-14 21:28:26 +03:00
Cohee 23ac23010d Fix the rest of mobile cases 2024-04-14 21:17:18 +03:00
Cohee a899160311 Use global animation duration for avatars 2024-04-14 20:27:01 +03:00
Cohee 1de409fdf7 Don't force aspect ratio of zoomed avatars. Prevent closing on drag grabber. 2024-04-14 20:20:22 +03:00
Cohee bd6fe19bf1 Merge branch 'staging' into llm-expressions 2024-04-14 19:43:34 +03:00
Kristan Schlikow 928fa7a3fc
Close zoomed image when clicking the parent div instead of image
Makes it easier to close on mobile
2024-04-14 17:12:26 +02:00
Kristan Schlikow 835d6c71fa
Add option to toggle magnification behaviour 2024-04-14 17:00:10 +02:00
Cohee fd0c16bf12 Don't unblock generation if a parallel stream is still running after quiet gens 2024-04-14 17:26:58 +03:00
Kristan Schlikow 384708f577
Close zoomed image on click 2024-04-14 16:12:27 +02:00
Kristan Schlikow cde6639d8a
Merge remote-tracking branch 'origin/staging' into feature/zoomed-avatar-tweaks 2024-04-14 15:19:33 +02:00