Migrate all DataBase to DBState
This commit is contained in:
@@ -2,7 +2,7 @@ import { get } from 'svelte/store'
|
||||
import type { ScriptMode } from '../process/scripts'
|
||||
//@ts-ignore
|
||||
import WorkerUrl from './embedworker?worker&url'
|
||||
import { DataBase, type Message } from '../storage/database.svelte'
|
||||
import { getDatabase, type Message } from '../storage/database.svelte'
|
||||
import { selectedCharID } from '../stores'
|
||||
import { setDatabase } from '../storage/database.svelte'
|
||||
|
||||
@@ -77,14 +77,16 @@ function runVirtualJS(code:string){
|
||||
}
|
||||
|
||||
addWorkerFunction('getChat', async () => {
|
||||
const db = get(DataBase)
|
||||
const db = getDatabase({
|
||||
snapshot: true
|
||||
})
|
||||
const selectedChar = get(selectedCharID)
|
||||
const char = db.characters[selectedChar]
|
||||
return structuredClone(char.chats[char.chatPage].message)
|
||||
})
|
||||
|
||||
addWorkerFunction('setChat', async (data:Message[]) => {
|
||||
const db = get(DataBase)
|
||||
const db = getDatabase()
|
||||
const selectedChar = get(selectedCharID)
|
||||
let newChat:Message[] = []
|
||||
for(const dat of data){
|
||||
@@ -117,14 +119,14 @@ addWorkerFunction('setChat', async (data:Message[]) => {
|
||||
})
|
||||
|
||||
addWorkerFunction('getName', async () => {
|
||||
const db = get(DataBase)
|
||||
const db = getDatabase()
|
||||
const selectedChar = get(selectedCharID)
|
||||
const char = db.characters[selectedChar]
|
||||
return char.name
|
||||
})
|
||||
|
||||
addWorkerFunction('setName', async (data:string) => {
|
||||
const db = get(DataBase)
|
||||
const db = getDatabase()
|
||||
const selectedChar = get(selectedCharID)
|
||||
if(typeof data !== 'string'){
|
||||
return false
|
||||
@@ -135,7 +137,7 @@ addWorkerFunction('setName', async (data:string) => {
|
||||
})
|
||||
|
||||
addWorkerFunction('getDescription', async () => {
|
||||
const db = get(DataBase)
|
||||
const db = getDatabase()
|
||||
const selectedChar = get(selectedCharID)
|
||||
const char = db.characters[selectedChar]
|
||||
if(char.type === 'group'){
|
||||
@@ -145,7 +147,7 @@ addWorkerFunction('getDescription', async () => {
|
||||
})
|
||||
|
||||
addWorkerFunction('setDescription', async (data:string) => {
|
||||
const db = get(DataBase)
|
||||
const db = getDatabase()
|
||||
const selectedChar = get(selectedCharID)
|
||||
const char =db.characters[selectedChar]
|
||||
if(typeof data !== 'string'){
|
||||
@@ -161,14 +163,14 @@ addWorkerFunction('setDescription', async (data:string) => {
|
||||
})
|
||||
|
||||
addWorkerFunction('getCharacterFirstMessage', async () => {
|
||||
const db = get(DataBase)
|
||||
const db = getDatabase()
|
||||
const selectedChar = get(selectedCharID)
|
||||
const char = db.characters[selectedChar]
|
||||
return char.firstMessage
|
||||
})
|
||||
|
||||
addWorkerFunction('setCharacterFirstMessage', async (data:string) => {
|
||||
const db = get(DataBase)
|
||||
const db = getDatabase()
|
||||
const selectedChar = get(selectedCharID)
|
||||
const char = db.characters[selectedChar]
|
||||
if(typeof data !== 'string'){
|
||||
@@ -181,14 +183,14 @@ addWorkerFunction('setCharacterFirstMessage', async (data:string) => {
|
||||
})
|
||||
|
||||
addWorkerFunction('getBackgroundEmbedding', async () => {
|
||||
const db = get(DataBase)
|
||||
const db = getDatabase()
|
||||
const selectedChar = get(selectedCharID)
|
||||
const char = db.characters[selectedChar]
|
||||
return char.backgroundHTML
|
||||
})
|
||||
|
||||
addWorkerFunction('setBackgroundEmbedding', async (data:string) => {
|
||||
const db = get(DataBase)
|
||||
const db = getDatabase()
|
||||
const selectedChar = get(selectedCharID)
|
||||
if(typeof data !== 'string'){
|
||||
return false
|
||||
@@ -200,7 +202,7 @@ addWorkerFunction('setBackgroundEmbedding', async (data:string) => {
|
||||
|
||||
|
||||
addWorkerFunction('getState', async (statename) => {
|
||||
const db = get(DataBase)
|
||||
const db = getDatabase()
|
||||
const selectedChar = get(selectedCharID)
|
||||
const char = db.characters[selectedChar]
|
||||
const chat = char.chats[char.chatPage]
|
||||
@@ -208,7 +210,7 @@ addWorkerFunction('getState', async (statename) => {
|
||||
})
|
||||
|
||||
addWorkerFunction('setState', async (statename, data) => {
|
||||
const db = get(DataBase)
|
||||
const db = getDatabase()
|
||||
const selectedChar = get(selectedCharID)
|
||||
const char = db.characters[selectedChar]
|
||||
const chat = char.chats[char.chatPage]
|
||||
@@ -245,7 +247,7 @@ export async function runCharacterJS(arg:{
|
||||
}):Promise<any>{
|
||||
try {
|
||||
if(arg.code === null){
|
||||
const db = get(DataBase)
|
||||
const db = getDatabase()
|
||||
const selectedChar = get(selectedCharID)
|
||||
arg.code = db.characters[selectedChar].virtualscript
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { get, writable } from "svelte/store";
|
||||
import { language } from "../../lang";
|
||||
import { alertError } from "../alert";
|
||||
import { DataBase } from "../storage/database.svelte";
|
||||
import { getDatabase, setDatabaseLite } from "../storage/database.svelte";
|
||||
import { checkNullish, selectSingleFile, sleep } from "../util";
|
||||
import type { OpenAIChat } from "../process";
|
||||
import { globalFetch } from "../storage/globalApi";
|
||||
@@ -29,7 +29,7 @@ export type RisuPlugin = ProviderPlugin
|
||||
|
||||
export async function importPlugin(){
|
||||
try {
|
||||
let db = get(DataBase)
|
||||
let db = getDatabase()
|
||||
const f = await selectSingleFile(['js'])
|
||||
if(!f){
|
||||
return
|
||||
@@ -96,7 +96,7 @@ export async function importPlugin(){
|
||||
db.plugins ??= []
|
||||
db.plugins.push(pluginData)
|
||||
|
||||
DataBase.set(db)
|
||||
setDatabaseLite(db)
|
||||
loadPlugins()
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
@@ -123,7 +123,7 @@ function postMsgPluginWorker(type:string, body:any){
|
||||
let pluginTranslator = false
|
||||
|
||||
export async function loadPlugins() {
|
||||
let db = get(DataBase)
|
||||
let db = getDatabase()
|
||||
if(pluginWorker){
|
||||
pluginWorker.terminate()
|
||||
pluginWorker = null
|
||||
@@ -219,7 +219,7 @@ export async function loadPlugins() {
|
||||
}
|
||||
case "getArg":{
|
||||
try {
|
||||
const db = get(DataBase)
|
||||
const db = getDatabase()
|
||||
const arg:string[] = data.body.arg.split('::')
|
||||
for(const plug of db.plugins){
|
||||
if(arg[0] === plug.name){
|
||||
@@ -243,7 +243,7 @@ export async function loadPlugins() {
|
||||
break
|
||||
}
|
||||
case "getChar":{
|
||||
const db = get(DataBase)
|
||||
const db = getDatabase()
|
||||
const charid = get(selectedCharID)
|
||||
const char = db.characters[charid]
|
||||
postMsgPluginWorker('fetchData',{
|
||||
@@ -253,7 +253,7 @@ export async function loadPlugins() {
|
||||
break
|
||||
}
|
||||
case "setChar":{
|
||||
const db = get(DataBase)
|
||||
const db = getDatabase()
|
||||
const charid = get(selectedCharID)
|
||||
db.characters[charid] = data.body
|
||||
break
|
||||
@@ -303,7 +303,7 @@ export async function pluginProcess(arg:{
|
||||
bias: {[key:string]:string}
|
||||
}|{}){
|
||||
try {
|
||||
let db = get(DataBase)
|
||||
let db = getDatabase()
|
||||
if(!pluginWorker){
|
||||
return {
|
||||
success: false,
|
||||
|
||||
Reference in New Issue
Block a user