fix structuredclone

This commit is contained in:
kwaroran
2024-10-25 18:11:00 +09:00
parent b3fddb814e
commit 0f6246bef6
28 changed files with 114 additions and 104 deletions

View File

@@ -319,16 +319,16 @@ export function setDatabase(data:Database){
largePortrait: false
}]
data.classicMaxWidth ??= false
data.ooba ??= structuredClone(defaultOoba)
data.ainconfig ??= structuredClone(defaultAIN)
data.ooba ??= safeStructuredClone(defaultOoba)
data.ainconfig ??= safeStructuredClone(defaultAIN)
data.openrouterKey ??= ''
data.openrouterRequestModel ??= 'openai/gpt-3.5-turbo'
data.toggleConfirmRecommendedPreset ??= true
data.officialplugins ??= {}
data.NAIsettings ??= structuredClone(prebuiltNAIpresets)
data.NAIsettings ??= safeStructuredClone(prebuiltNAIpresets)
data.assetWidth ??= -1
data.animationSpeed ??= 0.4
data.colorScheme ??= structuredClone(defaultColorScheme)
data.colorScheme ??= safeStructuredClone(defaultColorScheme)
data.colorSchemeName ??= 'default'
data.NAIsettings.starter ??= ""
data.hypaModel ??= 'MiniLM'
@@ -1304,8 +1304,8 @@ export const presetTemplate:botPreset = {
promptPreprocess: false,
proxyKey: '',
bias: [],
ooba: structuredClone(defaultOoba),
ainconfig: structuredClone(defaultAIN),
ooba: safeStructuredClone(defaultOoba),
ainconfig: safeStructuredClone(defaultAIN),
reverseProxyOobaArgs: {
mode: 'instruct'
},
@@ -1324,7 +1324,7 @@ const defaultSdData:[string,string][] = [
]
export const defaultSdDataFunc = () =>{
return structuredClone(defaultSdData)
return safeStructuredClone(defaultSdData)
}
export function saveCurrentPreset(){
@@ -1354,20 +1354,20 @@ export function saveCurrentPreset(){
bias: db.bias,
koboldURL: db.koboldURL,
proxyKey: db.proxyKey,
ooba: structuredClone(db.ooba),
ainconfig: structuredClone(db.ainconfig),
ooba: safeStructuredClone(db.ooba),
ainconfig: safeStructuredClone(db.ainconfig),
proxyRequestModel: db.proxyRequestModel,
openrouterRequestModel: db.openrouterRequestModel,
NAISettings: structuredClone(db.NAIsettings),
NAISettings: safeStructuredClone(db.NAIsettings),
promptTemplate: db.promptTemplate ?? null,
NAIadventure: db.NAIadventure ?? false,
NAIappendName: db.NAIappendName ?? false,
localStopStrings: db.localStopStrings,
autoSuggestPrompt: db.autoSuggestPrompt,
customProxyRequestModel: db.customProxyRequestModel,
reverseProxyOobaArgs: structuredClone(db.reverseProxyOobaArgs) ?? null,
reverseProxyOobaArgs: safeStructuredClone(db.reverseProxyOobaArgs) ?? null,
top_p: db.top_p ?? 1,
promptSettings: structuredClone(db.promptSettings) ?? null,
promptSettings: safeStructuredClone(db.promptSettings) ?? null,
repetition_penalty: db.repetition_penalty,
min_p: db.min_p,
top_a: db.top_a,
@@ -1394,7 +1394,7 @@ export function copyPreset(id:number){
saveCurrentPreset()
let db = getDatabase()
let pres = db.botPresets
const newPres = structuredClone(pres[id])
const newPres = safeStructuredClone(pres[id])
newPres.name += " Copy"
db.botPresets.push(newPres)
setDatabase(db)
@@ -1434,8 +1434,8 @@ export function setPreset(db:Database, newPres: botPreset){
db.bias = newPres.bias ?? db.bias
db.koboldURL = newPres.koboldURL ?? db.koboldURL
db.proxyKey = newPres.proxyKey ?? db.proxyKey
db.ooba = structuredClone(newPres.ooba ?? db.ooba)
db.ainconfig = structuredClone(newPres.ainconfig ?? db.ainconfig)
db.ooba = safeStructuredClone(newPres.ooba ?? db.ooba)
db.ainconfig = safeStructuredClone(newPres.ainconfig ?? db.ainconfig)
db.openrouterRequestModel = newPres.openrouterRequestModel ?? db.openrouterRequestModel
db.proxyRequestModel = newPres.proxyRequestModel ?? db.proxyRequestModel
db.NAIsettings = newPres.NAISettings ?? db.NAIsettings
@@ -1450,12 +1450,12 @@ export function setPreset(db:Database, newPres: botPreset){
db.NAIsettings.mirostat_lr ??= 1
db.localStopStrings = newPres.localStopStrings
db.customProxyRequestModel = newPres.customProxyRequestModel ?? ''
db.reverseProxyOobaArgs = structuredClone(newPres.reverseProxyOobaArgs) ?? {
db.reverseProxyOobaArgs = safeStructuredClone(newPres.reverseProxyOobaArgs) ?? {
mode: 'instruct'
}
db.top_p = newPres.top_p ?? 1
//@ts-ignore //for legacy mistpings
db.promptSettings = structuredClone(newPres.promptSettings) ?? {
db.promptSettings = safeStructuredClone(newPres.promptSettings) ?? {
assistantPrefill: '',
postEndInnerFormat: '',
sendChatAsSystem: false,
@@ -1493,7 +1493,7 @@ import { selectedCharID } from '../stores';
export async function downloadPreset(id:number, type:'json'|'risupreset'|'return' = 'json'){
saveCurrentPreset()
let db = getDatabase()
let pres = structuredClone(db.botPresets[id])
let pres = safeStructuredClone(db.botPresets[id])
console.log(pres)
pres.openAIKey = ''
pres.forceReplaceUrl = ''
@@ -1566,7 +1566,7 @@ export async function importPreset(f:{
let db = getDatabase()
if(pre.presetVersion && pre.presetVersion >= 3){
//NAI preset
const pr = structuredClone(prebuiltPresets.NAI2)
const pr = safeStructuredClone(prebuiltPresets.NAI2)
pr.temperature = pre.parameters.temperature * 100
pr.maxResponse = pre.parameters.max_length
pr.NAISettings.topK = pre.parameters.top_k
@@ -1591,7 +1591,7 @@ export async function importPreset(f:{
if(Array.isArray(pre?.prompt_order?.[0]?.order) && Array.isArray(pre?.prompts)){
//ST preset
const pr = structuredClone(presetTemplate)
const pr = safeStructuredClone(presetTemplate)
pr.promptTemplate = []
function findPrompt(identifier:number){