Commit Graph

505 Commits

Author SHA1 Message Date
Cohee f53d937782 Fix mistral undefined name 2024-01-01 18:31:17 +02:00
based 42aa7fd316 mistral proxy support 2023-12-31 06:21:40 +10:00
based e7b6738fe8 merge 2023-12-31 05:04:37 +10:00
DonMoralez e0a84b0a56 reworked name assignment a bit 2023-12-26 13:45:39 +02:00
DonMoralez 3ac971b145 Merge remote-tracking branch 'upstream/staging' into staging 2023-12-24 13:31:21 +02:00
Cohee a8fb306c12 Add multimodal captioning for ooba 2023-12-24 01:43:29 +02:00
Cohee 88993bd3e8 Add check for server plugin id clash 2023-12-24 00:00:20 +02:00
DonMoralez 18e6a82306 Merge remote-tracking branch 'upstream/staging' into staging 2023-12-23 20:06:55 +02:00
Cohee fd373fb821 Use file URL for import 2023-12-23 19:46:32 +02:00
Cohee ea85cfcbdd Plugin cleanup and validation fixes 2023-12-23 19:03:13 +02:00
Cohee 437a6c1f40 Merge branch 'staging' into plugin-router 2023-12-23 18:39:18 +02:00
Cohee 69509925c4 #1584 Chinese language codes Deepl 2023-12-23 18:37:30 +02:00
DonMoralez 95eacacfec Update prompt-converters.js 2023-12-23 00:37:28 +02:00
DonMoralez 6fb69d5929 Merge remote-tracking branch 'upstream/staging' into staging 2023-12-23 00:25:57 +02:00
DonMoralez 6f163bd09c Modified exclude prefixes 2023-12-23 00:25:48 +02:00
Cohee b7a338e130 Move all Horde requests to server 2023-12-22 22:10:09 +02:00
DonMoralez e95482aea1 Merge remote-tracking branch 'upstream/staging' into staging 2023-12-22 17:12:59 +02:00
DonMoralez ee06a488b0 Add exclude prefixes checkbox, modified sequence checker 2023-12-22 17:04:58 +02:00
LenAnderson f862ffafd2 add option in config.yaml to use png for avatar thumbs 2023-12-22 14:23:50 +00:00
Cohee 9cf6cef0a4 Fix aborting generation on KoboldCpp via Text Completion 2023-12-21 23:14:28 +02:00
Cohee b782a8cc03 Add util for trim v1 2023-12-21 22:40:08 +02:00
Cohee 09fd772a20 #1579 Add ooba character yaml import 2023-12-21 21:46:09 +02:00
Cohee 343c33e331 Stricter Horde prompt sanitation 2023-12-21 20:22:21 +02:00
Cohee ffb711d802 Unify Claude request logging with other API sources 2023-12-21 16:59:43 +02:00
Cohee b5e59c819c Merge branch 'staging' into claude-rework 2023-12-21 16:52:43 +02:00
Cohee e087f29496 Log MistralAI prompts to server console 2023-12-21 16:08:58 +02:00
Cohee 3001db3a47 Add additional parameters for custom endpoints 2023-12-20 23:39:10 +02:00
Cohee ae64c99835 Add custom caption source 2023-12-20 21:05:20 +02:00
Cohee 5734dbd17c Add custom endpoint type 2023-12-20 18:29:03 +02:00
Cohee 4b131067e4 Add local multimodal caption sources 2023-12-20 00:45:45 +02:00
Cohee da1e9cb3b2 Use const where possible 2023-12-19 19:48:42 +02:00
Cohee a78875ca08 Use native color util 2023-12-19 19:47:23 +02:00
Cohee 423c2b70dc Camel case variable name 2023-12-19 19:44:52 +02:00
Cohee 6859e4443e Fix ollama chunk wrapper 2023-12-19 19:17:19 +02:00
Cohee 44318fef22 Fix double logging of non-streamed replies 2023-12-19 16:49:21 +02: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
DonMoralez 37807acc60 Merge remote-tracking branch 'upstream/staging' into staging 2023-12-18 22:01:38 +02:00
based cc27bcb076 UNRELATED: this never happened. 2023-12-18 15:01:45 +02:00
Cohee ac70a0a592 Add TogetherAI for image generation 2023-12-18 03:33:05 +02:00
DonMoralez 79ed01f4b0 Update chat-completions.js 2023-12-18 02:44:11 +02:00
DonMoralez 58227b82fc Update prompt-converters.js 2023-12-18 02:32:25 +02:00
DonMoralez 1df9e628bd Merge remote-tracking branch 'upstream/staging' into staging 2023-12-18 02:25:52 +02:00
DonMoralez 50ece13752 Add restore button, def hum message, claude check 2023-12-18 02:25:17 +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
DonMoralez 7835a1360f Merge remote-tracking branch 'upstream/staging' into staging 2023-12-17 19:46:47 +02:00
Cohee c7c1513e91 Add proxy support for multimodal captions. Add caption pre-prompt 2023-12-17 19:41:20 +02:00
valadaptive 0162d54e5b Always use async import()
import() works with CommonJS and ESM modules, so we don't need two
different code paths.
2023-12-17 12:29:54 -05:00
valadaptive 7ae0e05946 Allow plugins to specify "exit" functions 2023-12-17 12:26:34 -05:00
valadaptive 4fcb7b5ea4 Rework plugin loading
Plugins must now provide an `info` export which includes their ID, name,
and a description (I'm flexible on the last two). The ID is used for the
API route--all plugin-registered API routes will be accessed through
`plugins/[plugin ID]`.
2023-12-17 12:21:05 -05:00
DonMoralez 27a25e1298 Merge remote-tracking branch 'upstream/staging' into staging 2023-12-17 13:52:49 +02:00
anachronos 1e88c8922a
Merge branch 'staging' into release 2023-12-17 10:38:04 +01:00
based 5e086321d0 Merge remote-tracking branch 'fork/mistral' into mistral 2023-12-17 11:21:03 +10:00
based 73828062db fix for sys prompts 2023-12-17 11:19:29 +10:00
Cohee 2d8a62d059 Refactor openai vectors 2023-12-17 02:56:47 +02:00
Cohee b1f07eb989 lint: format 2023-12-17 02:49:14 +02:00
Cohee a62122a7d7 Merge branch 'staging' into mistral 2023-12-17 02:41:29 +02:00
Cohee 940f701691 Don't try to load directories as files 2023-12-17 01:23:28 +02:00
Cohee 16795dd5cc Add server plugin loader 2023-12-16 22:21:40 +02:00
Fayiron 0a9f678399 Remove togetherai.js 2023-12-16 17:09:09 +01:00
Fayiron 80e82171c1 Add support for multiple OpenAI compatible endpoints 2023-12-16 17:06:52 +01:00
Fayiron 7b0ecd3e61 more stuff 2023-12-16 15:17:03 +01:00
DonMoralez 125d2997db Add prefixes sequence check for claude 2023-12-16 14:12:06 +02:00
DonMoralez d19cc7ee36 Merge remote-tracking branch 'upstream/staging' into staging 2023-12-16 14:06:25 +02:00
based 60e1d10263 add fallback error for /status 2023-12-16 12:08:34 +10:00
Cohee b569d74552 Configurable auto-mode delay 2023-12-16 02:52:48 +02:00
based f16ac8686e just incase 2023-12-16 09:50:10 +10:00
based 47357da20c comment 2023-12-16 09:45:31 +10:00
based af059a6af6 more last prompt fixes + added an svg 2023-12-16 09:44:47 +10:00
based 65fa333513 last role fix. wtf mistral...jbs le over? 2023-12-16 09:08:05 +10:00
based e8ca2e8c22 Merge branch 'staging' of https://github.com/Cohee1207/SillyTavern into mistral 2023-12-16 08:48:37 +10:00
based 5dd2e8cd88 added mistral vector support (off the back of oai's) 2023-12-16 08:37:39 +10:00
based c517483141 added mistral chat completion 2023-12-16 08:27:40 +10:00
DonMoralez 6b59014892 (Fix) "squash sys. messages" processed empty messages, adding \n 2023-12-16 00:24:48 +02:00
DonMoralez 1f36a3eaae Merge remote-tracking branch 'upstream/staging' into staging 2023-12-16 00:15:16 +02:00
based 583f786d74 finish mistral frontend integration + apikey status check 2023-12-16 07:15:57 +10:00
Cohee 7dfa989e4c Bail early from key iteration 2023-12-15 22:13:02 +02:00
Cohee 9d1b563d48 Add cache for parsed characters 2023-12-15 22:11:48 +02:00
Cohee 63484ef40b #1542 Skip system messages in TXT export 2023-12-15 21:41:16 +02:00
DonMoralez d061c830c2 Update prompt-converters.js 2023-12-15 20:58:03 +02:00
DonMoralez 04f3aa8b66 Update prompt-converters.js 2023-12-15 20:15:48 +02:00
DonMoralez d6e5ceaf93 Merge remote-tracking branch 'upstream/staging' into staging 2023-12-15 20:15:29 +02:00
Cohee dd7ac914a6 Rename basic auth middleware 2023-12-15 18:43:00 +02:00
Cohee fad718baa1
Merge pull request #1537 from valadaptive/separate-whitelist-middleware
Move whitelist middleware to its own module
2023-12-15 18:38:37 +02:00
DonMoralez 10fb83ee53 Merge remote-tracking branch 'upstream/staging' into staging 2023-12-15 13:12:15 +02:00
DonMoralez d71b5430ad Update prompt-converters.js 2023-12-15 13:10:53 +02:00
valadaptive 0ee19d2ede Set background client-side 2023-12-15 05:45:21 -05:00
valadaptive 1ed9267174 Move whitelist middleware to its own module 2023-12-14 17:36:41 -05:00
valadaptive d935b2a132 Move settings endpoints to their own module 2023-12-14 16:56:45 -05:00
Cohee f93e40b1d3
Merge pull request #1533 from kingbased/gemini
Better Google Makersuite/AI adapter + Gemini Pro & Vision Support & tokenizers
2023-12-14 22:42:30 +02:00
Cohee cde9903fcb Fix Bison models 2023-12-14 22:18:34 +02:00
DonMoralez 2ebc168505 Update prompt-converters.js 2023-12-14 21:36:13 +02:00
Cohee eec28469f8 Fix server crash if multimodal prompt contains no image 2023-12-14 21:21:37 +02:00
DonMoralez 2858e095a8 Update chat-completions.js 2023-12-14 21:07:52 +02:00
DonMoralez 84a94b37e1 Revert "Update chat-completions.js"
This reverts commit 54dd3799e8.
2023-12-14 20:55:20 +02:00
DonMoralez 54dd3799e8 Update chat-completions.js 2023-12-14 20:42:08 +02:00
Cohee bb8b8f9386 Fix sending PNG/WEBP to Google captioning 2023-12-14 20:36:31 +02:00
DonMoralez 6f16ccf01f Merge branch 'staging' of https://github.com/DonMoralez/SillyTavern into staging 2023-12-14 20:17:41 +02:00
Cohee d1be9d5347 Fix JSDoc + lint + readability 2023-12-14 20:05:27 +02:00
Cohee 47c71a62f3 Don't rewrite settings if just moving the key 2023-12-14 19:58:27 +02:00
Cohee d4f96020f2 Migrate Palm secret key, fix vector source key access 2023-12-14 19:33:23 +02:00
Cohee 68bb616be3 Merge branch 'staging' into cleanup-sampler-order 2023-12-14 18:32:30 +02:00
based 5071b9a369 webstorm moment 2023-12-15 02:01:42 +10:00
based 60880cfd4d merge 2023-12-15 01:39:12 +10:00
based 698850b514 Merge remote-tracking branch 'fork/staging' into gemini
# Conflicts:
#	server.js
#	src/endpoints/prompt-converters.js
#	src/endpoints/tokenizers.js
2023-12-15 01:35:17 +10:00
based d5bcd96eef message inlining vision support 2023-12-15 01:28:54 +10:00
Cohee 38a34bf1d5 Fix silly argument naming 2023-12-14 17:14:05 +02:00
Cohee 00687a9379 Merge branch 'staging' into separate-altscale-endpoints 2023-12-14 17:12:19 +02:00
Cohee 40e15f5762 Fix conditional access to Palm response body 2023-12-14 16:18:10 +02:00
Cohee 2a5340232d Move prompt converters to a separate module. Camelcase local variables and add missing JSDocs. 2023-12-14 16:00:17 +02:00
Cohee 348253fd98 Fix import path 2023-12-14 15:36:44 +02:00
based 178b07f414 cleaned up a little 2023-12-14 23:18:56 +10:00
based 0b7c1a98cd added google vision caption support 2023-12-14 22:37:53 +10:00
valadaptive 0f25d51a53 Send Kobold sampler order as an array 2023-12-14 02:03:36 -05:00
based 3e82a7d439 tokenizer changes and fixes. + a toggle 2023-12-14 16:31:08 +10:00
based e26159c00d refactor and rework palm request to work with the 'content' format and added an endpoint for googles tokenizer 2023-12-14 15:49:50 +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
valadaptive b55ea8df04 Move alt Scale generation to its own module 2023-12-13 18:54:12 -05:00
valadaptive dba66e756a Move chat completions API endpoints to module 2023-12-13 18:53:22 -05:00
Cohee 796659f68c Add proper fetch import 2023-12-14 01:39:34 +02:00
Cohee 0cd92f13b4 Merge branch 'staging' into separate-kobold-endpoints 2023-12-14 01:33:36 +02:00
Cohee cebd6e9e0f Add API token ids from KoboldCpp 2023-12-14 01:28:18 +02:00
DonMoralez fec27820ff (claude)reworked prefix assignment, sysprompt mode, console message display 2023-12-13 21:19:26 +02:00
Cohee 0d0dd5e170 Revert old comment 2023-12-13 02:50:50 +02:00
Cohee 52de5869fe Rename file, add missing fetch 2023-12-13 02:22:35 +02:00
valadaptive 2c159ff93f Move Kobold API endpoints to their own module 2023-12-12 16:42:12 -05:00
valadaptive 35c2f8bf66 Move text completions API endpoints to own module 2023-12-12 16:41:16 -05:00
Cohee 2ca9015a5f Add filters to serpapi/visit 2023-12-12 03:56:36 +02:00
Cohee 299749a4e7 Add prerequisites for websearch extension 2023-12-12 01:08:47 +02: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 b107ace719 Avoid sending 401 in forwarded responses.
Status code 401 resets the client Basic auth, so we replace it with 400. This can produce an interesting artifact as "400 Unauthorized", but it's not out of spec.

"The reason phrases listed here are only recommendations -- they can be replaced by local equivalents or left out altogether without affecting the protocol."

https://www.rfc-editor.org/rfc/rfc9110.html#name-overview-of-status-codes
2023-12-10 18:00:04 +02:00
valadaptive 30502ac949 Split up Kobold and textgenerationwebui endpoints
The endpoint was one big if/else statement that did two entirely
different things depending on the value of main_api. It makes more sense
for those to be two separate endpoints.
2023-12-09 20:26:24 -05:00
valadaptive 04e92efe29 Move API tokenization endpoint into /tokenizers
Requires extracting some more functions out of server.js.
2023-12-09 19:35:49 -05:00
Cohee 44ac2ca4e6 Avoid returning 401 as API response code 2023-12-09 15:11:35 +02:00
valadaptive 055d6c4337 Properly forward status codes from streams 2023-12-07 18:06:17 -05:00
valadaptive c0a7472fe9 Move background file instead of copying+deleting 2023-12-07 15:28:04 -05:00
valadaptive e7dce9b107 Remove response_dw_bg 2023-12-07 15:24:05 -05:00
valadaptive 32c86c1e95 Move backgrounds endpoints into separate file 2023-12-07 15:24:05 -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 bf2b59279b Move worldinfo endpoints into separate file 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 e870c35613 Move chat endpoints into separate file 2023-12-06 19:59:32 -05:00
valadaptive 9c850b0b0c Fix double file extension on uploaded images 2023-12-06 17:29:10 -05:00
valadaptive 66da13b1bb Use withFileTypes instead of stat'ing each file 2023-12-06 17:22:37 -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 795ca2247b Return filename validation messages 2023-12-06 17:22:37 -05:00
valadaptive 41d427f4a8 Move sanitize call inside validation function
Also rename it (again) to validateAssetFileName.
2023-12-06 16:46:52 -05:00
Cohee 100dae5fd0
Merge pull request #1444 from valadaptive/characters-endpoint
Move character endpoints into their own module
2023-12-06 23:45:14 +02:00
Cohee d0a35deeec Fix OpenAI presets extension 2023-12-06 21:46:08 +02:00
Cohee 60909cef1f Fix server crash on import. Fix possible undefined warning 2023-12-06 01:02:48 +02:00
valadaptive 4faa20bb1f Remove "upload" endpoint from assets API
I accidentally reintroduced this when splitting up the commits, I think
2023-12-05 15:02:30 -05:00
valadaptive c00df4f45b Clean up file name sanitization
- Checking for null bytes is unnecessary because the check for illegal
characters directly below it will catch them.
- We can use the path.extname method to get the file extension more
cleanly. It returns the *last* extension (e.g.
path.extname('file.foo.js') === '.js'), so behavior is preserved.
- Normalizing the path is unnecessary. We don't allow any path
separators in the file name, so it does nothing.
- Stripping '..', path separators, and '$' is unnecessary because of the
earlier illegal character check.
2023-12-05 09:25:45 -05:00
valadaptive a457484c2d Move character endpoints into their 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 aff821aa07 Fix discovery endpoint route 2023-12-04 21:54:03 +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 893ca25199 lint: format 2023-12-04 19:12:41 +02:00
Cohee 95ef108e84 Merge branch 'staging' into express-common 2023-12-04 19:09:20 +02:00
Cohee fcbfdc70af Merge branch 'staging' into sd-next-upscalers 2023-12-04 19:07:34 +02:00
Cohee 8476ec7570 Merge branch 'staging' into tokenizer-renames 2023-12-04 19:01:38 +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 9d4990d25d Rename sd-next/upscalers to sd/next/upscalers 2023-12-04 10:22:47 -05:00
valadaptive 57bc95133e Rename tokenizer routes
They're all under tokenizers/ now, and there are "count", "encode", and
"decode" endpoints. This forms a clearer hierarchy.
2023-12-04 10:17:43 -05:00
valadaptive c073a89e2c Move endpoints into their own folder 2023-12-04 10:17:43 -05:00