diff --git a/electron/core/plugin-manager/execution/Plugin.js b/electron/core/plugin-manager/execution/Plugin.js index 5c6462aee..9d8f25420 100644 --- a/electron/core/plugin-manager/execution/Plugin.js +++ b/electron/core/plugin-manager/execution/Plugin.js @@ -16,11 +16,23 @@ class Plugin { /** @type {boolean} Whether this plugin should be activated when its activation points are triggered. */ active - constructor(name, url, activationPoints, active) { + /** @type {string} Plugin's description. */ + description + + /** @type {string} Plugin's version. */ + version + + /** @type {string} Plugin's logo. */ + icon + + constructor(name, url, activationPoints, active, description, version, icon) { this.name = name this.url = url this.activationPoints = activationPoints this.active = active + this.description = description + this.version = version + this.icon = icon } /** diff --git a/electron/core/plugin-manager/execution/facade.js b/electron/core/plugin-manager/execution/facade.js index d153e283c..206bbc087 100644 --- a/electron/core/plugin-manager/execution/facade.js +++ b/electron/core/plugin-manager/execution/facade.js @@ -69,7 +69,10 @@ export async function getActive() { plugin.name, plugin.url, plugin.activationPoints, - plugin.active + plugin.active, + plugin.description, + plugin.version, + plugin.icon ) ); } diff --git a/electron/core/plugin-manager/pluginMgr/Plugin.js b/electron/core/plugin-manager/pluginMgr/Plugin.js index 3e9ca609f..093e4015f 100644 --- a/electron/core/plugin-manager/pluginMgr/Plugin.js +++ b/electron/core/plugin-manager/pluginMgr/Plugin.js @@ -18,6 +18,8 @@ class Plugin { * @property {string} version Version of the package as defined in the manifest. * @property {Array} activationPoints List of {@link ./Execution-API#activationPoints|activation points}. * @property {string} main The entry point as defined in the main entry of the manifest. + * @property {string} description The description of plugin as defined in the manifest. + * @property {string} icon The icon of plugin as defined in the manifest. */ /** @private */ @@ -75,6 +77,8 @@ class Plugin { this.version = mnf.version this.activationPoints = mnf.activationPoints || null this.main = mnf.main + this.description = mnf.description + this.icon = mnf.icon } catch (error) { throw new Error(`Package ${this.origin} does not contain a valid manifest: ${error}`) diff --git a/electron/core/plugins/data-plugin/package.json b/electron/core/plugins/data-plugin/package.json index 83f148f7e..b0e87ce1e 100644 --- a/electron/core/plugins/data-plugin/package.json +++ b/electron/core/plugins/data-plugin/package.json @@ -1,7 +1,8 @@ { "name": "data-plugin", - "version": "2.1.0", - "description": "", + "version": "1.0.0", + "description": "Jan Database Plugin efficiently stores conversation and model data using SQLite, providing accessible data management", + "icon": "https://raw.githubusercontent.com/tailwindlabs/heroicons/88e98b0c2b458553fbadccddc2d2f878edc0387b/src/20/solid/circle-stack.svg", "main": "dist/index.js", "author": "Jan", "license": "MIT", diff --git a/electron/core/plugins/inference-plugin/package.json b/electron/core/plugins/inference-plugin/package.json index ff4ddcb2c..3bf6cf614 100644 --- a/electron/core/plugins/inference-plugin/package.json +++ b/electron/core/plugins/inference-plugin/package.json @@ -1,9 +1,10 @@ { "name": "inference-plugin", - "version": "0.0.1", - "description": "", + "version": "1.0.0", + "description": "Inference Plugin, powered by @janhq/nitro, bring a high-performance Llama model inference in pure C++.", + "icon": "https://raw.githubusercontent.com/tailwindlabs/heroicons/88e98b0c2b458553fbadccddc2d2f878edc0387b/src/20/solid/command-line.svg", "main": "dist/index.js", - "author": "James", + "author": "Jan", "license": "MIT", "activationPoints": [ "init" diff --git a/electron/core/plugins/model-management-plugin/package.json b/electron/core/plugins/model-management-plugin/package.json index dd7d61d3c..492826355 100644 --- a/electron/core/plugins/model-management-plugin/package.json +++ b/electron/core/plugins/model-management-plugin/package.json @@ -1,7 +1,8 @@ { "name": "model-management-plugin", - "version": "0.0.1", - "description": "", + "version": "1.0.0", + "description": "Model Management Plugin leverages the HuggingFace API for model exploration and seamless downloads", + "icon": "https://raw.githubusercontent.com/tailwindlabs/heroicons/88e98b0c2b458553fbadccddc2d2f878edc0387b/src/20/solid/queue-list.svg", "main": "dist/index.js", "author": "James", "license": "MIT", diff --git a/electron/core/plugins/monitoring-plugin/package.json b/electron/core/plugins/monitoring-plugin/package.json index 34d110ab5..2c3598bd5 100644 --- a/electron/core/plugins/monitoring-plugin/package.json +++ b/electron/core/plugins/monitoring-plugin/package.json @@ -1,7 +1,8 @@ { "name": "monitoring-plugin", - "version": "0.0.1", - "description": "", + "version": "1.0.0", + "description": "Utilizing systeminformation, it provides essential System and OS information retrieval", + "icon": "https://raw.githubusercontent.com/tailwindlabs/heroicons/88e98b0c2b458553fbadccddc2d2f878edc0387b/src/20/solid/cpu-chip.svg", "main": "dist/bundle.js", "author": "Jan", "license": "MIT", diff --git a/web/app/_components/Preferences.tsx b/web/app/_components/Preferences.tsx index 4f2c62878..ffa520c48 100644 --- a/web/app/_components/Preferences.tsx +++ b/web/app/_components/Preferences.tsx @@ -5,7 +5,7 @@ import { plugins, extensionPoints, activationPoints, -} from "../../../electron/core/plugin-manager/execution/index"; +} from "@/../../electron/core/plugin-manager/execution/index"; import { ChartPieIcon, CommandLineIcon, @@ -188,7 +188,7 @@ export const Preferences = () => { Installed Plugins -
+
{activePlugins .filter( (e) => @@ -196,41 +196,51 @@ export const Preferences = () => { e.name.toLowerCase().includes(search.toLowerCase()) ) .map((e) => ( -
- -
- {e.name} -
-

- Activation: {e.activationPoints} -

-

- Url: {e.url} -

-
- - +
+ + +

+ {e.description ?? "Jan's Plugin"} +

+
+ + +
))}