* feat: adding create bot functionality Signed-off-by: James <james@jan.ai> * update the temperature progress bar Signed-off-by: James <james@jan.ai> * WIP baselayout * Mapping plugins with available preferences * Added loader component * WIP working another screen * Cleanup types and avoid import one by one * Prepare bottom bar * Add css variables colors to enable user select the accent * Enable change accent color * Seperate css variable * Fix conflict * Add blank state of my model empty * Restyle explore models page * Enable user config left sidebar * Restyle my models page * WIP styling chat page * Restyling chat message * Fix conflict * Adde form preferences setting plugins * Fixed form bot info * Sidebar bot chat * Showing rightbar for both setting when user created bot * Fix style bot info * Using overflow auto intead of scroll * Remove script built UI from root package * Fix missig import * Resolve error linter * fix e2e tests Signed-off-by: James <james@jan.ai> --------- Signed-off-by: James <james@jan.ai> Co-authored-by: James <james@jan.ai>
61 lines
1.5 KiB
TypeScript
61 lines
1.5 KiB
TypeScript
'use client'
|
|
import {
|
|
extensionPoints,
|
|
plugins,
|
|
} from '../../electron/core/plugin-manager/execution/index'
|
|
import {
|
|
CoreService,
|
|
DataService,
|
|
InferenceService,
|
|
ModelManagementService,
|
|
} from '@janhq/core'
|
|
|
|
export const isCorePluginInstalled = () => {
|
|
if (!extensionPoints.get(DataService.GetConversations)) {
|
|
return false
|
|
}
|
|
if (!extensionPoints.get(InferenceService.InitModel)) {
|
|
return false
|
|
}
|
|
if (!extensionPoints.get(ModelManagementService.DownloadModel)) {
|
|
return false
|
|
}
|
|
return true
|
|
}
|
|
export const setupBasePlugins = async () => {
|
|
if (
|
|
typeof window === 'undefined' ||
|
|
typeof window.electronAPI === 'undefined'
|
|
) {
|
|
return
|
|
}
|
|
const basePlugins = await window.electronAPI.basePlugins()
|
|
|
|
if (
|
|
!extensionPoints.get(DataService.GetConversations) ||
|
|
!extensionPoints.get(InferenceService.InitModel) ||
|
|
!extensionPoints.get(ModelManagementService.DownloadModel)
|
|
) {
|
|
const installed = await plugins.install(basePlugins)
|
|
if (installed) {
|
|
window.location.reload()
|
|
}
|
|
}
|
|
}
|
|
|
|
export const execute = (name: CoreService, args?: any) => {
|
|
if (!extensionPoints.get(name)) {
|
|
alert('Missing extension for function: ' + name)
|
|
return undefined
|
|
}
|
|
return extensionPoints.execute(name, args)
|
|
}
|
|
|
|
export const executeSerial = (name: CoreService, args?: any) => {
|
|
if (!extensionPoints.get(name)) {
|
|
alert('Missing extension for function: ' + name)
|
|
return Promise.resolve(undefined)
|
|
}
|
|
return extensionPoints.executeSerial(name, args)
|
|
}
|