2465 Commits

Author SHA1 Message Date
valadaptive
7486ab3886 Separate textgen and Kobold tokenization APIs
They function differently and have different logic and API parameters,
so it makes sense to count them as two different APIs. Kobold's API
doesn't return tokens, so it can only be used to count them.

There's still a lot of duplicate code which I will clean up in the
following commits.
2023-12-09 20:24:56 -05:00
valadaptive
18177c147d Separate remote and server tokenization code paths
This lets us remove extraneous API params from paths where they aren't
needed.
2023-12-09 20:08:48 -05:00
valadaptive
ddd73a204a Remove "remote" language from tokenizer functions
We'll be making a distinction between tokenizing *on* the server itself,
and tokenizing via the server having the AI service do it. It makes more
sense to use the term "remote" for the latter.
2023-12-09 19:49:22 -05:00
valadaptive
8bad059a62 Rename /tokenize_via_api endpoint
No redirect for this since I don't expect any extensions to be calling this directly.
2023-12-09 19:29:24 -05:00
valadaptive
a23be7d785 Clean up CSS for API "connect" buttons
Instead of identifying each connect button by ID, we can just use the
.api_button class. The .menu_button class *would* override it due to CSS
cascade rules (specifically, declarations later in the stylesheet apply
over ones that appear earlier), but the `.menu_button.api_button`
selector has a higher *specificity* and hence works.
2023-12-09 18:52:14 -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
LenAnderson
a3ec8d709d add support for tab and shift-tab in QR editor 2023-12-09 17:56:36 +00:00
Cohee
2d7811fa46
Merge pull request #1499 from LenAnderson/qr-execute-from-any-preset
Allow /run for quick replies from any preset
2023-12-09 19:49:03 +02:00
LenAnderson
d00861d913 allow /run for quick replies from other presets
/run otherPresetName.quickReplyLabel
2023-12-09 17:20:15 +00:00
Cohee
e79f6d82da
Merge pull request #1498 from artisticMink/bulkedit-delete-optimization
Only refresh character list after all deletions have been processed.
2023-12-09 18:07:44 +02:00
Cohee
b915b89ca9 Fix ESLint 2023-12-09 16:09:10 +02:00
Cohee
04c83eae71 Use null coalescing operator 2023-12-09 16:07:55 +02:00
Cohee
ad9130b538 Single doc mode: edit on click 2023-12-09 16:01:43 +02:00
artisticMink
dfd41a110a Prevent 'no such file or directory' error when mass deleting characters 2023-12-09 14:36:37 +01:00
artisticMink
4692450975 Enable getPastCharacterChats to work with specific character ids 2023-12-09 14:36:15 +01:00
artisticMink
ba3966e148 Only refresh character list after all deletions have been processed. 2023-12-09 14:31:18 +01:00
valadaptive
3cfc32c16d Refactor error handling
Remove the StreamingProcessor.hook method and use a try-catch block to
await the generator promise and set the generator, handling errors with
onError if it fails.
2023-12-08 18:40:17 -05:00
valadaptive
d735b12399 Refactor event stream parsing
I was really overcomplicating this before; this is simpler and faster.
Passes my existing test suite.
2023-12-08 15:05:57 -05:00
valadaptive
699c369443 Remove ignoreBOM
Apparently the ignoreBOM option actually means "include the BOM". I've
added a test for this in my own repository, and will also be submitting
a pull request to MDN to clarify this in their documentation.
2023-12-07 23:15:55 -05:00
Cohee
b0e7b73a32 Fix streaming processor error handler hooks 2023-12-08 02:01:08 +02:00
valadaptive
5569a63595 Remove legacy_streaming setting
This was a workaround for older versions of Slaude that implemented SSE
improperly. This was fixed in Slaude 7 months ago, so the workaround can
be removed.
2023-12-07 18:00:36 -05:00
valadaptive
cdcd913805 Don't stream events if the API returned a 4xx code 2023-12-07 18:00:36 -05:00
valadaptive
5540c165cf Refactor server-sent events parsing
Create one server-sent events stream class which implements the entire
spec (different line endings, chunking, etc) and use it in all the
streaming generators.
2023-12-07 18:00:36 -05:00
Cohee
6f610204d6
Merge pull request #1488 from LenAnderson/add-index-argument-to-setvar-/-setglobalvar
Add index argument to setvar / setglobalvar
2023-12-08 00:40:14 +02:00
Cohee
2607e787ff Put comment command on hold 2023-12-08 00:38:13 +02:00
Cohee
e2f886d796 Revert pipe caching 2023-12-08 00:33:27 +02:00
Cohee
7f7ad6f523 Merge branch 'staging' into backgrounds-endpoint 2023-12-07 23:16:33 +02:00
Cohee
404b1562e5
Merge pull request #1491 from valadaptive/stats-endpoint
Move stats endpoints into their own module
2023-12-07 23:11:12 +02:00
valadaptive
2367f4f38f Rename backgrounds API endpoints 2023-12-07 15:17:19 -05:00
LenAnderson
65f2cc1952 add a comment slash commend /#
for commenting longer ST scripts
2023-12-07 18:29:28 +00:00
LenAnderson
d52b5fb947 pass prev pipeResult through if result undefined 2023-12-07 18:28:58 +00:00
LenAnderson
5a719d635a use isArray instead of instanceof 2023-12-07 18:27:11 +00:00
LenAnderson
7bfed3fca1 /addvar on array to push 2023-12-07 18:12:05 +00:00
Cohee
c84b6a5101 Add WI inclusion groups 2023-12-07 20:06:06 +02:00
valadaptive
26ebb417f4 Rename stats API endpoints 2023-12-07 13:00:34 -05:00
Cohee
e804f27368 Convert value to string for echo. Fix return value 2023-12-07 19:37:55 +02:00
LenAnderson
2ee57afe2a add helpString for index in setvar 2023-12-07 16:51:45 +00:00
LenAnderson
db6f782e0f add index to /setvar and /setglobalvar 2023-12-07 16:48:24 +00:00
Cohee
b1f68d886c Fix WI field access for UID = 0 2023-12-07 18:45:34 +02:00
Cohee
72adb4c8aa Fix window.ai streaming 2023-12-07 17:42:06 +02:00
Cohee
990f958f4f #1484 Consolidate chat name template 2023-12-07 16:59:53 +02:00
Cohee
2417ae9d87 #1484 Display version on close chat 2023-12-07 16:57:47 +02:00
Cohee
785be22e51 Merge branch 'staging' into st-object-vars 2023-12-07 16:46:02 +02:00
Cohee
e9a49b7997
Merge pull request #1485 from LenAnderson/qr-expand-editor
Add expand button to QR textareas
2023-12-07 15:31:01 +02:00
Cohee
b506a17260 Fix expand after drag 2023-12-07 15:29:40 +02:00
LenAnderson
afd32d1f4d better handling of array / object vars 2023-12-07 12:56:28 +00:00
LenAnderson
0290916035 stop expanding textarea 2023-12-07 12:29:00 +00:00
LenAnderson
a1bfca78b3 add custom titles (tooltips) to QR buttons 2023-12-07 12:20:02 +00:00
LenAnderson
d62ef8badc add expand button for QR textareas 2023-12-07 12:04:39 +00:00