Commit Graph

1095 Commits

Author SHA1 Message Date
Cohee 2aa8564522 Substitute params with addl. macro 2024-06-15 01:22:15 +03: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
Wolfsblvt 96f04a1c49 Merge branch 'staging' into smol-tag-improvements 2024-06-13 23:40:19 +02:00
Yokayo 10a4e54a3b Another small fix 2024-06-12 17:15:56 +07:00
Yokayo 839d79f407 Small fix 2024-06-12 16:50:08 +07:00
Yokayo a1a9f0002c Merge branch 'staging' of https://github.com/Yokayo/SillyTavern into staging 2024-06-12 16:31:11 +07:00
Yokayo 84ee968ab4 More localizable text 2024-06-12 16:30:32 +07:00
Wolfsblvt 679b3587b5 Data attribute for the currently open menu_type
- Add data attribute to the right nav panel for the currently open menu type
- JSDoc of possible menu_type values
- Refactor using the menu_type setter
- Remove legacy "settings" menu type, as that one is not part of those really
2024-06-11 02:54:06 +02:00
Wolfsblvt b814ba5b35 Merge branch 'staging' into smol-tag-improvements 2024-06-10 01:45:15 +02:00
Wolfsblvt d14af1592e Refactor naming/structure of popup CSS classes
- Refactor naming/structure of popup CSS classes
- Prepare Popup utility of opening/showing dialogs
2024-06-09 22:02:51 +02:00
Cohee bb48dfe084 Add await arg to /imp command 2024-06-09 18:36:52 +03:00
Wolfsblvt d98d811cc1 Merge branch 'staging' into smol-tag-improvements 2024-06-08 21:13:11 +02:00
Wolfsblvt 61906d8dbe Dynamic focus styles from existing hover styles 2024-06-08 05:10:44 +02:00
Wolfsblvt e2089b1e44 Dozens new keyboard interactables
- Made dozens of existing controls keyboard interactable
- Tweaked styling so the keyboard focus looks more pleasant
2024-06-06 02:48:06 +02:00
Cohee 671b7ef7cb Add just a chat fields list from server 2024-06-06 02:05:26 +03:00
Cohee ff241dd0a9 Add events for completed prompts 2024-06-06 00:23:12 +03:00
Wolfsblvt f04bbdf112 Small changes to /rename-char 2024-06-05 20:24:50 +02: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 340b3920ac
Merge pull request #2344 from Wolfsblvt/fix-tags-on-char-creation
Fix adding tags on char/group creation again
2024-06-04 17:09:32 +03:00
Wolfsblvt e8aba9fa5f Fix adding tags on char/group creation again 2024-06-04 00:32:30 +02:00
Wolfsblvt 5cc4242c6f Make ST-style buttons keyboard selectable
- Make ST-style buttons keyboard selectable
- Allow custom classes/selectors to be set as buttons too, with the same functionality (CSS selector-based)
- Observer to automatically add functionality to any button added to the DOM
- Allow buttons to not be selectable via 'disabled' or 'not_focusable'
2024-06-03 02:52:54 +02:00
Wolfsblvt 98905e0e53 Slight layout fixes to the char import popup
- Need to pull my "wider" popup type from the other branch, because 1/1 aspect ratio scaling is just bad
- Add a few tailwind-like classes for ul-li styling
- Add <kbd> element styling for keyboard buttons
2024-06-03 01:17:19 +02:00
Cohee 91061c1d55 Fix i18n, make dialog wide 2024-06-03 01:49:01 +03:00
Wolfsblvt e93bc49b36 Support importing multiple URLs on external import 2024-06-02 23:44:50 +02:00
Wolfsblvt 9318f94f08 Merge branch 'staging' into smol-tag-improvements 2024-06-02 21:07:46 +02:00
Wolfsblvt 89d1bc8341 Drag&Drop handler utility and animation 2024-06-02 05:54:41 +02:00
Cohee 20d12dc98e (WIP) Import JSON from .charx 2024-06-02 00:28:41 +03:00
Wolfsblvt c939c544e2 Rename popup css classes 2024-05-31 21:59:26 +02:00
Wolfsblvt 6c3118549f Make generic popups be modal dialogs
- Switch generic popups to actual <dialog> elements
- Move toastr settings from html to JS
- Add style variable for animation duration (to re-use in CSS)
- Remember focus of popup on stacking pop-up close to switch back to the element you started out in
- Fix keybinds of popups to only act on actual result-triggering controls
- Fix toastr appearing behind popups by dynamically moving the container inside the currently open dialog
- Improve autofocus on popup open
- Make cleaner and prettier popup animations, and tie them to the animation speed
-
2024-05-30 05:11:23 +02:00
kingbri 4528655bb7 Textgen: Add multiswipe support for TabbyAPI
Tabby now supports batching and the "n" parameter for both non-streaming
and streaming. Add this into SillyTavern.

