Commit Graph

247 Commits

Author SHA1 Message Date
Wolfsblvt 38792d071b Remove variable usage of 'at' arg in send commands 2024-06-28 20:48:55 +02:00
Cohee 8136293593
Merge pull request #2431 from SillyTavern/remove-slash-command-var-usages
Remove slash command var usages
2024-06-28 13:50:06 +03:00
Cohee e713b32bdc Fix empty toast suppression 2024-06-28 10:22:26 +00:00
Cohee 043eead149 Don't show empty toasts in slash command executor 2024-06-28 08:06:33 +00:00
Wolfsblvt b97dceeb7a Remove /flushinject's variable usage in unnamed 2024-06-28 04:00:32 +02:00
Wolfsblvt 11ca0dd22e Remove /send's variable usage in 'name' argument 2024-06-28 03:58:04 +02:00
Wolfsblvt 7cf5a4cb2e Remove /inject's variable usage in 'id' argument 2024-06-28 03:53:23 +02:00
Cohee cf56bfb6a9 Add 01.AI as a chat completion source 2024-06-28 00:51:09 +03:00
LenAnderson 058f45ec71 Merge branch 'staging' into parser-followup-2 2024-06-27 11:49:46 -04:00
LenAnderson 173c5ef53e step into closures from elsewhere (draft) 2024-06-27 11:49:12 -04:00
Cohee d9536ae3a8 Add tri-state argument for /lock command 2024-06-26 20:18:05 +03:00
Cohee 112e26a0ff Model icon for slash command messages 2024-06-26 19:48:45 +03:00
Wolfsblvt 0c402e2a5f Setup swipe data on /sendas 2024-06-26 03:13:05 +02:00
Wolfsblvt 9113fae4fe Fix /addswipe error if swipe_info not initialized 2024-06-26 02:46:53 +02:00
LenAnderson e0f6819261 Merge branch 'staging' into parser-followup-2 2024-06-24 07:29:37 -04:00
Wolfsblvt e7ab43527a Fix /echo command falsely stripping HTML-like text 2024-06-24 03:09:46 +02:00
LenAnderson 4ca0cb2aeb Merge branch 'staging' into parser-followup-2 2024-06-23 11:37:00 -04:00
Cohee 946994af22 /input should return empty string if canceled 2024-06-23 18:16:15 +03:00
Cohee bd9c10c2eb /messages text consistency 2024-06-23 18:14:10 +03:00
Cohee b105a2ef24 Add missing /trigger unnamed type, fix names for ask and delname 2024-06-23 18:10:56 +03:00
Cohee a85ac96f82 Fix /peek typings. Clarify hints for member indices 2024-06-23 18:01:16 +03:00
Cohee f3327c06ab Update trim direction emoji 2024-06-23 17:39:57 +03:00
Cohee 6594b3c7fa Inject supports variables for ID 2024-06-23 17:21:55 +03:00
Cohee d0b6243f77 Add character filter to lastsprite 2024-06-23 15:23:03 +03:00
Wolfsblvt c6c8f91c99 forceEnum:false as default & enum icon changes
- Set forceEnum to false, for now
- Switch some icons around
2024-06-22 01:04:03 +02:00
Wolfsblvt da6d77cffd Enum provider for /model 2024-06-21 21:24:37 +02:00
Wolfsblvt 48077d200b More slash command enums (nearly done) 2024-06-21 20:04:55 +02:00
Wolfsblvt ffc84f5118 Merge branch 'staging' into slash-command-enums 2024-06-20 20:38:55 +02:00
Wolfsblvt 461b1a9d87 Even more enum refactorings (not done yet)
- Add common enum icons
- enum def for existing enum types, with color description
2024-06-20 20:33:45 +02:00
LenAnderson 377f3892f7 Merge branch 'staging' into parser-enum-stuff 2024-06-19 09:47:01 -04:00
Wolfsblvt dca81aef3d Small fixes to /popup, /buttons and QR popup
- FIx /popup and /buttons commands to use the new popups
- Change /buttons to utilize data results
- Fix "hide while executing" option from QR editor
- Fix QR editor throwing an error on execution
2024-06-19 01:40:22 +02:00
LenAnderson eb02ca95f9 debugger basics rough 2024-06-18 14:29:29 -04:00
Wolfsblvt 7f7ecdcca8 Merge branch 'staging' into slash-command-enums 2024-06-17 07:06:26 +02:00
Wolfsblvt 6f7ef25369 Rework slash command enum values pt.2
- Fix jsconfig module resolution for imports in frontend scripts
- Add file with common slash command enum values
2024-06-17 03:30:52 +02:00
Cohee 861decd5c9 Refactor prompt entry callback 2024-06-16 13:56:43 +03:00
splitclover aa513e1e3d
Fix helpString 2024-06-16 12:36:52 +02:00
splitclover 7f284a3752
Merged redundant args for /setpromptentry 2024-06-16 12:16:56 +02:00
splitclover e5ba96d6aa
Clarify /setpromptentry descriptions 2024-06-16 04:43:45 +02:00
splitclover 716d407753
Add /setpromptentry command to manipulate chat completion presets 2024-06-16 04:37:42 +02:00
Len 5cb319771d
Parser followup (#2377)
* set pipe to empty string on empty closure

* fix missing parser flags and scope

* add closure serializing

* add enum provider function to slash command arguments

* add enum providers for /bg, /ask, and /go

* fix index out of bounds returning undefined

* keep whitespace as is in mixed unnamed args (string+closure)

* add _hasUnnamedArgument to named arguments dictionary

* allow /var key=x retrieval

* add enum provider to /tag-add

* fix typo (case)

* add option to make enum matching optional

* add executor to enum provider

* change /tag-add enum provider to only show tags not already assigned

* add enum provider to /tag-remove

* fix name enum provider excluding groups

* remove void from slash command callback return types

* Lint undefined and null pipes

* enable pointer events in chat autocomplete

* fix type hint

---------

Co-authored-by: LenAnderson <Anderson.Len@outlook.com>
Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2024-06-15 00:48:41 +03:00
Cohee abed49c277 JSDoc, toast capitalization 2024-06-11 09:55:37 +03:00
Wolfsblvt 9fb9253dcc Update /persona slash command with arguments 2024-06-11 01:00:13 +02:00
Cohee 179a099954
Merge pull request #2351 from Wolfsblvt/rename-char-command
/rename-char slash command
2024-06-05 22:53:54 +03:00
Cohee 2c787f23c7 Fix named argument. 2024-06-05 22:53:41 +03:00
Cohee 0a3e91287d New syntax for /ask command 2024-06-05 21:37:33 +03:00
Wolfsblvt f04bbdf112 Small changes to /rename-char 2024-06-05 20:24:50 +02:00
Cohee c911265dbd Add name argument to /flushinjects command 2024-06-05 21:20:55 +03:00
Wolfsblvt 858e5f2efb /rename-char slash command
- Rename char slash command (with optional parameters for silent and rename old chats)
- JSDoc fix for STscript named args in callbacks
2024-06-05 02:19:22 +02:00
Cohee 0e7eff155d Fix ephemeral injects clean-up 2024-05-24 21:53:29 +03:00
Cohee 039f3b875b Add "ephemeral" option script /inject 2024-05-23 02:34:13 +03:00
Cohee bc2035d362 Don't use autocomplete on old Safari 2024-05-19 22:22:32 +03:00
LenAnderson 3bd2edf4d2 move silencing of loud /aborts into execute function when handled 2024-05-19 07:34:09 -04:00
LenAnderson 963e525e07 fix typehints 2024-05-19 06:23:34 -04:00
LenAnderson 70a35e9b49 Merge branch 'staging' into parser-post-stuff 2024-05-18 14:51:06 -04:00
LenAnderson 87cc28ae28 subcommand and /abort fixes
- use AbortController in /abort instead of execption
- allow quiet abort
- allow loud abort
- allow abort reason
- abort when aborted in subcommand
- break out of loops when aborted inside
- fix parsing of subcommands with multiple commands
2024-05-18 14:48:31 -04:00
Cohee d9f9da99e6 Silent /abort 2024-05-18 15:41:02 +03:00
Cohee c52bdb9a4a Use new command names in examples 2024-05-17 20:59:00 +03:00
Cohee bbd9c89357 Add aliases for group member commands 2024-05-17 20:57:03 +03:00
Cohee 5207b3a7f0 Role filter conditions 2024-05-13 22:45:06 +03:00
Cohee c561fb4fab Don't check for system flag in role filter 2024-05-13 21:40:01 +03:00
Cohee 14aa70eea8 Add role and hidden arguments to /messages commands 2024-05-13 21:36:55 +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 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
sasha0552 2bd239fe81
Initial vLLM support 2024-05-02 22:40:40 +00:00
Cohee 620cd6dfc2 Move persona functions from script. Clean-up exports 2024-05-01 14:03:24 +03:00
Cohee e08a21ebe7 Deprecate old /sendas syntax.
"name" arg is now required, but defaults to {{char}} for compatibility
2024-04-28 03:53:17 +03:00
Cohee 6e98fb1c5e Clean-up debug logs 2024-04-27 20:42:49 +03:00
Cohee 053d7f9eaa Remove the /inject when value is empty 2024-04-27 20:25:55 +03:00
Cohee 2a2a63c52c Add Perplexity as Chat Completion source 2024-04-20 00:09:38 +03:00
Cohee 0b6bb59955 Try optimize slash autocomplete 2024-04-19 22:46:49 +03:00
RossAscends 210caace4a Merge branch 'staging' of https://github.com/Cohee1207/SillyTavern into staging 2024-04-19 21:02:05 +09:00
RossAscends db3d86cb29 optimize slash command helper popup 2024-04-19 21:02:02 +09:00
Cohee 4a5d952800 Fix script comments. Add type hints 2024-04-19 14:19:57 +03:00
Cohee 41a4de7224 Limit slash autocomplete 2024-04-19 13:35:36 +03:00
Cohee 306bff0a92 #2085 Switch to async token counters 2024-04-13 21:33:19 +03:00
ThisIsPIRI 208e089761 Replace hideChatMessage with hideChatMessageRange 2024-04-12 16:03:50 +09:00
RossAscends 94f14340ae add background image name reporting for /bg with no args 2024-04-12 08:21:17 +09:00
Cohee 27698fd024 Add ability to get model name with /model 2024-04-03 00:52:30 +03:00
Cohee 9838ba8044 #1994 Add Cohere as a Chat Completion source 2024-04-02 00:20:17 +03:00
Cohee 3331cb6491 Add ability to temporarily override response length for /gen and /genraw 2024-03-31 21:02:38 +03:00
Cohee ad4269f476 Add system prompt to /genraw command 2024-03-31 19:42:12 +03:00
Cohee bd62c2fb70 Add 'as' argument for /gen command 2024-03-30 18:13:55 +02:00
Cohee fcdd90cec4 Adjust last prompt line of quite gens 2024-03-28 21:51:02 +02:00
Cohee 0bf6835de2 Add "compact" argument to message sending commands. 2024-03-27 19:40:34 +02:00
Cohee 6d02223bd4 Fix cases with persona autoswitch 2024-03-27 15:16:20 +02:00
LenAnderson 78ba88f94f set active character / active group in /go command 2024-03-26 12:21:22 -04:00
Cohee 5e8999cc43 Add comments to STscript 2024-03-25 14:22:39 +02:00
Cohee 848af1fd4b Add inject roles to slash command 2024-03-23 18:44:40 +02:00
Cohee cda7ab0530 Add /model command 2024-03-15 16:08:22 +02:00
Cohee bb53fef531 Clean-up docs and leftover logs 2024-03-06 23:10:52 +02:00
Cohee 9a6824f86c
Merge pull request #1886 from parsedone/patch-2
Fixes [BUG] STscript parser() incorrectly manages spaces
2024-03-06 23:04:10 +02:00
Cohee 975206fd06 Clean-up /fuzzy command doc comments 2024-03-03 16:04:48 +02:00
parsedone d217a4e32f
Fixes [BUG] STscript SlashCommandParser.parser() incorrectly manages spaces
Fixes bug SillyTavern#1884

Parses a command even when spaces are present in arguments

Examples that now work:

/buttons labels=["OK","I do not accept"] some text /fuzzy list=[ "red pink" , "yellow" ] threshold=" 0.6 " he yelled when the color was reddish and not pink | /echo
2024-03-03 04:09:58 +01:00
parsedone 88f42132c2
Update slash-commands.js [BUG] STscript /fuzzy returning wrong answer
Implements fix of the bug #1883 "[BUG] STscript /fuzzy returning wrong answer".

Fix the params so tha /fuzzy detect when a "candidate" item is found (using fuzzy matching) in the text passed without argument name.
Also added optional "threshold" that allows to change the value used by Fuse in order to have stricter or looselier matching.

Also updated the parser.addCommand('fuzzy', fuzzyCallback
2024-03-03 03:43:44 +01:00
Cohee f0141b4dd1
Update slash-commands.js 2024-02-20 16:57:00 +02:00
Sneha C 095cd873de
Update slash-commands.js
added the word "persona" to the /sync description to make it easier for users to find.
2024-02-20 16:48:43 +04:00
Cohee 8e66a14e37 Add hints to doc strings about additional command prompts 2024-02-20 02:29:14 +02:00
Wolfsblvt 550d8483cc Extend impersonate/continue/regenerate with possible custom prompts
- Use custom prompt provided via slash command arguments (similar to /sysgen and others)
- Use written text from textbox, if the popout menu actions are clicked
2024-02-19 22:23:58 +01:00
Cohee 29b971a986 Merge branch 'staging' into slash-fix-bleed 2024-02-16 20:48:32 +02:00