chore: add facades refactor: core module export refactor: inference plugin - deprecate function registering (#537) * refactor: revamp inference plugin as class - deprecate function registering * refactor: monitoring plugin - deprecate service registering (#538) refactor: revamp inference plugin as class - deprecate function registering chore: update import refactor: plugin revamp - model management chore: update build steps and remove experimental plugins refactor: remove pluggable electron chore: add sorting for conversations chore: build plugins for testing chore: consistent plugin directory name chore: docs chore: fix CI chore: update conversation prefix
35 lines
875 B
TypeScript
35 lines
875 B
TypeScript
'use client'
|
|
import { PluginType } from '@janhq/core'
|
|
import { pluginManager } from '@plugin/PluginManager'
|
|
|
|
export const isCorePluginInstalled = () => {
|
|
if (!pluginManager.get(PluginType.Conversational)) {
|
|
return false
|
|
}
|
|
if (!pluginManager.get(PluginType.Inference)) return false
|
|
if (!pluginManager.get(PluginType.Model)) {
|
|
return false
|
|
}
|
|
return true
|
|
}
|
|
export const setupBasePlugins = async () => {
|
|
if (
|
|
typeof window === 'undefined' ||
|
|
typeof window.electronAPI === 'undefined'
|
|
) {
|
|
return
|
|
}
|
|
const basePlugins = await window.electronAPI.basePlugins()
|
|
|
|
if (
|
|
!pluginManager.get(PluginType.Conversational) ||
|
|
!pluginManager.get(PluginType.Inference) ||
|
|
!pluginManager.get(PluginType.Model)
|
|
) {
|
|
const installed = await pluginManager.install(basePlugins)
|
|
if (installed) {
|
|
window.location.reload()
|
|
}
|
|
}
|
|
}
|