jan/web/services/extensionService.ts
Louis 1143bd3846
refactor: jan extensions (#799)
* refactor: rename plugin to extension
2023-12-01 11:30:29 +07:00

37 lines
999 B
TypeScript

/* eslint-disable @typescript-eslint/no-explicit-any */
'use client'
import { ExtensionType } from '@janhq/core'
import { extensionManager } from '@/extension/ExtensionManager'
export const isCoreExtensionInstalled = () => {
if (!extensionManager.get(ExtensionType.Conversational)) {
return false
}
if (!extensionManager.get(ExtensionType.Inference)) return false
if (!extensionManager.get(ExtensionType.Model)) {
return false
}
return true
}
export const setupBaseExtensions = async () => {
if (
typeof window === 'undefined' ||
typeof window.electronAPI === 'undefined'
) {
return
}
const baseExtensions = await window.electronAPI.baseExtensions()
if (
!extensionManager.get(ExtensionType.Conversational) ||
!extensionManager.get(ExtensionType.Inference) ||
!extensionManager.get(ExtensionType.Model)
) {
const installed = await extensionManager.install(baseExtensions)
if (installed) {
window.location.reload()
}
}
}