few bug fixes
This commit is contained in:
@@ -2,7 +2,6 @@ import {
|
||||
type ChatHistory as ChatHistoryType,
|
||||
type Message as MessageType
|
||||
} from "~/store/option"
|
||||
import { Storage, browser } from "wxt/browser"
|
||||
|
||||
type HistoryInfo = {
|
||||
id: string
|
||||
@@ -58,18 +57,15 @@ type ChatHistory = HistoryInfo[]
|
||||
type Prompts = Prompt[]
|
||||
|
||||
export class PageAssitDatabase {
|
||||
db: Storage.LocalStorageArea
|
||||
db: chrome.storage.StorageArea
|
||||
|
||||
constructor() {
|
||||
this.db = browser.storage.local
|
||||
this.db = chrome.storage.local
|
||||
}
|
||||
|
||||
async getChatHistory(id: string): Promise<MessageHistory> {
|
||||
return new Promise((resolve, reject) => {
|
||||
// this.db.get(id, (result) => {
|
||||
// resolve(result[id] || [])
|
||||
// })
|
||||
this.db.get(id).then((result) => {
|
||||
this.db.get(id, (result) => {
|
||||
resolve(result[id] || [])
|
||||
})
|
||||
})
|
||||
@@ -77,10 +73,7 @@ export class PageAssitDatabase {
|
||||
|
||||
async getChatHistories(): Promise<ChatHistory> {
|
||||
return new Promise((resolve, reject) => {
|
||||
// this.db.get("chatHistories", (result) => {
|
||||
// resolve(result.chatHistories || [])
|
||||
// })
|
||||
this.db.get("chatHistories").then((result) => {
|
||||
this.db.get("chatHistories", (result) => {
|
||||
resolve(result.chatHistories || [])
|
||||
})
|
||||
})
|
||||
@@ -133,10 +126,7 @@ export class PageAssitDatabase {
|
||||
|
||||
async getAllPrompts(): Promise<Prompts> {
|
||||
return new Promise((resolve, reject) => {
|
||||
// this.db.get("prompts", (result) => {
|
||||
// resolve(result.prompts || [])
|
||||
// })
|
||||
this.db.get("prompts").then((result) => {
|
||||
this.db.get("prompts", (result) => {
|
||||
resolve(result.prompts || [])
|
||||
})
|
||||
})
|
||||
@@ -179,10 +169,7 @@ export class PageAssitDatabase {
|
||||
|
||||
async getWebshare(id: string) {
|
||||
return new Promise((resolve, reject) => {
|
||||
// this.db.get(id, (result) => {
|
||||
// resolve(result[id] || [])
|
||||
// })
|
||||
this.db.get(id).then((result) => {
|
||||
this.db.get(id, (result) => {
|
||||
resolve(result[id] || [])
|
||||
})
|
||||
})
|
||||
@@ -190,10 +177,7 @@ export class PageAssitDatabase {
|
||||
|
||||
async getAllWebshares(): Promise<Webshare[]> {
|
||||
return new Promise((resolve, reject) => {
|
||||
// this.db.get("webshares", (result) => {
|
||||
// resolve(result.webshares || [])
|
||||
// })
|
||||
this.db.get("webshares").then((result) => {
|
||||
this.db.get("webshares", (result) => {
|
||||
resolve(result.webshares || [])
|
||||
})
|
||||
})
|
||||
@@ -213,10 +197,7 @@ export class PageAssitDatabase {
|
||||
|
||||
async getUserID() {
|
||||
return new Promise((resolve, reject) => {
|
||||
// this.db.get("user_id", (result) => {
|
||||
// resolve(result.user_id || "")
|
||||
// })
|
||||
this.db.get("user_id").then((result) => {
|
||||
this.db.get("user_id", (result) => {
|
||||
resolve(result.user_id || "")
|
||||
})
|
||||
})
|
||||
@@ -474,4 +455,4 @@ export const importPrompts = async (prompts: Prompts) => {
|
||||
for (const prompt of prompts) {
|
||||
await db.addPrompt(prompt)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,3 @@
|
||||
import { Storage, browser } from "wxt/browser"
|
||||
import { deleteVector, deleteVectorByFileId } from "./vector"
|
||||
|
||||
export type Source = {
|
||||
@@ -25,105 +24,89 @@ export const generateID = () => {
|
||||
})
|
||||
}
|
||||
export class PageAssistKnowledge {
|
||||
db: Storage.LocalStorageArea
|
||||
db: chrome.storage.StorageArea
|
||||
|
||||
constructor() {
|
||||
this.db = browser.storage.local
|
||||
this.db = chrome.storage.local
|
||||
}
|
||||
|
||||
getAll = async (): Promise<Knowledge[]> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
// this.db.get(null, (result) => {
|
||||
// if (chrome.runtime.lastError) {
|
||||
// reject(chrome.runtime.lastError)
|
||||
// } else {
|
||||
// const data = Object.keys(result).map((key) => result[key])
|
||||
// resolve(data)
|
||||
// }
|
||||
// })
|
||||
this.db.get(null).then((result) => {
|
||||
const data = Object.keys(result).map((key) => result[key])
|
||||
resolve(data)
|
||||
this.db.get(null, (result) => {
|
||||
if (chrome.runtime.lastError) {
|
||||
reject(chrome.runtime.lastError)
|
||||
} else {
|
||||
const data = Object.keys(result).map((key) => result[key])
|
||||
resolve(data)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
getById = async (id: string): Promise<Knowledge> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.db.get(id).then((result) => {
|
||||
resolve(result[id])
|
||||
this.db.get(id, (result) => {
|
||||
if (chrome.runtime.lastError) {
|
||||
reject(chrome.runtime.lastError)
|
||||
} else {
|
||||
resolve(result[id])
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
create = async (knowledge: Knowledge): Promise<void> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
// this.db.set({ [knowledge.id]: knowledge }, () => {
|
||||
// if (chrome.runtime.lastError) {
|
||||
// reject(chrome.runtime.lastError)
|
||||
// } else {
|
||||
// resolve()
|
||||
// }
|
||||
// })
|
||||
this.db.set({ [knowledge.id]: knowledge }).then(() => {
|
||||
resolve()
|
||||
this.db.set({ [knowledge.id]: knowledge }, () => {
|
||||
if (chrome.runtime.lastError) {
|
||||
reject(chrome.runtime.lastError)
|
||||
} else {
|
||||
resolve()
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
update = async (knowledge: Knowledge): Promise<void> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
// this.db.set({ [knowledge.id]: knowledge }, () => {
|
||||
// if (chrome.runtime.lastError) {
|
||||
// reject(chrome.runtime.lastError)
|
||||
// } else {
|
||||
// resolve()
|
||||
// }
|
||||
// })
|
||||
this.db.set({ [knowledge.id]: knowledge }).then(() => {
|
||||
resolve()
|
||||
this.db.set({ [knowledge.id]: knowledge }, () => {
|
||||
if (chrome.runtime.lastError) {
|
||||
reject(chrome.runtime.lastError)
|
||||
} else {
|
||||
resolve()
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
delete = async (id: string): Promise<void> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
// this.db.remove(id, () => {
|
||||
// if (chrome.runtime.lastError) {
|
||||
// reject(chrome.runtime.lastError)
|
||||
// } else {
|
||||
// resolve()
|
||||
// }
|
||||
// })
|
||||
this.db.remove(id).then(() => {
|
||||
resolve()
|
||||
this.db.remove(id, () => {
|
||||
if (chrome.runtime.lastError) {
|
||||
reject(chrome.runtime.lastError)
|
||||
} else {
|
||||
resolve()
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
deleteSource = async (id: string, source_id: string): Promise<void> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
// this.db.get(id, (result) => {
|
||||
// if (chrome.runtime.lastError) {
|
||||
// reject(chrome.runtime.lastError)
|
||||
// } else {
|
||||
// const data = result[id] as Knowledge
|
||||
// data.source = data.source.filter((s) => s.source_id !== source_id)
|
||||
// this.db.set({ [id]: data }, () => {
|
||||
// if (chrome.runtime.lastError) {
|
||||
// reject(chrome.runtime.lastError)
|
||||
// } else {
|
||||
// resolve()
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// })
|
||||
this.db.get(id).then((result) => {
|
||||
const data = result[id] as Knowledge
|
||||
data.source = data.source.filter((s) => s.source_id !== source_id)
|
||||
this.db.set({ [id]: data }).then(() => {
|
||||
resolve()
|
||||
})
|
||||
this.db.get(id, (result) => {
|
||||
if (chrome.runtime.lastError) {
|
||||
reject(chrome.runtime.lastError)
|
||||
} else {
|
||||
const data = result[id] as Knowledge
|
||||
data.source = data.source.filter((s) => s.source_id !== source_id)
|
||||
this.db.set({ [id]: data }, () => {
|
||||
if (chrome.runtime.lastError) {
|
||||
reject(chrome.runtime.lastError)
|
||||
} else {
|
||||
resolve()
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
@@ -219,4 +202,4 @@ export const importKnowledge = async (data: Knowledge[]) => {
|
||||
for (const d of data) {
|
||||
await db.create(d)
|
||||
}
|
||||
}
|
||||
}
|
||||
178
src/db/vector.ts
178
src/db/vector.ts
@@ -1,5 +1,3 @@
|
||||
import { Storage, browser } from "wxt/browser"
|
||||
|
||||
interface PageAssistVector {
|
||||
file_id: string
|
||||
content: string
|
||||
@@ -13,10 +11,10 @@ export type VectorData = {
|
||||
}
|
||||
|
||||
export class PageAssistVectorDb {
|
||||
db: Storage.LocalStorageArea
|
||||
db: chrome.storage.StorageArea
|
||||
|
||||
constructor() {
|
||||
this.db = browser.storage.local
|
||||
this.db = chrome.storage.local
|
||||
}
|
||||
|
||||
insertVector = async (
|
||||
@@ -24,55 +22,36 @@ export class PageAssistVectorDb {
|
||||
vector: PageAssistVector[]
|
||||
): Promise<void> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
// this.db.get(id, (result) => {
|
||||
// if (chrome.runtime.lastError) {
|
||||
// reject(chrome.runtime.lastError)
|
||||
// } else {
|
||||
// const data = result[id] as VectorData
|
||||
// if (!data) {
|
||||
// this.db.set({ [id]: { id, vectors: vector } }, () => {
|
||||
// if (chrome.runtime.lastError) {
|
||||
// reject(chrome.runtime.lastError)
|
||||
// } else {
|
||||
// resolve()
|
||||
// }
|
||||
// })
|
||||
// } else {
|
||||
// this.db.set(
|
||||
// {
|
||||
// [id]: {
|
||||
// ...data,
|
||||
// vectors: data.vectors.concat(vector)
|
||||
// }
|
||||
// },
|
||||
// () => {
|
||||
// if (chrome.runtime.lastError) {
|
||||
// reject(chrome.runtime.lastError)
|
||||
// } else {
|
||||
// resolve()
|
||||
// }
|
||||
// }
|
||||
// )
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
this.db.get(id).then((result) => {
|
||||
const data = result[id] as VectorData
|
||||
if (!data) {
|
||||
this.db.set({ [id]: { id, vectors: vector } }).then(() => {
|
||||
resolve()
|
||||
})
|
||||
this.db.get(id, (result) => {
|
||||
if (chrome.runtime.lastError) {
|
||||
reject(chrome.runtime.lastError)
|
||||
} else {
|
||||
this.db
|
||||
.set({
|
||||
[id]: {
|
||||
...data,
|
||||
vectors: data.vectors.concat(vector)
|
||||
const data = result[id] as VectorData
|
||||
if (!data) {
|
||||
this.db.set({ [id]: { id, vectors: vector } }, () => {
|
||||
if (chrome.runtime.lastError) {
|
||||
reject(chrome.runtime.lastError)
|
||||
} else {
|
||||
resolve()
|
||||
}
|
||||
})
|
||||
.then(() => {
|
||||
resolve()
|
||||
})
|
||||
} else {
|
||||
this.db.set(
|
||||
{
|
||||
[id]: {
|
||||
...data,
|
||||
vectors: data.vectors.concat(vector)
|
||||
}
|
||||
},
|
||||
() => {
|
||||
if (chrome.runtime.lastError) {
|
||||
reject(chrome.runtime.lastError)
|
||||
} else {
|
||||
resolve()
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
@@ -80,72 +59,56 @@ export class PageAssistVectorDb {
|
||||
|
||||
deleteVector = async (id: string): Promise<void> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
// this.db.remove(id, () => {
|
||||
// if (chrome.runtime.lastError) {
|
||||
// reject(chrome.runtime.lastError)
|
||||
// } else {
|
||||
// resolve()
|
||||
// }
|
||||
// })
|
||||
this.db.remove(id).then(() => {
|
||||
resolve()
|
||||
this.db.remove(id, () => {
|
||||
if (chrome.runtime.lastError) {
|
||||
reject(chrome.runtime.lastError)
|
||||
} else {
|
||||
resolve()
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
deleteVectorByFileId = async (id: string, file_id: string): Promise<void> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
// this.db.get(id, (result) => {
|
||||
// if (chrome.runtime.lastError) {
|
||||
// reject(chrome.runtime.lastError)
|
||||
// } else {
|
||||
// const data = result[id] as VectorData
|
||||
// data.vectors = data.vectors.filter((v) => v.file_id !== file_id)
|
||||
// this.db.set({ [id]: data }, () => {
|
||||
// if (chrome.runtime.lastError) {
|
||||
// reject(chrome.runtime.lastError)
|
||||
// } else {
|
||||
// resolve()
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// })
|
||||
this.db.get(id).then((result) => {
|
||||
const data = result[id] as VectorData
|
||||
data.vectors = data.vectors.filter((v) => v.file_id !== file_id)
|
||||
this.db.set({ [id]: data }).then(() => {
|
||||
resolve()
|
||||
})
|
||||
this.db.get(id, (result) => {
|
||||
if (chrome.runtime.lastError) {
|
||||
reject(chrome.runtime.lastError)
|
||||
} else {
|
||||
const data = result[id] as VectorData
|
||||
data.vectors = data.vectors.filter((v) => v.file_id !== file_id)
|
||||
this.db.set({ [id]: data }, () => {
|
||||
if (chrome.runtime.lastError) {
|
||||
reject(chrome.runtime.lastError)
|
||||
} else {
|
||||
resolve()
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
getVector = async (id: string): Promise<VectorData> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
// this.db.get(id, (result) => {
|
||||
// if (chrome.runtime.lastError) {
|
||||
// reject(chrome.runtime.lastError)
|
||||
// } else {
|
||||
// resolve(result[id] as VectorData)
|
||||
// }
|
||||
// })
|
||||
this.db.get(id).then((result) => {
|
||||
resolve(result[id] as VectorData)
|
||||
this.db.get(id, (result) => {
|
||||
if (chrome.runtime.lastError) {
|
||||
reject(chrome.runtime.lastError)
|
||||
} else {
|
||||
resolve(result[id] as VectorData)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
getAll = async (): Promise<VectorData[]> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
// this.db.get(null, (result) => {
|
||||
// if (chrome.runtime.lastError) {
|
||||
// reject(chrome.runtime.lastError)
|
||||
// } else {
|
||||
// resolve(Object.values(result))
|
||||
// }
|
||||
// })
|
||||
this.db.get(null).then((result) => {
|
||||
resolve(Object.values(result))
|
||||
this.db.get(null, (result) => {
|
||||
if (chrome.runtime.lastError) {
|
||||
reject(chrome.runtime.lastError)
|
||||
} else {
|
||||
resolve(Object.values(result))
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
@@ -156,15 +119,12 @@ export class PageAssistVectorDb {
|
||||
data.forEach((d) => {
|
||||
obj[d.id] = d
|
||||
})
|
||||
// this.db.set(obj, () => {
|
||||
// if (chrome.runtime.lastError) {
|
||||
// reject(chrome.runtime.lastError)
|
||||
// } else {
|
||||
// resolve()
|
||||
// }
|
||||
// })
|
||||
this.db.set(obj).then(() => {
|
||||
resolve()
|
||||
this.db.set(obj, () => {
|
||||
if (chrome.runtime.lastError) {
|
||||
reject(chrome.runtime.lastError)
|
||||
} else {
|
||||
resolve()
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
@@ -204,5 +164,5 @@ export const exportVectors = async () => {
|
||||
|
||||
export const importVectors = async (data: VectorData[]) => {
|
||||
const db = new PageAssistVectorDb()
|
||||
return db.saveImportedData(data)
|
||||
}
|
||||
return db.saveImportedData(data)
|
||||
}
|
||||
Reference in New Issue
Block a user