From 58f1cb4fccfeb79ab46b26e2c652ec243ea433dd Mon Sep 17 00:00:00 2001 From: kwaroran Date: Thu, 27 Mar 2025 19:19:59 +0900 Subject: [PATCH] Add tokenize trigger --- src/lib/SideBars/Scripts/TriggerList2.svelte | 19 +++++++++++++++++++ src/ts/process/triggers.ts | 15 ++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/lib/SideBars/Scripts/TriggerList2.svelte b/src/lib/SideBars/Scripts/TriggerList2.svelte index dbb1929e..df1b3665 100644 --- a/src/lib/SideBars/Scripts/TriggerList2.svelte +++ b/src/lib/SideBars/Scripts/TriggerList2.svelte @@ -101,6 +101,7 @@ 'v2UpdateGUI', 'v2Wait', "v2StopPromptSending", + 'v2Tokenize' ] @@ -556,6 +557,15 @@ indent: 0 } break; + case 'v2Tokenize':{ + editTrigger = { + type: 'v2Tokenize', + value: '', + valueType: 'value', + indent: 0, + outputVar: "" + } + } case 'v2PushArrayVar': editTrigger = { type: 'v2PushArrayVar', @@ -1910,7 +1920,16 @@ {language.outputVar} + {:else if editTrigger.type === 'v2Tokenize'} + {language.value} + + {language.value} + {language.var} + + + {language.outputVar} + {:else} {language.noConfig} {/if} diff --git a/src/ts/process/triggers.ts b/src/ts/process/triggers.ts index 75a91d51..e0e345cc 100644 --- a/src/ts/process/triggers.ts +++ b/src/ts/process/triggers.ts @@ -39,7 +39,7 @@ export type triggerEffectV2 = triggerV2Header|triggerV2IfVar|triggerV2Else|tri triggerV2SliceArrayVar|triggerV2GetIndexOfValueInArrayVar|triggerV2RemoveIndexFromArrayVar|triggerV2ConcatString|triggerV2GetLastUserMessage| triggerV2GetLastCharMessage|triggerV2GetAlertInput|triggerV2GetDisplayState|triggerV2SetDisplayState|triggerV2UpdateGUI|triggerV2Wait| triggerV2GetRequestState|triggerV2SetRequestState|triggerV2GetRequestStateRole|triggerV2SetRequestStateRole|triggerV2GetReuqestStateLength|triggerV2IfAdvanced| - triggerV2QuickSearchChat|triggerV2StopPromptSending + triggerV2QuickSearchChat|triggerV2StopPromptSending|triggerV2Tokenize export type triggerConditionsVar = { type:'var'|'value' @@ -705,6 +705,14 @@ export type triggerV2StopPromptSending = { indent: number } +export type triggerV2Tokenize = { + type: 'v2Tokenize', + indent: number, + value: string + valueType: "var"|"value" + outputVar:string +} + const safeSubset = [ 'v2SetVar', 'v2If', @@ -1920,6 +1928,11 @@ export async function runTrigger(char:character,mode:triggerMode, arg:{ setVar(effect.outputVar, pass ? '1' : '0') break } + case 'v2Tokenize':{ + const value = effect.valueType === 'value' ? risuChatParser(effect.value,{chara:char}) : getVar(risuChatParser(effect.value,{chara:char})) + setVar(effect.outputVar, (await tokenize(value)).toString()) + break + } } } }