chore: try catch legacy assistant creation

This commit is contained in:
Louis 2024-10-21 21:42:55 +07:00
parent 718ee8dfa9
commit 523c745150
No known key found for this signature in database
GPG Key ID: 44FA9F4D33C37DE2
2 changed files with 73 additions and 67 deletions

View File

@ -63,12 +63,15 @@ export default class JanAssistantExtension extends AssistantExtension {
}
async getAssistants(): Promise<Assistant[]> {
try {
// get all the assistant directories
// get all the assistant metadata json
const results: Assistant[] = []
const allFileName: string[] = await fs.readdirSync(
JanAssistantExtension._homeDir
)
for (const fileName of allFileName) {
const filePath = await joinPath([
JanAssistantExtension._homeDir,
@ -96,6 +99,10 @@ export default class JanAssistantExtension extends AssistantExtension {
}
return results
} catch (err) {
console.debug(err)
return [this.defaultAssistant]
}
}
async deleteAssistant(assistant: Assistant): Promise<void> {
@ -112,7 +119,10 @@ export default class JanAssistantExtension extends AssistantExtension {
}
private async createJanAssistant(): Promise<void> {
const janAssistant: Assistant = {
await this.createAssistant(this.defaultAssistant)
}
private defaultAssistant: Assistant = {
avatar: '',
thread_location: undefined,
id: 'jan',
@ -144,7 +154,4 @@ Helpful Answer:`,
file_ids: [],
metadata: undefined,
}
await this.createAssistant(janAssistant)
}
}

View File

@ -87,7 +87,7 @@ export default class JanModelExtension extends ModelExtension {
* should compare and try import
*/
let currentModels: Model[] = []
try {
if (!localStorage.getItem(ExtensionEnum.downloadedModels)) {
// Updated from an older version than 0.5.5
// Scan through the models folder and import them (Legacy flow)
@ -96,15 +96,14 @@ export default class JanModelExtension extends ModelExtension {
return models ?? []
})
} else {
try {
currentModels = JSON.parse(
localStorage.getItem(ExtensionEnum.downloadedModels)
) as Model[]
}
} catch (e) {
currentModels = []
console.error(e)
}
}
/**
* Here we are filtering out the models that are not imported