Add off spec card import

This commit is contained in:
kwaroran
2024-08-05 17:22:04 +09:00
parent 797be8aa14
commit 3f85bd4ee7

View File

@@ -54,7 +54,7 @@ async function importCharacterProcess(f:{
} }
if((da.char_name || da.name) && (da.char_persona || da.description) && (da.char_greeting || da.first_mes)){ if((da.char_name || da.name) && (da.char_persona || da.description) && (da.char_greeting || da.first_mes)){
let db = get(DataBase) let db = get(DataBase)
db.characters.push(convertOldTavernAndJSON(da)) db.characters.push(convertOffSpecCards(da))
DataBase.set(db) DataBase.set(db)
alertNormal(language.importedCharacter) alertNormal(language.importedCharacter)
return return
@@ -227,7 +227,7 @@ async function importCharacterProcess(f:{
console.log(charaData) console.log(charaData)
const imgp = await saveAsset(await reencodeImage(img)) const imgp = await saveAsset(await reencodeImage(img))
let db = get(DataBase) let db = get(DataBase)
db.characters.push(convertOldTavernAndJSON(charaData, imgp)) db.characters.push(convertOffSpecCards(charaData, imgp))
DataBase.set(db) DataBase.set(db)
alertNormal(language.importedCharacter) alertNormal(language.importedCharacter)
return db.characters.length - 1 return db.characters.length - 1
@@ -323,13 +323,13 @@ export async function characterURLImport() {
} }
function convertOldTavernAndJSON(charaData:OldTavernChar, imgp:string|undefined = undefined):character{ function convertOffSpecCards(charaData:OldTavernChar|CharacterCardV2Risu, imgp:string|undefined = undefined):character{
const data = charaData.spec_version === '2.0' ? charaData.data : charaData
console.log("Off spec detected, converting")
return { return {
name: charaData.name ?? 'unknown name', name: data.name ?? 'unknown name',
firstMessage: charaData.first_mes ?? 'unknown first message', firstMessage: data.first_mes ?? 'unknown first message',
desc: charaData.description ?? '', desc: data.description ?? '',
notes: '', notes: '',
chats: [{ chats: [{
message: [], message: [],
@@ -347,16 +347,16 @@ function convertOldTavernAndJSON(charaData:OldTavernChar, imgp:string|undefined
sdData: defaultSdDataFunc(), sdData: defaultSdDataFunc(),
utilityBot: false, utilityBot: false,
customscript: [], customscript: [],
exampleMessage: charaData.mes_example, exampleMessage: data.mes_example,
creatorNotes:'', creatorNotes:'',
systemPrompt:'', systemPrompt: (charaData.spec_version === '2.0' ? charaData.data.system_prompt : '') ?? '',
postHistoryInstructions:'', postHistoryInstructions: (charaData.spec_version === '2.0' ? charaData.data.post_history_instructions : '') ?? '',
alternateGreetings:[], alternateGreetings:[],
tags:[], tags:[],
creator:"", creator:"",
characterVersion: '', characterVersion: '',
personality: charaData.personality ?? '', personality: data.personality ?? '',
scenario:charaData.scenario ?? '', scenario:data.scenario ?? '',
firstMsgIndex: -1, firstMsgIndex: -1,
replaceGlobalNote: "", replaceGlobalNote: "",
triggerscript: [], triggerscript: [],
@@ -1435,6 +1435,7 @@ interface OldTavernChar{
personality: string personality: string
scenario: string scenario: string
talkativeness: "0.5" talkativeness: "0.5"
spec_version?: '1.0'
} }
type CharacterBook = { type CharacterBook = {
name?: string name?: string