Commit Graph

487 Commits

Author SHA1 Message Date
valadaptive 32c86c1e95 Move backgrounds endpoints into separate file 2023-12-07 15:24:05 -05:00
valadaptive 2367f4f38f Rename backgrounds API endpoints 2023-12-07 15:17:19 -05:00
valadaptive eb1d4aed4d Move stats helpers into stats endpoint 2023-12-07 13:04:54 -05:00
valadaptive afe0dfe913 Move stats endpoints into separate file 2023-12-07 13:00:34 -05:00
valadaptive 26ebb417f4 Rename stats API endpoints 2023-12-07 13:00:34 -05:00
valadaptive d6f5e63d85 Move (re)creation of stats to its own function 2023-12-07 13:00:34 -05:00
valadaptive bf2b59279b Move worldinfo endpoints into separate file 2023-12-06 20:00:51 -05:00
valadaptive c746e6a426 Rename worldinfo API endpoints 2023-12-06 20:00:51 -05:00
valadaptive cf2b074d4b Move group endpoints into separate file 2023-12-06 20:00:31 -05:00
valadaptive 8027372fc2 Rename group API endpoints 2023-12-06 19:59:58 -05:00
valadaptive dcde1bd5ba Redirect deprecated chat endpoints 2023-12-06 19:59:32 -05:00
valadaptive e870c35613 Move chat endpoints into separate file 2023-12-06 19:59:32 -05:00
valadaptive 6efe95f4f1 Rename chat API endpoints 2023-12-06 19:58:24 -05:00
Cohee 1683b76c65 Add awaiter to /recreatestats 2023-12-07 01:06:56 +02:00
Cohee f3ae2e4046
Merge pull request #1477 from valadaptive/bool-simplify-1
Remove boolean equality checks from cliArguments
2023-12-07 00:59:28 +02:00
Cohee cf256a547c Remove unnecessary cast of "enableCorsProxy" 2023-12-07 00:57:23 +02:00
Cohee 6a516bf3eb Require only one autorun argument to be true 2023-12-07 00:55:36 +02:00
valadaptive 9c850b0b0c Fix double file extension on uploaded images 2023-12-06 17:29:10 -05:00
valadaptive 5096e70c11 Move client-relative path logic to helper function 2023-12-06 17:22:37 -05:00
valadaptive 39d771cc4a Replace path "\" with "/" server-side 2023-12-06 17:22:37 -05:00
valadaptive e65d1ad20f Remove boolean equality checks from cliArguments
yargs ensures that the Boolean options will always be booleans, so the
strict equality checks are unnecessary.
2023-12-06 13:29:58 -05:00
valadaptive 7b13c5b37d Redirect deprecated character endpoints 2023-12-06 12:05:01 -05:00
valadaptive a457484c2d Move character endpoints into their own module 2023-12-04 17:35:06 -05:00
valadaptive 17959a60a4 Remove charactersPath and chatsPath
We already have these paths in the DIRECTORIES constant.
2023-12-04 17:35:06 -05:00
valadaptive b689b8bd30 Rename character API endpoints
Precursor to moving the character API into its own module
2023-12-04 17:35:06 -05:00
Cohee 1ade0fda11 Merge branch 'staging' into stable-diffusion-router 2023-12-05 00:25:24 +02:00
Cohee b287d5f3bd Merge branch 'staging' into tokenizers-router 2023-12-05 00:19:44 +02:00
Cohee 21e19674b4 Merge branch 'staging' into vectors-router 2023-12-05 00:15:36 +02:00
Cohee 444f67e930 Merge branch 'staging' into translate-router 2023-12-05 00:11:06 +02:00
Cohee eb273ced59 Merge branch 'staging' into thumbnails-router 2023-12-05 00:08:15 +02:00
Cohee 9d0a0bc139 Merge branch 'staging' into sprites-router 2023-12-05 00:01:03 +02:00
Cohee 2acb7d1ae5 Merge branch 'staging' into serpapi-router 2023-12-04 23:57:23 +02:00
Cohee 1eb6f33e8b Merge branch 'staging' into secrets-router 2023-12-04 23:54:54 +02:00
Cohee 6fc0e485cd Merge branch 'staging' into presets-router 2023-12-04 23:51:08 +02:00
Cohee 32c3c34e4b Merge branch 'staging' into openai-router 2023-12-04 23:45:50 +02:00
Cohee dca470c9e9 Merge branch 'staging' into novelai-router 2023-12-04 22:14:46 +02:00
Cohee 6fd6d4fc4d Merge branch 'staging' into horde-router 2023-12-04 22:07:39 +02:00
Cohee 3085dbe12c Merge branch 'staging' into extensions-router 2023-12-04 21:51:00 +02:00
Cohee d22d0c7cc2 Merge branch 'staging' into content-manager-router 2023-12-04 21:46:25 +02:00
Cohee a2387130f3 Merge branch 'staging' into classify-router 2023-12-04 21:39:39 +02:00
Cohee 1d4ac50fd7 Merge branch 'staging' into caption-router 2023-12-04 21:31:01 +02:00
valadaptive 68049afd84 Use Express router for vectors endpoint 2023-12-04 13:01:52 -05:00
valadaptive 15ba2441ce Use Express router for translate endpoint 2023-12-04 13:00:59 -05:00
valadaptive 4e073250a2 Use Express router for tokenizers endpoint 2023-12-04 13:00:13 -05:00
valadaptive 2d54a67a1f Use Express router for thumbnails endpoint 2023-12-04 12:59:24 -05:00
valadaptive 7f129df7b8 Use Express router for stable diffusion endpoint 2023-12-04 12:58:02 -05:00
valadaptive 173bc5975f Use Express router for sprites endpoint 2023-12-04 12:57:13 -05:00
valadaptive 35ce955b00 Use Express router for serpapi endpoint 2023-12-04 12:56:22 -05:00
valadaptive 091255d451 Use Express router for secrets endpoint 2023-12-04 12:55:13 -05:00
valadaptive ba74288e4a Use Express router for presets endpoint 2023-12-04 12:54:18 -05:00
valadaptive 2d19645c4e Use Express router for openai endpoint 2023-12-04 12:53:17 -05:00
valadaptive e6b549bc48 Use Express router for novelai endpoint 2023-12-04 12:52:27 -05:00
valadaptive 2e990bf336 Use Express router for horde endpoint 2023-12-04 12:51:02 -05:00
valadaptive babe9abbe9 Use Express router for extensions endpoint 2023-12-04 12:48:29 -05:00
valadaptive 4c911d3155 Use Express router for content endpoint 2023-12-04 12:47:38 -05:00
valadaptive 0ad753f317 Use Express router for classify endpoint 2023-12-04 12:45:17 -05:00
valadaptive d2e1577acb Use Express router for caption endpoint 2023-12-04 12:43:37 -05:00
valadaptive d24c1dde10 Use Express router for assets + "files" endpoints
I've split out the "file/upload" endpoint into its own module, and
renamed it to "files" to be consistent with the existing naming scheme.
2023-12-04 12:40:53 -05:00
Cohee 95ef108e84 Merge branch 'staging' into express-common 2023-12-04 19:09:20 +02:00
Cohee 8bf18891b3 Add data model field for WI entry group 2023-12-04 18:47:35 +02:00
valadaptive 3931f791b2 Move parsers into express-common module
This will allow endpoint modules to import them themselves, instead of
requiring server.js to pass them in.
2023-12-04 10:25:40 -05:00
valadaptive 4919a2e9a2 Move endpoints into their own folder 2023-12-04 10:24:21 -05:00
valadaptive 24546621e3 Move endpoints into their own folder 2023-12-04 10:12:27 -05:00
valadaptive ebde9c2c1f Copy chat_completion_sources enum to server code 2023-12-03 15:04:01 -05:00
valadaptive e33c8bd955 Replace use_[source] with chat_completion_source
Same as the is_[api] replacement--it's easier to have one enum field
than several mutually-exclusive boolean ones
2023-12-03 15:03:39 -05:00
valadaptive a68505e857 Copy textgen-types enum to server code 2023-12-03 15:00:25 -05:00
valadaptive ba54e3dea0 Replaces is_[api] params with api_type param
These were 5 mutually-exclusive booleans, which can be replaced with one
param that takes on 5 values, one for each API type.
2023-12-03 14:56:01 -05:00
Cohee 45df576f1c Re-add default presets for content manager 2023-12-03 15:07:21 +02:00
Cohee b09ebb240e Phaseout JSON5 2023-12-03 14:04:43 +02:00
Cohee 64a3564892 lint: Comma dangle 2023-12-02 22:06:57 +02:00
Cohee c63cd87cc0 lint: Require semicolons 2023-12-02 21:11:06 +02:00
valadaptive a37f874e38 Require single quotes 2023-12-02 13:04:51 -05:00
valadaptive 518bb58d5a Enable no-unused-vars lint
This is the big one. Probably needs thorough review to make sure I
didn't accidentally remove any setInterval or fetch calls.
2023-12-02 12:11:19 -05:00
valadaptive 97c49a405b Enable no-extra-boolean-cast lint 2023-12-02 10:32:26 -05:00
valadaptive 0a27275772 Enable no-extra-semi lint 2023-12-02 10:32:26 -05:00
valadaptive 60ac1aa1c7 Enable no-empty lint 2023-12-02 10:32:07 -05:00
valadaptive 8c89f373fa Enable no-irregular-whitespace lint
A couple comments contained non-breaking spaces (I think), which I
replaced with regular spaces.
2023-12-02 10:32:07 -05:00
Cohee bac43a2131 Add CORS proxy placeholder 2023-12-02 16:04:30 +02:00
Cohee 4f05d872f4
Merge pull request #1423 from bdashore3/staging
Fix the CORS proxy again
2023-12-02 16:00:35 +02:00
Cohee a1754c7192
Update server.js 2023-12-02 15:32:09 +02:00
valadaptive 4c4e4caeb7 Pass in Kobold Classic API server url from client 2023-12-02 04:45:20 -05:00
kingbri 641cd614c8 Server: Fix CORS proxy with POST requests and status codes
POST requests always sent an undefined body without the bodyParser
middleware which isn't included with express by default. Add this
as a new dependency and inject it into the express app. This middleware
will also be useful for any other middleware that we might create.

