Commit Graph

1095 Commits

Author SHA1 Message Date
Cohee f13e718dc7 Compatibility with extensions 2024-04-02 20:25:37 +03:00
Cohee 910837441c
Merge pull request #1999 from Wolfsblvt/fix-autoscroll-firefox
Fix autoscroll stop not working on Firefox
2024-04-02 00:26:16 +03:00
Cohee 9838ba8044 #1994 Add Cohere as a Chat Completion source 2024-04-02 00:20:17 +03:00
Wolfsblvt 1be9551e9a Fix autoscroll stop not working on firefox 2024-04-01 23:12:54 +02: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 045d4e972a
Merge pull request #1982 from Wolfsblvt/improve-bulk-edit-and-fixes
Improve bulk edit and bug fixes to tags
2024-03-31 11:00:28 +03:00
Cohee a96bb40505 #1991 Add API key for llama.cpp 2024-03-31 00:27:12 +02:00
Cohee 153f75cf1a Add role selection to Character's Note depth prompt 2024-03-30 23:12:01 +02:00
Wolfsblvt 71a630ad85 Code documentation for tags & bogus state
- Add lots of code documentation for tag functions (I'm sorry, I live in object oriented languages...)
- Fix bogus folder setting not being respected for some controls
2024-03-30 22:06:50 +01:00
Wolfsblvt 1ff40f0af4 Merge remote-tracking branch 'upstream/staging' into improve-bulk-edit-and-fixes 2024-03-30 19:03:03 +01:00
Cohee 26690353e1 + edge case comment 2024-03-30 16:05:43 +02:00
Cohee 34c79049ad Fix edge case with newlines in quiet prompts with wrap enabled 2024-03-30 16:04:10 +02:00
Cohee e99d37d549 Remove extraneous newlines when formatting quiet prompts 2024-03-30 15:54:42 +02:00
Cohee 12a36341f8 Fix newline trimming for the last message 2024-03-30 11:50:20 +02:00
Wolfsblvt ea4ba57408 Fix horizontal scrollbar appearing in popups
- Fix that annoying horizontal scrollbar appearing in popups, e.g. the tag popup when you drag tags around
- Still provide possibility to make popups actually utilize scrollbars
2024-03-30 05:41:54 +01:00
Wolfsblvt 80f4bd4d9e Global refactor of printCharacter and filter print
- (!) Refactor character list and filter redrawing to one global debounce
- Refactor all places where character list and filters where redrawn to the correct usage (hope I didn't miss any)
- Automatically redraw character list on each tag bulk edit
- Fix tags not being sorted in bulk edit mutual tags list
- Refactor bulk tag edit class to actually be an instance object
- Remember scroll position on character list redraw - unless it's a full refresh
2024-03-30 03:06:40 +01:00
Cohee 2d5b871f2a Fix array access 2024-03-29 15:01:08 +02:00
Wolfsblvt bf8b6b80d7 Refactor and improve bulk delete popup
- Improve bulk edit popup with display of avatars and better format
- Refactor both calls of bulk delete to use the same method
- Add display of filename on avatar hover for inline avatars (@Cohee you forgot this one (: )
2024-03-29 05:53:26 +01:00
Wolfsblvt 9005d3f790 Merge remote-tracking branch 'upstream/staging' into improve-bulk-edit-and-fixes 2024-03-29 02:42:27 +01:00
Cohee fcdd90cec4 Adjust last prompt line of quite gens 2024-03-28 21:51:02 +02:00
Cohee c4427349c9 Merge branch 'staging' into instruct-rework 2024-03-28 20:22:52 +02:00
Cohee 7c99d87238 Also clear prompt cache on streaming stop 2024-03-28 20:22:14 +02:00
Cohee 689af3151a Pre-populate chat history with injections 2024-03-28 02:59:52 +02:00
P3il4 6e411b06b9 Fix prompt cache after API error 2024-03-28 03:32:57 +03:00
Cohee 4b6a3054b1 Implement user alignment message 2024-03-28 02:27:37 +02:00
Cohee d02c93e84f Merge branch 'staging' into instruct-rework 2024-03-28 01:34:04 +02:00
Cohee 945e3e3b0e Add prefix to avatar tooltip 2024-03-28 01:27:28 +02:00
Cohee 03d255442e Return display avatar name on hover 2024-03-28 01:17:43 +02:00
Cohee 6ed604593c Copy tags on duplicating 2024-03-28 01:13:54 +02:00
Cohee 310acfe810 Use new instruct sequences in prompt formatting 2024-03-28 00:52:20 +02:00
Cohee 03582a8ec6
Merge pull request #1977 from Wolfsblvt/swipe-id-attribute
Include swipeid to all messages in chat
2024-03-28 00:13:51 +02:00
Wolfsblvt b8c6e6c85c Remove unnecessary swipe id check 2024-03-27 23:12:40 +01:00
Wolfsblvt 11b3162aa4 Include swipeid to all messages in chat 2024-03-27 22:11:19 +01:00
Cohee 5264e2b194 Emit events when a new group chat is created 2024-03-27 20:44:04 +02:00
Cohee 9bd1d79f08 Save a backup before deleting from new chat menu 2024-03-27 20:43:40 +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
Wolfsblvt 53848e1b0d Persona retrigger first message consistency fix 2024-03-27 09:49:59 +01:00
Wolfsblvt a4c4f36fc6 Bulk edit select improvements & bulk tag edit inline avatars
- bulk edit tags shows inline avatars for all selected characters
- allow shift-click selecting/deselecting multiple characters on bulk edit
- bulk select all button added
- bulk select shows selected character count
2024-03-27 08:33:32 +01:00
Cohee 7c0cf50d80 #1966 Fix selector 2024-03-26 00:07:26 +02:00
Cohee 5216d5c8c0 Fallback for token count display 2024-03-25 19:00:14 +02:00
Cohee 129febedce
Merge pull request #1962 from 50h100a/pr_mancerargs
Updates to Mancer parameters and a logprobs fix
2024-03-25 18:59:25 +02:00
Cohee e9b05d4adc Indicate injected items by extension prompts in finalMesSend 2024-03-25 18:37:32 +02:00
Cohee 0218eb1a18 Disable newline wrapping of in-chat extension prompts 2024-03-25 13:11:28 +02:00
Cohee df805d692b Fix some code 2024-03-24 21:42:27 +02:00
50h100a 6f7e7b85ab For Mancer:
- Allow logprobs (works)
- Allow multiswipe (not yet)
- Adjust visible samplers
Fix: 0 logprob is 100% chance, handle accordingly.
2024-03-24 14:45:37 -04:00
Cohee be95162e64 Fix search of extension prompts by role 2024-03-24 03:12:30 +02:00
Cohee 5028ae49bd Semicolon. 2024-03-24 03:00:00 +02:00
Cohee 6665666098 Add continue postfix controls for Chat Completion 2024-03-23 23:02:42 +02:00
Cohee bb6ac5147b Add roles to Author's Notes 2024-03-23 18:45:37 +02:00
Cohee 1ff0e89529 Fix continue and bias spacing inconsistencies 2024-03-23 17:51:53 +02:00
Cohee 607df2f555 Add ability to insert role-typed prompt injections 2024-03-23 17:36:43 +02:00
Cohee efe54086ce +1 less improper null check 2024-03-21 21:53:47 +02:00
Cohee 0021055f5c Null has an object type 2024-03-21 21:47:18 +02:00
Cohee 3b293de3ec Allow AVIF and friends for avatar images 2024-03-21 14:47:22 +02:00
Cohee 41b6169ea8 Extend getContext API 2024-03-21 01:11:47 +02:00
Cohee 7e0313461a Load secret state before settings 2024-03-20 21:11:59 +02:00
Cohee 839dc31822 Fix layering 2024-03-20 20:33:14 +02:00
Cohee d448d4f65b Extract API endpoints for user avatars 2024-03-20 00:39:48 +02:00
Cohee a15ab86fd0 #1941 Add reload loop if settings fail to load 2024-03-20 00:03:13 +02:00
Cohee 5b7b06aba8 Make logprobs draggable, fix conflicts between moving UI and maximization, fix z-fighting 2024-03-19 01:40:02 +02:00
Cohee f18733266d Add ability to maximize floating drawers (logprobs, A/N, CFG) 2024-03-18 02:12:23 +02:00
Cohee afec103eb2 Fix character deleted emission 2024-03-17 20:35:49 +02:00
Cohee 3b188c37dd Add character deleted event to the list 2024-03-17 19:50:44 +02:00
Cohee 9ff9331416 Extend ST getContext 2024-03-17 19:23:11 +02:00
Cohee 7f909b99f9 Merge branch 'staging' into tags-as-folders-enhancements 2024-03-17 14:09:24 +02:00
Cohee 532418c534 Lint fixes 2024-03-17 14:07:33 +02:00
Cohee ad450981c0 Fix unfocusing tag input when switching characters 2024-03-16 23:35:41 +02:00
Cohee a789c6f76f Format fix 2024-03-16 23:20:35 +02:00
Cohee 77784585ba Merge branch 'staging' into tags-as-folders-enhancements 2024-03-16 22:32:01 +02:00
Cohee 3ed7ccbc57 Fix double rendering of first message when opening a chat with only 1 message 2024-03-16 18:22:33 +02:00
Cohee 2173b8b22a Add event tracing debug function 2024-03-16 18:17:04 +02:00
Cohee 7aa5ab2d8d Fix performance of loading very large chats 2024-03-16 02:19:41 +02:00
Cohee a12793a9ac Lazy evaluation of macro in first message 2024-03-15 11:39:21 +02:00
Cohee ce756bc4f7 Allow setting altering group greetings with extensions. Add ability to add extensions when creating characters. 2024-03-14 23:10:35 +02:00
Cohee acf36b6107 Add koboldcpp API key/password support 2024-03-14 00:34:09 +02:00
Deciare be74f0a6d1 Fix Continue operation when jailbreak enabled.
When character jailbreak prompt is enabled for the text generation API,
the jailbreak prompt was always inserted as the last message in history,
so the Continue operation was completing the jailbreak prompt instead of
the character's last output.
2024-03-12 20:07:40 -04:00
Cohee 7ad2473f99 Add char.card Jailbreak support for Text Completion APIs 2024-03-12 23:22:29 +02:00
Cohee 6b2374c405 Add function to write extension fields to character cards. 2024-03-12 01:49:05 +02:00
Cohee de3039977c Fix substituteParams JSDoc 2024-03-10 00:52:39 +02:00
Cohee 73fdcbad44 Fix some bugs (see below):
1. Remove yellow highlights in hotswaps list.
2. Decrease font size of group members list, make it respect the block limits (1 row for small avatars, 3 rows for big avatars).
3. Fix autoload loading the first character if the latest selected entity was a group.
4. Fix tag key potentially skipping the first character.
5. Fix being unable to open groups from the hotswaps panel.
6. Fix left alignment of hotswaps panel, now centered.
7. Fix rounding of missing group avatars (most noticeable when favorited).
2024-03-09 21:58:13 +02:00
Cohee 32049b7e1d Merge branch 'staging' into tags-as-folders-enhancements 2024-03-09 21:15:13 +02:00
Cohee cdbb979a3e
Merge pull request #1909 from ThisIsPIRI/unlock
Prevent presets without a max context/response value from unchecking unlocked context
2024-03-09 21:14:00 +02:00
Cohee 26c0886856 Placeholder for Pygmalion character source 2024-03-09 21:10:20 +02:00
ThisIsPIRI 535126083e Prevent presets without a max context/response value from unchecking unlocked context 2024-03-08 17:12:53 +09:00
Wolfsblvt 5ac7826fec Tag Folders: Additional Fixes
- Refactored to one general printTagList method
- Made a robust getTagKeyForEntity function
- Fixed group not displaying tags if autoloaded
- Fixed added tags on character/groups not being auto sorted
- Fixed autoload of group/character that I killed
- Fixed typo
2024-03-07 23:48:50 +01:00
Wolfsblvt 7b49290fec Merge branch 'staging' into tags-as-folders-enhancements 2024-03-07 16:09:57 +01:00
DreamGenX 5c410986a4 Add support for DreamGen API.
API docs: https://dreamgen.com/docs/models/opus/v1
API keys: https://dreamgen.com/account/api-keys

I decided to base this on the text-completion API since it's more
flexible with SillyTavern's prompt formating capabilities.

This also means that custom context and instruct settings are required.

Will add documentation in a followup PR.
2024-03-07 12:25:48 +01:00
Wolfsblvt fb97f563b7 Tag Folders: show hidden numbers
- Show hidden counts for folders, and total
- Rework resizing of character names to shrink additional data first
- Better placement for group numbers
2024-03-07 02:15:41 +01:00
Wolfsblvt 18379ec602 Tag Folders: Improve global tag filters
- Update global tag filters to three-state filters
- Add filter for folders (showing empty folders or no folders)
- Final fix of filtering (should be correct now)
2024-03-06 23:13:22 +01:00
Cohee 66a926c8c7 Disable imports and char.creation while generating
This could cause data corruption due to active char Id being shifted.
2024-03-06 21:29:00 +02:00
Wolfsblvt fc6146fa00 Tag Folders: Rework favorites display
- Favorites display uses same method than inline avatars
- Favorites now respect avatar style
2024-03-06 04:59:39 +01:00
Wolfsblvt 8e184254c8 Merge branch 'staging' into tags-as-folders-enhancements 2024-03-06 01:07:22 +01:00
Wolfsblvt 4ab45330c4 Tag Folders: Refactor tag code into tag.js 2024-03-06 01:05:08 +01:00
Wolfsblvt e578d3dbb6 Tag Folders: hidden/closed folders
- Implement folder types: Open, Closed, None
- Closed folders hide characters from most places
- "character(s)" singular wording on entity list
- small refactoring for that code
2024-03-06 00:28:14 +01:00
Cohee dc32884ced #1891 Fix JWT Scale generation 2024-03-04 22:24:50 +02:00
Cohee 24b33a5f77 Add option for inline character card replacements 2024-03-03 21:04:27 +02:00
Cohee c4cae9d00f Refactor source, add confirm 2024-03-03 20:29:34 +02:00
Cohee 2e002032b3
Merge pull request #1882 from berbant/staging
Link to character's source page
2024-03-03 20:24:51 +02:00
Cohee 23c2a0d8f5 Fix card fields replace if missing 2024-03-03 18:56:05 +02:00
Cohee 8767c2a90b Respect external media preferences in creator notes 2024-03-03 16:57:38 +02:00
Cohee 8cf1671d56 Sanitize creator's notes 2024-03-03 16:49:44 +02:00
Cohee 8ee0348a01 Merge branch 'import-uuid' into staging 2024-03-03 16:46:35 +02:00
Cohee 1395f9bd9e
Merge pull request #1887 from Bronya-Rand/staging
Import PygmalionAI/JanitorAI/Chub Bots via UUID
2024-03-03 16:46:22 +02:00
Cohee 112e8f224c Use alternate method of determining URLs, consolidate logs format 2024-03-03 16:45:26 +02:00
Cohee 39c588f30e Showdown: parse single underscores as italics 2024-03-03 15:26:29 +02:00
RossAscends 1e555bcb8f markdown support in spoiler display 2024-03-03 19:54:21 +09:00
Bronya-Rand 668d1f0fb9 feat: add `importUUID` API to get Pyg/Janny/Chub bots without link 2024-03-03 03:31:39 +00:00
Wolfsblvt c0e112d195 Tag Folders: inline info for groups and avatars
- Add list of character avatars to folders (overflow hidden)
- Add and/or move count of characters for both groups and folders in overview
- Add name list of all chars for groups, above tags
- Replace alt texts of all avatar images with the entity name
- Made title/mouseover tooltip more useful with separation between types and their names
- refactored CSS usage of avatar sizes to global variables
- grid view alignment changes
2024-03-03 02:12:18 +01:00
Wolfsblvt 1faf8b7ee2 Tag Folders: Sync tag filters and bogus drilldown
- When you select or unselect a filter that is also a folder, the folder gets put into the drilldown
- When you click a folder or go back, the tag selection is synced accordingly
- Do not throw away bogus/tag filter on redraw/refresh of the list
2024-03-03 02:12:18 +01:00
Wolfsblvt 3e44dddfda Tag Folders: Drilldown for select and improved filter
- drilldown visible for bogus folder selections
- drilldown can be changed and refreshed
- enhanced filters (remove empty folders/tags from list by default)
2024-03-03 02:12:17 +01:00
Wolfsblvt 25b528ee4f Tag Folders: add tag folder sorting and enabling
- make tags sortable per drag&drop (then sorted everywhere)
- each tag can individually be enabled as folder
- fix redraw of tags/entity list on tag changes
2024-03-03 02:11:35 +01:00
berbant 8769630b68
Character source link processing 2024-03-02 23:37:18 +04:00
Cohee 456c4c333f Creator notes in char list are no longer first line only. 2024-03-02 19:46:59 +02:00
Cohee 95c49029f7 Add aphrodite model selector 2024-03-01 23:02:43 +02:00
Cohee d57b5ad6f7 Fix code style 2024-03-01 21:35:33 +02:00
Cohee 81bf6cb399
Merge pull request #1872 from Technologicat/fragment-search-chats
Fragment search (a.k.a. swoop) for Manage chat files
2024-03-01 21:30:41 +02:00
Cohee b716dfbc0d
Merge pull request #1874 from deciare/underline-text-format
Support underlined text formatting
2024-03-01 17:49:14 +02:00
Deciare d554edc023 Support underlined text formatting.
- Enable the `underline` option for Showdown.
- Implement option for underlined text colour.
- Update stylesheet.
2024-03-01 00:35:27 -05:00
Juha Jeronen e3084dda17 Manage chat files: UX: focus the search field when the view opens 2024-02-29 14:22:51 +02:00
Juha Jeronen f8f6dd1d90 Manage chat files: fragment search a.k.a. swoop 2024-02-29 14:22:35 +02:00
Cohee 3d84ae026d Fix formatting 2024-02-29 11:50:41 +02:00
berbant a85a2bbab1
Merge branch 'SillyTavern:staging' into staging 2024-02-28 22:46:43 +04:00
Deciare 2a4b8ac438 Update displayed prompt bias when auto-saving edits.
When Auto-save Message Edits is enabled, the prompt bias string
displayed beneath the textarea wasn't being updated.
2024-02-27 05:17:38 -05:00
Deciare 7885f19e86 Perform macro substitution while updating message.
This addresses 3 issues:
1. Prompt bias string was not removed from the text of the edited
  message.
2. Macro substitition was not performed in the prompt bias string.
3. Macro substitution was not performed in the edited message text.
2024-02-27 05:17:31 -05:00
Cohee f962ad5c02 Add OpenRouter as a text completion source 2024-02-25 22:47:07 +02:00
berbant 3c620effaf
Update script.js 2024-02-25 21:19:28 +04:00
Cohee fc289126fa Add event type for text completion generation request settings ready 2024-02-24 21:45:33 +02:00
Cohee d5bf9fc28c Non-streaming logprobs for Aphrodite 2024-02-24 20:53:23 +02:00
Cohee d140b8d5be Parse non-streaming tabby logprobs 2024-02-24 20:10:53 +02:00
Cohee 3441667336 #1853 Add WI/Script link by entry automation id 2024-02-24 17:22:51 +02:00
Cohee 13aebc623a
Merge pull request #1854 from deciare/llamacpp-probs
Request and display token probabilities from llama.cpp backend
2024-02-24 15:06:28 +02:00
Cohee eaadfea639 Extend debounce duration of logprobs renderer 2024-02-24 15:03:57 +02:00
Cohee 9287ff18de Fix for non-streaming 2024-02-24 14:50:06 +02:00
NWilson f569424f3e Merge branch 'staging' into InfermaticAI 2024-02-22 08:32:10 -06:00
Cohee 711fd0517f Merge branch 'staging' into pygimport 2024-02-21 11:26:47 +02:00
Cohee 8e66a14e37 Add hints to doc strings about additional command prompts 2024-02-20 02:29:14 +02:00
Cohee 79ba026486
Merge pull request #1840 from Wolfsblvt/slash-commands-menu-actions-allow-custom-prompts
Extend impersonate/continue/regenerate with possible custom prompts (via slash commands and popup menu)
2024-02-20 02:26:41 +02:00
Cohee 061b7c6922 Don't try to execute script commands if the message doesn't start with slash 2024-02-20 02:09:01 +02:00
Wolfsblvt a5ee46cb2a Only respect slash command, ignore text field 2024-02-19 22:36:32 +01: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
NWilson 030806bf1e Merge remote-tracking branch 'origin/staging' into InfermaticAI 2024-02-19 10:14:06 -06:00
Cohee 3c2113a6e7 Add ability to preserve file names when loading from assets downloader 2024-02-19 00:17:23 +02:00
Cohee e4a48cd28f Add pyg hint to import UI 2024-02-17 03:54:13 +02:00
NWilson 8075e4cd1e Changes 2024-02-16 09:07:06 -06:00
NWilson b5887960b6 Merge branch 'release' into InfermaticAI 2024-02-16 08:53:04 -06:00
Cohee 9d713825c2 #1827 Consolidate {{group}} macro behavior 2024-02-12 16:23:01 +02:00
Cohee 72256110a7 Unbreak current chat rename 2024-02-12 02:55:16 +02:00
Cohee 354c52d997 #1814 Fix regex placement attribution 2024-02-11 16:52:14 +02:00
Cohee 03ad72b6c7
Merge pull request #1802 from Technologicat/modelname
{{model}} substitution to get name of current LLM
2024-02-08 11:36:02 +02:00
Juha Jeronen a49d0f1050 use getGeneratingModel 2024-02-08 11:13:54 +02:00
Cohee 04372848c8 Fix for undefined chats 2024-02-07 23:58:05 +02:00
Juha Jeronen 2dcb490e43 add {{model}} substitution macro to get name of current LLM
This is useful in the character card for an AI assistant, see #1774.

Tested with the Textgen backend, but should work with others too.

Horde will show only "Connected", and Novel will show the tier,
but Kobold and Textgen will show the model name.

If not connected, on any backend, will show "no_connection".
2024-02-07 23:29:32 +02:00
Juha Jeronen c1a5b50aae improve description for consistency 2024-02-07 23:12:21 +02:00
Juha Jeronen 5183fb40a2 refactor to improve proposed implementation of /getchatname 2024-02-07 23:09:51 +02:00
Juha Jeronen 5d1f3b13ea add /getchatname slash command to get name of current chat file
Example:

/getchatname | /echo {{pipe}}
2024-02-07 22:51:41 +02:00
Cohee 8ecab19966
Merge pull request #1798 from oobabooga/staging
Add API key field for text-generation-webui
2024-02-07 19:24:42 +02:00
Juha Jeronen f0cffb3dd9 fix /delchat for characters with lots of chat files 2024-02-07 15:20:37 +02:00
oobabooga 21fb143718 Add API key 2024-02-06 20:00:16 -08:00
Cohee 2815990589 Force personas sort before returning to caller 2024-02-05 10:58:35 +02:00
Cohee f12aeeed90 Firefox copium for persona images 2024-02-05 02:18:44 +02:00
Cohee 7ac6ed267f #1782 OpenAI multiswipe 2024-02-04 03:36:37 +02:00
Cohee 37d94a4331 #1775 Fix personas name sorting 2024-02-03 01:52:57 +02:00
Cohee 303fb09388 Show persona file name on hover 2024-02-02 04:09:12 +02:00
Cohee a746077a1e Sort personas by name. 2024-02-02 04:07:51 +02:00
Cohee 33c452df3e Fix navigation if new persona is on the first page 2024-01-31 11:23:57 +02:00
Cohee fa73c523f0 Persist current page on persona actions 2024-01-31 11:01:50 +02:00
Cohee f8032ac649 Default to 5 personas per page 2024-01-31 03:34:51 +02:00
Cohee c01217ac76 Clean-up styles and handlers 2024-01-30 20:16:48 +02:00
Cohee 4542c66664 #1761 Persona management overhaul 2024-01-30 19:12:56 +02:00
Cohee da7b435b7c
Merge pull request #1751 from kingbased/proxypreset
Reverse proxy presets
2024-01-29 22:09:33 +02:00
Cohee 5f1e290bda Disallow multiple {{original}} macro substitutions 2024-01-29 00:58:29 +02:00
Cohee a9464daffa Merge branch 'staging' into macro-separation 2024-01-29 00:51:06 +02:00
Cohee ef9cdf64cf Fix swipe buttons display when using /comment after last AI message 2024-01-29 00:37:51 +02:00
Cohee 8037e31c53 Fix {{original}} 2024-01-28 17:31:19 +02:00
valadaptive 44fb746783 Remove dead if statement 2024-01-27 15:25:44 -05:00
valadaptive 29f509179c Remove getMessageId
As far as I can tell, we don't add/remove anything from chat in between
the calculation of newMessageId and subsequent calls to getMessageId.
We can just use newMessageId everywhere.
2024-01-27 13:50:54 -05:00
valadaptive e475081116 Fix off-by-one in addOneMessage 2024-01-27 13:48:08 -05:00
valadaptive 7f955a59b9 Remove count_view_mes 2024-01-27 13:24:08 -05:00
valadaptive 4bd7364a8e Change macro substitution order 2024-01-27 13:22:22 -05:00
valadaptive 71f47588cd Pass macro variables in to evaluateMacros
This doesn't cover *all* the variables yet, just the ones that were
previously passed in as arguments. I'll expand this later to separate
the macro parsing from the execution of the functions themselves.
2024-01-27 13:20:44 -05:00
based aa976d0de2 implemented proxy preset manager 2024-01-27 06:21:00 +10:00
Cohee 1647e5ae49
Merge pull request #1734 from khanonnie/alternative-tokens
Implement Token Probabilities UI panel using logprobs
2024-01-26 03:39:25 +02:00
khanon 60044c18a4 Implement Token Probabilities UI using logprobs 2024-01-25 18:34:46 -06:00
lucy 1ef437f5f1
[feat] GENERATION_ENDED event
uses hideStopButton() to trigger the event, because all other paths are conditional and would require the event to be triggered in multiple functions, compared to hideStopButton() already being called at the end of all the generations

unblockGeneration() was another candidate, but it is not consistently executed to be viable
2024-01-26 00:53:27 +01:00
Cohee 6012ee5f89 #1740 Open most recent chat when deleting current chat file 2024-01-25 18:55:38 +02:00
Cohee 4abe87f103 #1742 Add /chat-manager command 2024-01-25 18:19:04 +02:00
Cohee 1ae5a8bd66 #1630 Fix display mode regex depth calc 2024-01-25 02:53:39 +02:00
Cohee 3f3529ef89 #1630 Add min/max depth for prompt/display regex scripts. 2024-01-24 22:48:58 +02:00
Cohee 4985afd816 Extend external media checks 2024-01-24 19:14:40 +02:00
Cohee 9f81ea3c1f Allow double quotes inside of <tags> 2024-01-24 18:05:11 +02:00
Cohee 4823bcf4ff Add option to forbid external images 2024-01-24 15:47:54 +02:00
NWilson f29f934c6b Progress 2024-01-24 06:59:27 -06:00
Cohee 9b42be2334 Reset message editor before switching active chat 2024-01-23 11:00:33 +02:00
Cohee 958cf6a373 Don't append name2 in non-instruct mode if continuing on first message 2024-01-21 23:20:29 +02:00
Cohee 3cd935c0d2 Fix possible prompt overflow on message examples push-out 2024-01-21 23:13:01 +02:00
Cohee 3cb9413541 #1718 Fix message search opening wrong chats 2024-01-20 20:13:41 +02:00
Cohee 4f55824d7f QR auto-execute on group member draft 2024-01-18 18:08:38 +02:00
Cohee b8445eb2cd Add slash commands for instruct and context 2024-01-18 17:24:07 +02:00
Cohee f966c398ef Increase preset command timeouts 2024-01-18 16:36:26 +02:00
maver e4d5eac6cf Add world info to generate_before_combine_prompts event data 2024-01-15 17:45:50 +01:00
Cohee ed77f4763a #1696 Don't cancel generation on first Escape press if editing a message 2024-01-15 03:45:31 +02:00
Cohee 6086cedf2b Use XHR to load HTML templates 2024-01-12 22:00:08 +02:00
Cohee 4fe13fab8e Customizable /gen instruct name 2024-01-12 19:16:42 +02:00
Cohee 4e5f01d785
Merge pull request #1668 from valadaptive/macro-cleanups-1
Move substituteParams into its own module
2024-01-12 11:57:21 +02:00
valadaptive 05003ccf78 Remove silly debug logging 2024-01-12 04:38:40 -05:00
valadaptive 89a999cfd4 Move macro substitution to new module
substituteParams has become a thin wrapper around the new evaluateMacros
function, and will become more of a compatibility shim as refactorings
and rewrites are done.
2024-01-10 22:22:30 -05:00
Cohee 3f6f32edad Add {{mesExamplesRaw}} macro for story string 2024-01-10 14:11:02 +02:00
Cohee adf82f2ba8 #1663 Add last prompt line to quiet prompts 2024-01-09 01:14:23 +02:00
Cohee f7b1b490c7 Larger alternate greetings window 2024-01-06 19:59:48 +02:00
Cohee 5f93c30a96 #1627 Bypass status check and custom model for textgen type 2024-01-05 19:15:07 +02:00
Cohee c69724e1da Fix GUI Kobold 2024-01-02 10:28:34 +02:00
Cohee 52637ccd39
Merge pull request #1619 from LenAnderson/worldinfo_updated-event
Add event when world info is updated
2024-01-01 18:35:23 +02:00
Cohee f53d937782 Fix mistral undefined name 2024-01-01 18:31:17 +02:00
Cohee 9106696f2f Render prompt manager when switching APIs 2024-01-01 17:06:10 +02:00
Cohee 908bf7a61d Merge branch 'staging' into generate-cleanups-3 2024-01-01 16:49:35 +02:00
LenAnderson 8cd75cf03d add event when world info is updated 2024-01-01 14:34:09 +00:00
Cohee 30732ada32 Lint fix 2024-01-01 16:08:24 +02:00
maver ee70593a7e Add world info to generate_before_combine_prompts event data 2023-12-28 17:03:36 +01:00
Cohee 8dd4543e93 Remove macro from user messages when using bias 2023-12-28 11:19:56 +02:00
valadaptive 77b02a8d4b Extract data.error check 2023-12-26 12:41:35 -05:00
valadaptive 0f8a16325b Extract dryRun early return from finishGenerating
This means we only have to handle it in one place rather than two.
2023-12-25 03:48:49 -05:00
valadaptive 3c0207f6cb Move "continue on send" logic out of Generate() 2023-12-25 03:48:49 -05:00
valadaptive 7899549754 Make "send message from chat box" into a function
Right now all it does is handle returning if there's already a message
being generated, but I'll extend it with more logic that I want to move
out of Generate().
2023-12-25 03:48:49 -05:00
valadaptive 1029ad90a2 Extract "not in a chat" check into guard clause
This lets us remove a layer of indentation, and reveal the error
handling logic that was previously hidden below a really long block of
code.
2023-12-25 03:48:49 -05:00
valadaptive 4fc2f15448 Reformat up Generate() group logic
The first two conditions in the group if/else blocks are the same, so we
can combine them.
2023-12-25 03:48:49 -05:00
valadaptive 0d3505c44b Remove OAI_BEFORE_CHATCOMPLETION
Not used in any internal code or extensions I can find.
2023-12-25 03:48:49 -05:00
valadaptive f53e051cbf Lift precondition check out of processCommands
Instead of passing type and dryRun into processCommands, do the check in
Generate, the only function that calls it. This makes the logic clearer.
2023-12-25 03:48:49 -05:00
Cohee a9e074dae1 Don't recreate first message if generation was run at least once 2023-12-24 02:47:00 +02:00
Cohee db3bf42d63 Fix Firefox number arrows not updating the slider 2023-12-23 16:09:03 +02:00
Cohee 09fd772a20 #1579 Add ooba character yaml import 2023-12-21 21:46:09 +02:00
Cohee 4621834c87 Short formatting path for empty messages 2023-12-21 20:50:30 +02:00
Cohee a85a6cf606 Allow displaying unreferenced macro in message texts 2023-12-21 20:49:03 +02:00
Cohee 39e0b0f5cb Remove custom Handlebars helpers for extensions. 2023-12-21 20:33:50 +02:00
valadaptive 8fb26284e2
Clean up Generate(), part 2 (#1578)
* Move StreamingProcessor constructor to the top

Typical code style is to declare the constructor at the top of the class
definition.

* Remove removePrefix

cleanupMessage does this already.

* Make message_already_generated local

We can pass it into StreamingProcessor so it doesn't have to be a global
variable.

* Consolidate setting isStopped and abort signal

Various places were doing some combination of setting isStopped, calling
abort on the streaming processor's abort controller, and calling
onStopStreaming. Let's consolidate all that functionality into
onStopStreaming/onErrorStreaming.

* More cleanly separate streaming/nonstreaming paths

* Replace promise with async function w/ handlers

By using onSuccess and onError as promise handlers, we can use normal
control flow and don't need to remember to use try/catch blocks or call
onSuccess every time.

* Remove runGenerate

Placing the rest of the code in a separate function doesn't really do
anything for its structure.

* Move StreamingProcessor() into streaming code path

* Fix return from circuit breaker

* Fix non-streaming chat completion request

* Fix Horde generation and quiet unblocking

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2023-12-21 20:20:28 +02:00
Cohee b3dfe16706 #1575 Fix clean-up WI depth injections 2023-12-21 16:33:21 +02:00
Cohee ee75adbd2d Update persona name if it is bound by user name input 2023-12-21 14:56:32 +02:00
Cohee cf8d7e7d35 Merge branch 'staging' into custom 2023-12-20 18:37:47 +02:00
Cohee ebec26154c Welcome message fixed 2023-12-20 18:37:34 +02:00
Cohee 5734dbd17c Add custom endpoint type 2023-12-20 18:29:03 +02:00
Cohee 041b9d4b01 Add style sanitizer to message renderer 2023-12-20 17:03:37 +02:00
Cohee b0a4341571
Merge pull request #1574 from artisticMink/feature/before-combine-event
Allow extensions to alter the context order.
2023-12-20 15:46:34 +02:00
maver f30f75b310 Add GENERATE_BEFORE_COMBINE_PROMPTS event
Allows for context to be ordered by extensions
2023-12-19 19:11:36 +01:00
Cohee 67dd52c21b #1309 Ollama text completion backend 2023-12-19 16:38:11 +02:00
Cohee edd737e8bd #371 Add llama.cpp inference server support 2023-12-18 22:38:28 +02:00
Cohee b0d9f14534 Re-add Together as a text completion source 2023-12-17 23:38:03 +02:00
Cohee 180061337e Merge branch 'staging' into anachronous/release 2023-12-17 21:35:49 +02:00
LenAnderson fb25a90532 add GENERATION_STARTED event 2023-12-17 17:45:23 +00:00
anachronos 1e88c8922a
Merge branch 'staging' into release 2023-12-17 10:38:04 +01:00
Fayiron 9f2d32524c Add TogetherAI as a chat completion source, basic 2023-12-16 14:39:30 +01:00
based 583f786d74 finish mistral frontend integration + apikey status check 2023-12-16 07:15:57 +10:00
Cohee ef17702f6a Merge branch 'staging' into bg-load-improvements 2023-12-15 17:02:10 +02:00
Cohee 6c16b94f9d
Merge pull request #1540 from valadaptive/refactor-device-check
Refactor mobile device check
2023-12-15 17:01:32 +02:00
valadaptive 0ee19d2ede Set background client-side 2023-12-15 05:45:21 -05:00
valadaptive 7897206cf8 Add a pre-loading screen cover
This matches the loader color and exists to prevent a flash of unstyled
content when the page first loads and JS has not yet run.
2023-12-15 05:34:33 -05:00
valadaptive fbdfa05f81 Replace usage of getDeviceInfo with isMobile
We were using getDeviceInfo to check whether we were on a desktop or a
mobile device. This can be done more simply with isMobile, which means
we can stop exporting getDeviceInfo.
2023-12-14 18:37:54 -05:00
valadaptive 769cc0a78f Rename settings API endpoints 2023-12-14 16:47:03 -05:00
Cohee cde9903fcb Fix Bison models 2023-12-14 22:18:34 +02:00
based ca87f29771 added streaming for google models 2023-12-14 21:03:41 +10:00
based be396991de finish implementing ui changes for google models 2023-12-14 11:53:26 +10:00
based 69e24c9686 change palm naming in UI 2023-12-14 11:14:41 +10:00
Cohee 0cd92f13b4 Merge branch 'staging' into separate-kobold-endpoints 2023-12-14 01:33:36 +02:00
Cohee b957e3b875
Merge pull request #1518 from valadaptive/separate-ooba-endpoints
Move Ooba/textgenerationwebui endpoints into their own module
2023-12-14 01:27:05 +02:00
valadaptive 274605a07c Rename Kobold-related endpoints 2023-12-12 16:42:12 -05:00
valadaptive 5b3c96df50 Rename /textgenerationwebui endpoint
I'd like to migrate over to using "textgen" to mean text-generation APIs
in general, so I've renamed the /textgenerationwebui/* endpoints to
/backends/text-completions/*.
2023-12-12 16:40:14 -05:00
valadaptive 7732865e4c Another explanatory comment 2023-12-12 16:36:47 -05:00
valadaptive 87cbe361fc Cache stopping strings rather than skipping them 2023-12-12 16:32:54 -05:00
Cohee 3d7706e6b3 #1524 Skip stop strings clean-up during streaming 2023-12-12 23:09:39 +02:00
Cohee 83f2c1a8ed #1524 Add FPS limiter to streamed rendering 2023-12-12 22:11:23 +02:00
Cohee 9176f46caf Add /preset command 2023-12-12 19:14:17 +02:00
Cohee a9a05b17b9
Merge pull request #1517 from LenAnderson/firstIncludedMessageId
Add macro for first included message in context
2023-12-12 01:24:57 +02:00
Cohee 299749a4e7 Add prerequisites for websearch extension 2023-12-12 01:08:47 +02:00
LenAnderson 2bdd3672d4 add macro for first included message in context 2023-12-11 23:06:21 +00:00
Cohee 1b11ddc26a Add vector storage to WI scanning 2023-12-11 22:47:26 +02:00
Cohee afe3e824b1 Unblock left swipe on swipeId overflow. 2023-12-11 21:16:09 +02:00
Cohee e713021737
Merge pull request #1511 from valadaptive/more-kobold-cleanups
More Kobold cleanups
2023-12-11 20:59:49 +02:00
Cohee 05ab147209 Fix swipes getting stuck when no Horde models selected 2023-12-11 20:46:34 +02:00
Cohee 7482a75bbd
Merge pull request #1493 from valadaptive/generate-cleanups
Clean up Generate(), part 1
2023-12-11 20:21:32 +02:00
Cohee 0302686a96 Return from Generate if calling circuit breaker 2023-12-11 19:07:33 +02:00
Cohee c48e447c42 Add rows and button text to import window 2023-12-11 16:23:47 +02:00
valadaptive d33cb0d8d1 Clarify getstatus API
Instead of "version" and "koboldVersion", have "koboldUnitedVersion" and
"koboldCppVersion", the latter of which is null if we're not connected
to KoboldCpp.
2023-12-10 20:34:11 -05:00
valadaptive 1fbf4394c8 Separate Kobold Horde status function 2023-12-10 20:16:07 -05:00
valadaptive 3ab1962b84 Improve circuit breaker
We now track the loop counter as a parameter of Generate that we
decrement with every recursive call, rather than a global variable,
and it *should* now work with quiet prompt generation.
2023-12-10 18:46:28 -05:00
valadaptive 3d7c901464 Remove looping backoff behavior 2023-12-10 18:35:46 -05:00
valadaptive 315d981804 Reject generation on circuit breaker error 2023-12-10 18:13:34 -05:00
valadaptive ae9445e500 Reject on data.error 2023-12-10 13:56:31 -05:00
valadaptive 5fd466b53f Fix generateQuietPrompt 2023-12-10 13:54:39 -05:00
Cohee 420d186823 Add reduced motion toggle 2023-12-10 20:02:25 +02:00
valadaptive 33f969f097 Have Generate() return a promise
Generate(), being async, now returns a promise-within-a-promise.
If called with `let p = await Generate(...)`, it'll wait for generation
to *start*. If you then `await p`, you'll wait for generation to
*finish*. This makes it much easier to tell exactly when generation's
done. generateGroupWrapper has been similarly modified.
2023-12-10 12:30:10 -05:00
valadaptive 03884b29ad Always call resolve in Generate()
This lets us get rid of the janky hack in group-chats to tell when a
message is done generating.
2023-12-10 12:26:30 -05:00
Cohee dbd52a7994
Merge pull request #1482 from valadaptive/sse-stream
Refactor server-sent events parsing
2023-12-10 18:32:19 +02:00
Cohee d5140142fb Merge branch 'staging' into tokenizers-cleanup 2023-12-10 15:51:15 +02:00
Cohee e0d0e1dd66
Merge pull request #1502 from valadaptive/status-cleanup
Clean up getStatus code
2023-12-10 15:49:37 +02:00
Cohee 6be1c6ff10
Merge pull request #1504 from valadaptive/store-compiled-templates
Cache compiled Handlebars templates
2023-12-10 15:32:52 +02:00
Cohee 5f1683f43a More input padding and stricter sanitation 2023-12-10 15:07:39 +02:00
valadaptive c48bc8a76e Cache compiled Handlebars templates
Since we already have a template cache, it makes sense to store the
templates in it *after* compiling them, to avoid the overhead of
re-compiling them every time we call renderTemplate.

I've also changed the cache from an object to a Map--it's more
semantically correct, and avoids weird edge cases like a template named
"hasOwnProperty" or some other function that exists as an object
property.
2023-12-09 21:29:36 -05:00
valadaptive 499d158c11 Remove last usage of getAPIServerUrl
Now that we're not using this in the tokenizers code, we can remove it.
2023-12-09 20:55:34 -05:00
valadaptive babb127aee Move NovelAI status functions over to the rest
Have all the get(...)Status and event handler registrations in the same
areas, rather than having the NovelAI ones far away. I want to
eventually move all the API-specific stuff into separate modules, but
this will make things cleaner for the time being.
2023-12-09 18:41:51 -05:00
valadaptive 0ea0399ed1 Separate getStatus into Kobold/textgen versions
This adds a bit of duplicate code for the time being, but ultimately
makes the code less confusing because we only need to include the bits
that are relevant to the specific API in each function. We can also
remove API parameters that are useless depending on the endpoint.
2023-12-09 18:39:19 -05:00