feat: Add custom toggles
This commit is contained in:
@@ -783,6 +783,9 @@ const matcher = (p1:string,matcherArg:matcherArg) => {
|
||||
}
|
||||
return null
|
||||
}
|
||||
case 'getglobalvar':{
|
||||
return getGlobalChatVar(v)
|
||||
}
|
||||
case 'button':{
|
||||
return `<button class="button-default" risu-trigger="${arra[2]}">${arra[1]}</button>`
|
||||
}
|
||||
@@ -1461,6 +1464,11 @@ export function getChatVar(key:string){
|
||||
return (chat.scriptstate['$' + key])?.toString() ?? 'null'
|
||||
}
|
||||
|
||||
export function getGlobalChatVar(key:string){
|
||||
const db = get(DataBase)
|
||||
return db.globalChatVariables[key] ?? 'null'
|
||||
}
|
||||
|
||||
export function setChatVar(key:string, value:string){
|
||||
const db = get(DataBase)
|
||||
const selectedChar = get(selectedCharID)
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
import { get } from "svelte/store";
|
||||
import { tokenizeAccurate } from "../tokenizer";
|
||||
import type { Database } from "../storage/database";
|
||||
|
||||
export type PromptItem = PromptItemPlain|PromptItemTyped|PromptItemChat|PromptItemAuthorNote;
|
||||
export type PromptType = PromptItem['type'];
|
||||
@@ -61,4 +63,21 @@ export async function tokenizePreset(prompts:PromptItem[], consti:boolean = fals
|
||||
}
|
||||
}
|
||||
return total
|
||||
}
|
||||
|
||||
export function getCustomToggles(template:string){
|
||||
if(!template){
|
||||
return []
|
||||
}
|
||||
|
||||
const keyValue:[string, string][] = []
|
||||
|
||||
for(const line of template.split('\n')){
|
||||
const [key, value] = line.split('=')
|
||||
if(key && value){
|
||||
keyValue.push([key, value])
|
||||
}
|
||||
}
|
||||
|
||||
return keyValue
|
||||
}
|
||||
@@ -400,6 +400,8 @@ export function setDatabase(data:Database){
|
||||
data.sideBarSize ??= 0
|
||||
data.textAreaTextSize ??= 0
|
||||
data.combineTranslation ??= false
|
||||
data.customPromptTemplateToggle ??= ''
|
||||
data.globalChatVariables ??= {}
|
||||
|
||||
changeLanguage(data.language)
|
||||
DataBase.set(data)
|
||||
@@ -657,7 +659,8 @@ export interface Database{
|
||||
combineTranslation:boolean
|
||||
dynamicAssets:boolean
|
||||
dynamicAssetsEditDisplay:boolean
|
||||
|
||||
customPromptTemplateToggle:string
|
||||
globalChatVariables:{[key:string]:string}
|
||||
}
|
||||
|
||||
export interface customscript{
|
||||
@@ -878,6 +881,7 @@ export interface botPreset{
|
||||
top_a?:number
|
||||
openrouterProvider?:string
|
||||
useInstructPrompt?:boolean
|
||||
customPromptTemplateToggle?:string
|
||||
}
|
||||
|
||||
|
||||
@@ -1144,7 +1148,8 @@ export function saveCurrentPreset(){
|
||||
min_p: db.min_p,
|
||||
top_a: db.top_a,
|
||||
openrouterProvider: db.openrouterProvider,
|
||||
useInstructPrompt: db.useInstructPrompt
|
||||
useInstructPrompt: db.useInstructPrompt,
|
||||
customPromptTemplateToggle: db.customPromptTemplateToggle ?? ""
|
||||
}
|
||||
db.botPresets = pres
|
||||
setDatabase(db)
|
||||
@@ -1227,6 +1232,7 @@ export function setPreset(db:Database, newPres: botPreset){
|
||||
db.top_a = newPres.top_a
|
||||
db.openrouterProvider = newPres.openrouterProvider
|
||||
db.useInstructPrompt = newPres.useInstructPrompt ?? false
|
||||
db.customPromptTemplateToggle = newPres.customPromptTemplateToggle ?? ''
|
||||
return db
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user