Commit Graph

161 Commits

Author SHA1 Message Date
Cohee
dcaa8d5e9c Initialize talkinghead on extras connection
Closes #2850
2024-09-16 09:17:23 +00:00
Cohee
85773ace79 Add format arg for classify-expressions 2024-09-05 10:48:46 +03:00
Cohee
b4ecba2a45 Fix macro not replacing in custom prompt 2024-09-05 10:23:51 +03:00
Wolfsblvt
d62f18b523 Add missing await 2024-09-05 00:34:52 +02:00
Wolfsblvt
3b10ae00c7 Add /classify-expressions to retrieve emote list 2024-09-05 00:24:10 +02:00
Wolfsblvt
2472b26057 /classify allows custom prompt for LLM api 2024-09-05 00:13:54 +02:00
Wolfsblvt
a37b805a5d /classify can specify classier API as argument 2024-09-05 00:06:14 +02:00
Azariel Del Carmen
5d0581603b
fix: LLM Classifier Defaulting to Last Spoken Character's Expression For All Characters in Group Chats (#2605)
* fix: fix llm expression classifier on group chats

* chore: adjust some things

* fix: exisiting chats defaulting to last character's sent message

* chore: use dual awaits than promise

* chore: restore allSettled and separate await call for llm only

* chore: move classification to generateRaw

* chore: remove characterId

* chore: revert some placements back to how they were

* chore: remove uneeded imports
2024-08-04 13:24:24 +03:00
Cohee
d214c18156 #2566 Cache expressions list for LLM API 2024-07-27 13:57:39 +03:00
Cohee
c8b9b62d8a Update built-in extensions to use fixed order in extensions menu 2024-06-24 22:15:08 +03:00
Cohee
d0b6243f77 Add character filter to lastsprite 2024-06-23 15:23:03 +03: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
Cohee
be9f34ab8a Fix data-i18n removing options 2024-06-17 11:23:59 +03:00
Wolfsblvt
7f7ecdcca8 Merge branch 'staging' into slash-command-enums 2024-06-17 07:06:26 +02:00
Wolfsblvt
66d609c35f Several million refactoring of existing slash commands with enums (really) 2024-06-17 07:04:10 +02:00
steve green
5e44403346
fixup translates (#2382)
* Update i18n.js

* fixup

* update i18n CI

* fix trigger?

* i18n changes

* Update zh-cn.json

* add missing keys

* Revert "i18n changes"

This reverts commit ebe0ede6e1.

* Revert "update i18n CI"

This reverts commit ac923c8bd6.

* Revert "Update i18n.js"

This reverts commit 14a845836b.

* typo fix

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Touch-Night <1762918301@qq.com>
2024-06-16 14:39:46 +03:00
Cohee
974d6275bf Revert "#2369 Ignore invalid characters in getLastCharacterMessage" 2024-06-16 11:27:11 +03:00
Cohee
101c735d91 Add enum provider for /emote 2024-06-15 18:21:44 +03:00
Cohee
3ca6795cde #2369 Ignore invalid characters in getLastCharacterMessage 2024-06-15 18:13:59 +03:00
Cohee
b22bc47c4f Update ext.macro calls in built-in extensions 2024-06-15 01:40:16 +03:00
steve green
3ede4aafbe
Update zh-cn.json (#2376)
* Update zh-cn.json

* html changes

* `div`->`span`

* fixes

* fixes

* more fixes

* Revert last divs

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2024-06-14 22:46:40 +03:00
Cohee
ef137f68c4 Fallback to Fuse if not parsed expression 2024-05-25 17:32:11 +03:00
Cohee
b545185f1a Transform LLM emotion response to lower 2024-05-25 17:11:58 +03:00
Cohee
fa6fc45e6f Function calling for Cohere 2024-05-25 17:09:47 +03:00
Cohee
dc8530049f Reference implementation: Set expressions with function calling 2024-05-25 15:38:32 +03:00
Cohee
b93131ec7a Lint fix 2024-05-18 18:58:25 +03:00
Matěj Račinský
bd1bfee941 fix: correct usage of fuzzy search 2024-05-18 17:05:55 +02: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
deffcolony
0252b21901 move expression buttons above Sprite set
+moves the buttons above the Sprite set so user does not have to scroll all the way down to find the buttons now it will be directly visiable
2024-05-09 16:33:04 +02:00
Cohee
5e7c214c89 Substitute macros in text to classify 2024-05-06 22:02:13 +03:00
Cohee
478be72659 #2181 Unstuck moving images 2024-05-04 14:20:59 +03:00
Cohee
6ac6c7cfda #2159 Move debounce constants to a separate module 2024-04-28 19:47:53 +03:00
Wolfsblvt
d7ade487b8 Refactor common enum for debounce timeouts 2024-04-28 06:21:47 +02:00
Cohee
62cf611fdc
Merge pull request #2138 from Wolfsblvt/fix-expression-list-resolve
Fix expression list resolve
2024-04-25 11:00:34 +03:00
Wolfsblvt
161e512805 Fix expression list resolve
- New expression api "LLM" still queried local classify model for expressions, fixed by returning default list
- Fixed failed API calls crashing Expressions extension
2024-04-25 04:29:20 +02:00
Cohee
bc9c70556e Clean-up mentions of /public/ 2024-04-21 23:53:46 +03:00
Cohee
b3bbec83b6 Merge branch 'staging' into neo-server 2024-04-20 02:56:05 +03:00
Cohee
366e2abb8b Move expressions LLM request setting mode listener 2024-04-19 23:01:31 +03:00
Cohee
88637adfe2 Merge branch 'staging' into neo-server 2024-04-17 19:39:57 +03:00
Cohee
341f02e425 Fix default classify API migration 2024-04-15 04:04:30 +03:00
Cohee
022c180b62 Lint and clean-up 2024-04-15 00:39:15 +03:00
Cohee
f5955bdd37 Throw if couldn't classify 2024-04-14 20:02:34 +03:00
Cohee
0ff5d0b5f1 Substitute macro is LLM prompt 2024-04-14 19:53:40 +03:00
Cohee
6dca8b28fe Fix talkinghead check 2024-04-14 19:46:33 +03:00
Cohee
3e60919289 Specify LLM prompt in case JSON schema is not supported 2024-04-14 17:13:54 +03:00
Cohee
b02394008c Fix settings migration. Add lint rule. 2024-04-14 15:40:10 +03:00
kingbri
913085ba74 Expressions: Let the user know if classification failed
Send a message if the classifer fails and fallback to the default
expression.

Signed-off-by: kingbri <bdashore3@proton.me>
2024-04-13 01:29:54 -04:00
kingbri
8c4dd6ce1e Expressions: Ignore stopping strings
Don't use stopping strings when triggering a classify generation.

Signed-off-by: kingbri <bdashore3@proton.me>
2024-04-12 09:57:09 -04:00
kingbri
bea63a2efe Expressions: Remove TalkingHead from choices
This is a sub-choice under extras.

Signed-off-by: kingbri <bdashore3@proton.me>
2024-04-12 01:59:44 -04:00