Also properly send status codes and messages to the client so they
can be handled properly.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-12-02 01:43:09 -05:00
Cohee e9ad55aef2 Add seed input field for OpenAI settings #1412 2023-11-30 02:54:52 +02:00
Cohee 19df1f52cd Vector storage file retrieval 2023-11-30 00:01:59 +02:00
Cohee e541c2b186 #1412 Add randomized user ids to OpenAI 2023-11-29 00:11:10 +02:00
kingbri 735c4e7268 Server: Fix CORS proxy with URLs
Using slashes completely stripped the rest of the URL. Fix that.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-11-27 00:17:07 -05:00
Cohee 87108421b3 Add default config values 2023-11-26 13:13:44 +02:00
Cohee a7024a1d34 Migrate to config.yaml 2023-11-25 23:45:33 +02:00
Cohee b24d4f2340 Add opt-in CORS bypass endpoint 2023-11-25 21:56:57 +02:00
RossAscends 0b9555234e sort ChatCompletion presets by name 2023-11-24 17:15:39 +09:00
kingbri e445aeec14 Tabby: Fix model name return on error
Tabby's model API is always /v1/model/list, so return "None" if the
request fails since that means a model is most likely not loaded.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-11-23 00:13:28 -05:00
Cohee df4ed389bf System prompt for Claude 2 2023-11-21 22:11:26 +02:00
Cohee 96b87641ca Add OpenAI Whisper API 2023-11-19 20:30:34 +02:00
Cohee 96caddfd71 Add koboldcpp as Text Completion source 2023-11-19 17:14:53 +02:00
Cohee 53c3fc16c1 Assorted SD fixes 2023-11-19 00:40:21 +02:00
LenAnderson e520a50de2 add autorun command line argument 2023-11-18 00:09:42 +00:00
kingbri 5f8c615981 Server: Fix model info logs
Don't use a formatted string.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-11-17 15:01:13 -05:00
kingbri f7ed574d04 Tabby: Decouple combined conditionals
Done by request.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-11-17 14:51:44 -05:00
kingbri 4cfa267b1b API Tokenizer: Add support for TabbyAPI
Use Tabby's /v1/token endpoints.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-11-17 01:48:03 -05:00
kingbri f31b996cb5 Text Generation: Add TabbyAPI support
TabbyAPI is an exllamav2 only API server that aims to provide a simple
experience for loading and chatting with exl2 models.