Signed-off-by: kingbri <bdashore3@proton.me>
2024-05-28 00:55:57 -04:00
Cohee a20c6bb01e Extension framework for function tool calling 2024-05-25 15:31:57 +03:00
Wolfsblvt 4f2543f7ae Fix popup custom buttons 2024-05-25 01:02:13 +02:00
Cohee 439ef0dc5e #2308 Preserve itemized prompts for branches and checkpoints 2024-05-25 00:07:36 +03:00
Cohee da4f0f53be Resolve char macros to message name in first message display 2024-05-24 23:41:27 +03:00
Cohee 7dc3b06d0f /api returns current name if no params 2024-05-24 20:34:29 +03:00
Wolfsblvt 3a5dfadac5 Fix group tag list not updating 2024-05-23 02:45:23 +02:00
Cohee a11231dd2e Revert export removal 2024-05-23 01:47:06 +03:00
Wolfsblvt ab8c67ede6 Refactor overwrite check to utility function
- Refactor overwrite check to utility function
- Don't mind me refactoring character delete functions. I tried something, but I think the refactoring still makes sense
2024-05-22 23:52:35 +02:00
Gabraham a9c3a808ac Merge remote-tracking branch 'upstream/staging' into Gabraham/Markdown-Single-Space-Indent 2024-05-22 04:03:33 -04:00
Gabraham d5533854cc Merge branch 'staging' into Gabraham/Markdown-Single-Space-Indent 2024-05-22 00:57:08 -04:00
Cohee 0371bf4e9f Revoke 1-time object URLs 2024-05-22 01:36:38 +03:00
Cohee 319b0a543c Enable markdown strikethough 2024-05-21 16:58:42 +03:00
Cohee b1c9fee29e #2188 Make first message not required 2024-05-21 15:46:41 +03:00
Cohee c21deb3a8c #2289 Fix message translation on edit 2024-05-21 14:23:18 +03:00
Cohee 3dc4c8ca39 #2284 Persona description in-chat-at-depth 2024-05-21 01:57:04 +03:00
Cohee 0d68473010 Fix client version display on welcome message 2024-05-20 21:50:57 +03:00
Cohee 0c36d4e67d Merge branch 'staging' into ru-l10n 2024-05-20 21:45:02 +03:00
RossAscends 8d2b7a15dc don't hide close button on unzoomified avatars 2024-05-20 12:23:54 +09:00
RossAscends 67381cf493 fix zoomedAvatar resize and movement 2024-05-20 12:18:30 +09:00
Cohee cf28d6653c Import characters from RisuRealm by URL 2024-05-19 20:19:20 +03:00
Cohee 1eca18f287 Merge branch 'staging' into ru-l10n 2024-05-19 19:48:38 +03:00
Yokayo 6671c9aa80 Move dynamic html to templates 2024-05-19 21:49:43 +07:00
Cohee dd06fddd17 #2267 Fix multiswipe mutating the array returning by the streaming provider 2024-05-19 16:38:18 +03:00
Cohee e9c5618b10 Force generate unlock on wrapped API error 2024-05-19 16:25:22 +03:00
RossAscends c7232ae23c WIP textgen API custom sampler display 2024-05-19 15:06:29 +09:00
Cohee 748dd5f2e6 Remove duplicate command registration 2024-05-17 15:04:53 +03:00
Cohee 71a3e2c91b Don't modify response length when changing mancer model 2024-05-17 00:19:43 +03:00
Cohee 964f53273c Emit event after edited message is updated 2024-05-16 23:13:11 +03:00
steve green 3389b5dd16
allow custom source url (#2255)
* Update script.js to allow custom source url

* type hint fix

* fixes
2024-05-16 22:16:57 +03:00
Cohee e026ddf6be
Merge pull request #2246 from Wolfsblvt/tag-folders-folder-filter
Tag folders folder filter
2024-05-16 22:08:28 +03:00
Wolfsblvt a6333f3285 Sort tag folder inline avatars too 2024-05-16 00:05:03 +02:00
Cohee fe95e09c8b
Merge pull request #2244 from Wolfsblvt/rename-chat-command
Add /renamechat slash command
2024-05-15 23:47:12 +03:00
Wolfsblvt b7043a428f Add /renamechat slash command 2024-05-15 22:39:32 +02:00
steve02081504 796cc3c60c add `import_tags` in list of more opt 2024-05-15 21:34:09 +08:00
Cohee 1999f607d6 Set tainted flag metadata if a message was edited 2024-05-15 13:19:23 +03:00
Wolfsblvt bb2f553c46 Tag Folders folder filter showing only folders 2024-05-15 02:06:11 +02:00
Cohee caf236d60a Add event for chat completion settings ready 2024-05-14 22:34:40 +03:00
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