* feat: tensorrt-llm-extension * fix: loading * feat: add download tensorrt llm runner Signed-off-by: James <james@jan.ai> * feat: update to rollupjs instead of webpack for monitoring extension Signed-off-by: James <james@jan.ai> * feat: move update nvidia info to monitor extension Signed-off-by: James <james@jan.ai> * allow download tensorrt Signed-off-by: James <james@jan.ai> * update Signed-off-by: James <james@jan.ai> * allow download tensor rt based on gpu setting Signed-off-by: James <james@jan.ai> * update downloaded models Signed-off-by: James <james@jan.ai> * feat: add extension compatibility * dynamic tensor rt engines Signed-off-by: James <james@jan.ai> * update models Signed-off-by: James <james@jan.ai> * chore: remove ts-ignore * feat: getting installation state from extension Signed-off-by: James <james@jan.ai> * chore: adding type for decompress Signed-off-by: James <james@jan.ai> * feat: update according Louis's comment Signed-off-by: James <james@jan.ai> * feat: add progress for installing extension Signed-off-by: James <james@jan.ai> * chore: remove args from extension installation * fix: model download does not work properly * fix: do not allow user to stop tensorrtllm inference * fix: extension installed style * fix: download tensorrt does not update state Signed-off-by: James <james@jan.ai> * chore: replace int4 by fl16 * feat: modal for installing extension Signed-off-by: James <james@jan.ai> * fix: start download immediately after press install Signed-off-by: James <james@jan.ai> * fix: error switching between engines * feat: rename inference provider to ai engine and refactor to core * fix: missing ulid * fix: core bundler * feat: add cancel extension installing Signed-off-by: James <james@jan.ai> * remove mocking for mac Signed-off-by: James <james@jan.ai> * fix: show models only when extension is ready * add tensorrt badge for model Signed-off-by: James <james@jan.ai> * fix: copy * fix: add compatible check (#2342) * fix: add compatible check Signed-off-by: James <james@jan.ai> * fix: copy * fix: font * fix: copy * fix: broken monitoring extension * chore: bump engine * fix: copy * fix: model copy * fix: copy * fix: model json --------- Signed-off-by: James <james@jan.ai> Co-authored-by: James <james@jan.ai> Co-authored-by: Louis <louis@jan.ai> * fix: vulkan support * fix: installation button padding * fix: empty script * fix: remove hard code string --------- Signed-off-by: James <james@jan.ai> Co-authored-by: James <james@jan.ai> Co-authored-by: NamH <NamNh0122@gmail.com>
45 lines
1.3 KiB
TypeScript
45 lines
1.3 KiB
TypeScript
import { GpuSetting, MonitoringExtension, executeOnMain } from '@janhq/core'
|
|
|
|
/**
|
|
* JanMonitoringExtension is a extension that provides system monitoring functionality.
|
|
* It implements the MonitoringExtension interface from the @janhq/core package.
|
|
*/
|
|
export default class JanMonitoringExtension extends MonitoringExtension {
|
|
/**
|
|
* Called when the extension is loaded.
|
|
*/
|
|
async onLoad() {
|
|
// Attempt to fetch nvidia info
|
|
await executeOnMain(NODE, 'updateNvidiaInfo')
|
|
}
|
|
|
|
/**
|
|
* Called when the extension is unloaded.
|
|
*/
|
|
onUnload(): void {}
|
|
|
|
/**
|
|
* Returns the GPU configuration.
|
|
* @returns A Promise that resolves to an object containing the GPU configuration.
|
|
*/
|
|
async getGpuSetting(): Promise<GpuSetting | undefined> {
|
|
return executeOnMain(NODE, 'getGpuConfig')
|
|
}
|
|
|
|
/**
|
|
* Returns information about the system resources.
|
|
* @returns A Promise that resolves to an object containing information about the system resources.
|
|
*/
|
|
getResourcesInfo(): Promise<any> {
|
|
return executeOnMain(NODE, 'getResourcesInfo')
|
|
}
|
|
|
|
/**
|
|
* Returns information about the current system load.
|
|
* @returns A Promise that resolves to an object containing information about the current system load.
|
|
*/
|
|
getCurrentLoad(): Promise<any> {
|
|
return executeOnMain(NODE, 'getCurrentLoad')
|
|
}
|
|
}
|