SillyTavern currently doesn't have the ability to load and unload models,
so only add the OAI compatible completion endpoints.

The repository can be found here:
https://github.com/theroyallab/tabbyAPI

Signed-off-by: kingbri <bdashore3@proton.me>
2023-11-17 00:37:39 -05:00
Cohee 3fb26d3927 Add lazy loading of sentencepiece tokenizers 2023-11-15 19:39:55 +02:00
Cohee 5b5e42361a Fix chat backups saving with incorrect file extension 2023-11-15 01:06:27 +02:00
Cohee 5fe8f70eb1 #1345 Add API endpoint for web search interaction 2023-11-14 00:16:41 +02:00
Cohee 7afe9e6481 #1343 Add status check bypass 2023-11-12 13:23:46 +02:00
Cohee 4c0b3fb7ae Add null checks for OR pricing 2023-11-12 13:07:57 +02:00
Cohee abe4bb6d54 Add error handling for empty Palm response 2023-11-10 15:55:49 +02:00
Cohee 81fe9aa699 Fix updated tokenization via ooba API 2023-11-09 19:39:08 +02:00
Cohee 3780321ae6 Fix ooba model name displaying as turbo 2023-11-09 19:27:19 +02:00
Cohee 0e89bf90bc Use correct tokenizers for logit bias for Mistral and Llama models over OpenRouter 2023-11-09 01:03:54 +02:00
Cohee 76b8880972 Normalize response statuses 2023-11-08 23:20:55 +02:00
Cohee 480099ee97 Mancer will work in legacy API mode. Remove Soft Prompt mentions. 2023-11-08 18:16:47 +02:00
Cohee 4f1dbaa34b Remove /v1 from the ooba API URLs 2023-11-08 17:09:33 +02:00
Cohee 740f6548a2 Increase timeouts of OAI out of quota requests 2023-11-08 12:07:14 +02:00
Cohee e76c18c104 Legacy ooba API compatibility shim 2023-11-08 10:13:28 +02:00
Cohee 865256f5c0 Fix ooba tokenization via API. Fix requiring streaming URL to generate 2023-11-08 03:38:04 +02:00
Cohee b2629d9718 Refactor status checks and indicators. 2023-11-08 02:52:03 +02:00
Cohee 00a1eaab28 Add timeout for status check 2023-11-08 01:47:31 +02:00
Cohee 2c7b954a8d #1328 New API schema for ooba / mancer / aphrodite 2023-11-08 00:17:13 +02:00
Cohee 2d2ff5230c
Merge pull request #1318 from artisticMink/feature/bulk-edit-enhanced
Feature/bulk edit enhanced
2023-11-07 20:47:06 +02:00
Cohee 1896732f17 Add DALL-E to OpenAI plugin 2023-11-06 21:47:00 +02:00
artisticMink c584da2ea9 Accept both v1 and v2 spec for editcharacterattributes endpoint 2023-11-06 16:13:34 +01:00
artisticMink 42d838a0b3 Refactor TavernCardValidator error property 2023-11-06 16:13:34 +01:00
artisticMink 6eb6527d11 Prototyping 2023-11-06 16:13:34 +01:00
Cohee f10833a516 Add prompt format override for OpenRouter 2023-11-03 00:34:22 +02:00
RossAscends 75c6e74d41 support for min P on Kobold API 2023-11-02 14:53:57 +09:00
Cohee 922007ea25 #1294 Fix selective logic for embedded lorebooks 2023-10-28 12:28:03 +03:00
Cohee 24f406917d Add seed to Kobold APi 2023-10-26 21:22:00 +03:00
Cohee 51d2c9feba Add UI option for group gen strategy 2023-10-25 22:39:31 +03:00
Cohee 5dbe2ebf29 Add chat file backups 2023-10-24 22:09:55 +03:00
Cohee 18fa925855 Use named constant 2023-10-21 23:33:17 +03:00
Cohee ca73a3a7b7 Merge branch 'release' into staging 2023-10-21 15:06:19 +03:00
Cohee 008fcece04 Rewrite to sync readdir, add try-catch, filter out invalid files 2023-10-21 15:04:36 +03:00
Xrystal 1d38109dcf Use JSON instead of json5 2023-10-21 18:56:51 +08:00
Xrystal 6f0f420063 Promisify getallchatsofcharacter 2023-10-21 18:55:52 +08:00
Cohee b167eb9e22 Add raw token ids support to OAI logit bias. Fix token counting for turbo models 2023-10-19 13:37:08 +03:00
Cohee 6a1b230c7e #1226 Add chat-bound lorebooks 2023-10-16 23:03:42 +03:00
Cohee 8a3547ecd0 #1248 Fix a server crash on unexpected models response 2023-10-16 20:25:51 +03:00
majick 89d7a05ea7 Missed a spot 2023-10-14 20:08:45 -10:00
majick a9ebd2f80e Make v2 spec read logspam slightly actionable
The existing logspam doesn't even tell the user what char is failing, which means it's
just going to emit every startup, forever, grinding at the poor user's soul, never
letting them know *which* of their 352 cards is causing the spam... day after day after
day.  Until one day, the poor beleaguered user will emit the world's ugliest PR to at
least find the broken card in an attempt kill it.

Ask me how I know.
2023-10-14 17:41:23 -10:00
50h100a 6e78ec11fb Check for errors on the `stream_end` event 2023-10-10 18:04:28 -04:00
Cohee 15c81749b8 Filter out invalid/broken characters 2023-10-09 19:17:49 +03:00
Cohee 0873d3eaf9 Filter out invalid/broken characters 2023-10-09 19:09:33 +03:00
Cohee d265179f46 Don't crash ST server on invalid streaming URL 2023-10-08 23:42:28 +03:00
Cohee f8b5fe8b1e Add Character note to char.card embeds 2023-10-04 22:13:56 +03:00
Cohee bb47712696 Split oobabooga/mancer sources. Add aphrodite support 2023-09-28 19:10:00 +03:00
Cohee 01f14b461f Fix embedded lorebook depths 2023-09-25 20:11:16 +03:00
Cohee a081f78bd8 (WIP) PaLM API 2023-09-23 20:48:56 +03:00
city-unit cd1a8c9224 Quick and dirty stat re-creator button 2023-09-21 17:34:09 -04:00
kalomaze ad9382a98c
Custom --grammar support [for koboldcpp] (#1161)
* Basic kobold grammar implementation

This is probably jank as all hell, I don't write js, but I think I got it to work.

* No value by default

* Visual cleanup

+ reworded it a bit

* Conditionally enable Grammar based on version flag. Fix layout

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2023-09-21 15:21:59 +03:00
Cohee e3f760a9dd Add assistant postfix to converted ChatML => text completion prompts. 2023-09-20 21:50:14 +03:00